Hallo Leute Was soll ich sagen. Für knappe 17 Euro, inclusive Versand aus China, kann man nichts Falsch machen. Und so ist es! Heute ist das kleine Board mit einem Anlogic FPGA angekommen. Die Entwickungsumgebung - Tang Dynasty - des chinesischen Herstellers ließ sich problemlos von der Sipeed Webseite herunterladen und auf Windows 10 installieren. Diese gibt es auch für Linux. Die VHDL/Verilog Entwicklungsumgebung ist in englischer Sprache. Sie ähnelt wohl sehr der Altera/Intel QuartusII IDE. Um die ersten Versuche mit dem RISC-V Cores zu machen gibt es sogar einen Port auf der Arduino Platform. Beschrieben hier: https://www.programmersought.com/article/1775553752/ Nach ein wenig Foren lesen und suchen im WWW hab ich sogar die Dokumentation ebenfalls in englischer Sprache gefunden. Siehe hier: https://github.com/kprasadvnsi/Anlogic_Doc_English Was hat das kleine Board - wo ich wirklich verwundet war, wie klein es doch ist - alles on Board: - Anlogic EG4S20BG256 mit 19600 LUT/FF - Onboard 130KB SRAM / 64MBit SDRAM - 3-channel DCDC power supply chip - Onboard FPGA JTAG Download Debugger - Onboard RGB LED - FPC40P socket, can be connected to RGB LCD (mit Backlight Stromsenke) - Resistive touch screen controller for I2C interface, used with RGB LCD - FPC24P socket, can be connected to DVP camera, high speed ADC module - FPGA configuration Flash, 8Mbit User Flash, nor/nand optional - micro SD-Card Slot https://www.fiyatgrafik.com/urun/lichee-tang-fpga-gelistirme-kurulu-risc-v-cekirdek.html Es gibt auch das ein oder andere Beispiel zum Starten in Verilog: https://github.com/Lichee-Pi/Tang_FPGA_Examples Hier noch ein paar Webseiten wo der Einstieg/Start und die Installation der IDE sowie die die Verwendung der Beispiele beschrieben ist. https://justanotherelectronicsblog.com/?p=470 https://tang.sipeed.com/en/hardware-overview/lichee-tang/ Also ich hab sehr schnell meine TFT Displays testen können. Jetzt will ich den RISC-V ausprobieren. Über Arduino klappt noch nicht so richtig. Vielleicht liegt es an dem JTAG Adapter. Ich habe nicht den Originalen. Was haltet Ihr von diesem kleinen Board? Arbeitet oder experimentiert denn schon jemand damit? MfG Steffen -
:
Bearbeitet durch User
>Was haltet Ihr von diesem kleinen Board? Sieht ziemlich gut aus. Ich habe mir gerade eben ein BeMicro MAX10 gekauft Beitrag "Re: MAX1000 ADC Demo" Das bekommt man für ~22€. Es ist etwas größer als das Lichee Tang. Dadurch kommt man besser an die Anschlüsse. Das FPGA ist etwas kleiner als das Lichee: 8,000 LEs 414 Kbit (Kb) M9K memory 256 Kbit (Kb) user flash memory 2 phase locked loops (PLLs) 24 18x18-bit multipliers 1 ADC block – 1 MSa/sec, 12-bit, 18-channels 17 analog inputs 1 temperature sense diode 250 general purpose input/output (GPIO) Es hat noch etwas Peripherie mit drauf: 8MB SDRAM (4Mb x 16) (ISSI IS42S16400) Accelerometer, 3-Axis, SPI interface (Analog Devices ADXL362) DAC, 12-bit, SPI interface (Analog Devices AD5681) Temperature sensor, I2C interface (Analog Devices ADT7420) Thermal resistor Photo resistor Wie hast du den Monitoranschluss auf dem Bild gemacht? Ist das Flex-PCB Standard und kann man das irgendwo gleich mit bestellen? >Arbeitet oder experimentiert denn schon jemand damit? Ich würde gerne, stelle aber gerade wieder fest, dass man immer wieder in Probleme mit den unterschiedlichen Entwicklungsumgebungen läuft.
Mich würde mal interessieren, wo man die Bausteine herbekommen kann und was sie so ungefähr kosten.
FPGaaaaah schrieb: > Mich würde mal interessieren, wo man die Bausteine herbekommen > kann und was sie so ungefähr kosten. Meinst du nur die einzelne FPGA oder das Modul? Wenn du das Modul meinst, hab ich es bei Seeed gesehen. Ich selber habe es dann bei ebay gekauft. Ebay-Artikel Nr. 183427233975 chris_ schrieb: > Wie hast du den Monitoranschluss auf dem Bild gemacht? Ist das Flex-PCB > Standard und kann man das irgendwo gleich mit bestellen? Wie meinst du das? Also der FPC Anschluss auf dem Board ist Standard belegt. Also 1 - -LED Backlight 2 - +LED Backlight 3 - GND 4 - Vcc Display 5 - R0 6 - R1 .... 39 - XL Touchscreen 40 - YU Touchscreen Siehe Bild oben Die Adapterplatine hab ich mir wo anders bestellt. Ich musste dies machen, da das Display (640×480) nur ein 30Pin Interface besitzt und dazu diese speziellen Kabel mit Stecker dazu waren.
:
Bearbeitet durch User
FPGaaaaah schrieb: > Und was schafft der FPGA denn so für Takte? Wenn ich das so richtig gelesen habe dann kann man über die 4 internen PLL's wohl zwischen 4..400 MHz erzeugen können. Der schon vorinstallierte RISC-V arbeitet wohl mit 16MHz.
:
Bearbeitet durch User
Hier mal alle relevanten Auszüge aus dem Datenblatt zum Takt IN/OUT und den einzelnen Modulen. Einen 12Bit 1MSPS ADC mit 8 analog Inputs und 29 DSP's mit 18x18 Bit Multiplier hat der FPGA übrigens auch an Bord.
Steffen H. schrieb: > Meinst du nur die einzelne FPGA oder das Modul? Ich meinte schon ein einzelnes FPGA, so zum Auflöten. Mir ist schon klar, dass der intern maximal mögliche Takt von der Logik abhängt aber kann man mit typischen State-machines so um die 100MHz schaffen, wie man es z.B. von den Xilinx Spartan FPGAs gewohnt ist? Sind die PLLs vom Funktionsumfang ähnlich der DCMs von Xilinx oder bieten sie einen eher spärlichen Funktionsumfang wie die ice40 FPGAs von Lattice wo man gerade einmal einen die Phase um 90° drehen und einen maximalen Delay von 2.4ns draufpacken kann?
FPGaaaaah schrieb: > Aber kann man mit typischen State-machines so um die 100MHz > schaffen, wie man es z.B. von den Xilinx Spartan FPGAs gewohnt ist? > > Sind die PLLs vom Funktionsumfang ähnlich der DCMs von Xilinx oder > bieten sie einen eher spärlichen Funktionsumfang wie die ice40 FPGAs von > Lattice wo man gerade einmal einen die Phase um 90° drehen und einen > maximalen Delay von 2.4ns draufpacken kann? Dies gilt es zu erforschen. Also die PLL hat hat schon so einiges drin. Aber so tief steck ich ehrlich gesagt noch nicht drin bei den FPGA's um darüber Aussagen treffen zu können. Aber die Phase kann man von 0 .. 315° in 45°-Schritten zur VCO drehen. Ich hänge aber gerne mal das Datasheet des EG4S20 mit an. Da steht einiges ab Seite 32 zur PLL und auf Seite 76 die technischen Infos darüber.
Steffen H. schrieb: > Was soll ich sagen. Für knappe 17 Euro, inclusive Versand aus China, > kann man nichts Falsch machen. Und so ist es! Doch, man kann bei dem günstigen Preis vergessen seinen eigenen Zeitaufwand zu berücksichtigen. Wie viel würdest Du dafür bezahlen, nicht Tage mit der Suche nach undokumentieren Fehler zu verbringen oder dich mit einer instabilen Toolchain herumzuschlagen? Oder dem Fakt dass man sich in eine Toolchain ohne Industrierelevanz einarbeitet? Das ist das gleiche Thema wie mit den RPi clones, den $1 Linux SOCs, Bluepill clones usw. Also, wie gut ist die Toolchain? Spannend wäre es wohl eher, wenn auch die OSS FPGA-Toolchains supported werden. Die sind zwar auch noch in ihren Anfängen, gegenüber der ganzen Vendor-Locked Monstersoftware aber wirklich ein frischer Wind. Wenn die Beschäftigung mit einer exotischen Toolchain das das Ziel ist, dann bitte meinen KOmmentar vergessen :)
:
Bearbeitet durch User
Tim . schrieb: > Steffen H. schrieb: >> Was soll ich sagen. Für knappe 17 Euro, inclusive Versand aus China, >> kann man nichts Falsch machen. Und so ist es! > > Doch, man kann bei dem günstigen Preis vergessen seinen eigenen > Zeitaufwand zu berücksichtigen. Wie viel würdest Du dafür bezahlen, > nicht Tage mit der Suche nach undokumentieren Fehler zu verbringen oder > dich mit einer instabilen Toolchain herumzuschlagen? Oder dem Fakt dass > man sich in eine Toolchain ohne Industrierelevanz einarbeitet? Ich hab das ja auch auf dem Preis bezogen und nicht auf irgendwelche folgenden Arbeitsleistungen. Und ja, du hast teils Recht. Leider ist es genau so, dass die Chinesen es noch nicht können Ihre Produkte ordentlich zu dokumentieren, zu validieren und verifizieren. Allerdings bin hier doch schon etwas überrascht wie gut dokumentiert es doch ist. Aber für industrielle oder kommerzielle Zwecke, wo ich Garantien als Hersteller geben muss, würde ich es jetzt wahrscheinlich nicht einsetzen. Aber zum rumexperimentieren und ein wenig mehr über Risc-V zu lernen doch schon.
Tim . schrieb: > Wie viel würdest Du dafür bezahlen, > nicht Tage mit der Suche nach undokumentieren Fehler zu verbringen oder > dich mit einer instabilen Toolchain herumzuschlagen? Eine Lizenz für Xilinx kostet ~$3500. Da bekommst Du mit jeder Version neue undokumentierte Fehler. Die Stabilität hängt gefühlt von der Mondphase ab... Bei anderen großen FPGA-Herstellern sieht es nicht unbedingt besser aus. BTDT. Duke
Tim . schrieb: > Doch, man kann bei dem günstigen Preis vergessen seinen eigenen > Zeitaufwand zu berücksichtigen. Wie viel würdest Du dafür bezahlen, > nicht Tage mit der Suche nach undokumentieren Fehler zu verbringen oder > dich mit einer instabilen Toolchain herumzuschlagen? Oder dem Fakt dass > man sich in eine Toolchain ohne Industrierelevanz einarbeitet? Prust...ich lach mir den Arsch ab, bzw. könnte ich wenn es nicht so traurig wäre. Du führst die Suche nach undokumentierten Fehlern bzw. generell instabile Toolchains in Feld wenn auf der anderen Seite Xilinx Vivado zur Auswahl steht? Witzbold. Duke Scarring schrieb: > Eine Lizenz für Xilinx kostet ~$3500. Da bekommst Du mit jeder Version > neue undokumentierte Fehler. Die Stabilität hängt gefühlt von der > Mondphase ab... Den Preis würd ich ja akzeptieren, was Xilinx da aber als "Produkt" abliefert sollte in meinen Augen bestraft werden können. Selten war ich gezwungen, mit so einem Scheisshaufen an Software arbeiten zu müssen. Es hat eigentlich eine gewisse Komik, wenn ein Hersteller zwar absolute Hochtwchnologie beherrscht, aber dann daran scheitert nach dutzenden Iterationen eine funktionierende GUI um seine Toolchain zu packen.
Steffen H. schrieb: > Leider ist es genau so, dass die Chinesen es noch nicht > können Ihre Produkte ordentlich zu dokumentieren, > zu validieren und verifizieren. Ich habe voriges Jahr erfahren können, wie das in der Praxis aussehen kann... und da spielen die hier gefragten Datenblätter und Dokumentationen schlicht keine Rolle. Firma A geht zu Firma B und fragt, ob Chip C die Funktion F beherrscht und bekommt eine (kompetente) Antwort. Wenn Initialisierungen oder Firmwares nötig sind, dann werden die zugeschnitten und geliefert. Funktioniert etwas nicht, hat man am anderen Ende jemanden, der genau die Informationen liefert, die man anfragt. Wenn alles läuft, kommt die große Bestellung. Ich war recht beeindruckt, wie reibungslos das lief. Und nein, obwohl meine Aufgabe der Treiber für den Chip war, hatte ich kein Datenblatt. Nur eine Textdatei mit den paar wichtigen Registern (Hersteller X) bzw. eine Excel-Tabelle (Hersteller Y). In letztere klopfte man vorne die Randbedingungen rein und bekam hinten die korrekte Registersequenz raus. Die Hardwareentwickler bekamen andere Informationen und spezielle Testfirmware, sowie fertige Entwicklerboards mit Referenzschaltung geliefert, um die Eignung zu prüfen und ins Produkt zu designen.
TFT 640x480 als Terminal Monitor mit dem Lichee Tang Primer FPGA. Großen Dank an "Zigazou" aka Frédéric Bisson. Ich fand sein Project "MyTerminal" auf GitHub das für einen VGA Monitor 1280x1024 geschrieben ist und passte es für das 640x480'er TFT an. Es gibt einen 1024 Zeichen großen 16x20 Videotex Font und eine 16 Farben Palette für Vor- und Hinterdergrund Farbe der Schrift. Die Kommunikation erfolgt über UART 8N1 115200 Baud. Dazu können für jedes Zeichen Attribute wie blinken, invers, doppelte Größe in horizontaler/vertikaler oder beider Richtungen eingestellt werden. Dazu kommt noch die Auswahl der Schreibrichtung. Ebenfalls als Attribut. Von links-oben nach rechts-unten oder von rechts-oben nach links-unten und auch die beiden Pedante zu unten nach oben. Die Ansicht rutscht allen Text nach oben wenn die letzte Zeile geschrieben wurde. Das was mich hierbei am meisten interessoert hat ist die Umsetzung. Es werden FiFo als UART Buffer genutzt. Auch der interne SDRAM kommt zur Nutzung. Alles in allem - Ein schönes Projekt
:
Bearbeitet durch User
Hier mal zur Ansicht das 32bit breite Attributen Register, so wie es in den 32bit breiten SDRAM gespeichert wird. Außerdem mal noch den 1024'er Videotex Zeichensatz.
Steffen H. schrieb: > Großen Dank an "Zigazou" aka Frédéric Bisson. Ich fand sein Project > "MyTerminal" auf GitHub das für einen VGA Monitor 1280x1024 geschrieben Bevor jemand danach fragt: https://github.com/Zigazou/myterminal Nette Projekte da. Sehr Französisch mit den ganzen Minitel Projekten :-) Steffen H. schrieb: > Alles in allem - Ein schönes Projekt Ich nehme an, dass dein Source Code dann auch bald mal irgendwo online gestellt wird? Mindestens um Frédéric den Dank an sein Projekt auch aktiv zu zeigen.
:
Bearbeitet durch User
Christoph Z. schrieb: > Bevor jemand danach fragt: 🤣 Sehr Aufmerksam von dir ^^ :) Christoph Z. schrieb: > Ich nehme an, dass dein Source Code dann auch bald mal irgendwo online > gestellt wird? Mindestens um Frédéric den Dank an sein Projekt auch > aktiv zu zeigen. Würd ich gerne teilen. Auf GitHub weiß ich allerdings nicht wie das geht. Ich kenne nur Respository clonen.
Steffen H. schrieb: > Würd ich gerne teilen. Auf GitHub weiß ich allerdings nicht wie das > geht. Ich kenne nur Respository clonen. Wenn du einen Account auf GH hast, dann oben rechts das "+" und dann entweder "New" oder "Import" Repository. Und dann halt entweder manuell die Sourcen per Webinterface reinkopieren/-klopfen oder per ssh pushen.
Steffen H. schrieb: > Würd ich gerne teilen. Auf GitHub weiß ich allerdings nicht wie das > geht. Ich kenne nur Respository clonen. Auf Github einloggen, zum orignal Repository gehen und rechts oben auf Fork klicken. Schon hast du ein gleichnamiges Repo in deinem Github Account. Danach machst du einen Klon von DEINEM Repo anstatt vom Original und legst am Besten gleich als allererstes einen neuen Branch an, damit deine Änderungen sauber Auseinandergehalten werden können. Mit deinem Repo kannst du dann soweit arbeiten wie mit jedem anderen, das du selber angelegt hast. Zusätzlich hast du jetzt auf Github die Funktionen zum Erstellen und Verwalten von Pull-Requests zur Verfügung. Das braucht dann auch ein bisschen Einarbeitung, damit einem klar ist was da wie passiert, ist aber eigentlich nicht kompliziert (Bei Git stehe ich manchmal auch länger auf dem Schlauch, bis es mir dann endlich Klick macht).
Ich hab mir das gerade auch mal angeschaut. Dabei hat mich der mips Prozessor nicht weiter interessiert, ich hab den nur zu testzwecken mal uebersetzt. Aber den Compiler hab ich mir z.B geschenkt! Basis ist diese Anleitung aus dem Link weiter oben: https://justanotherelectronicsblog.com/?p=470 Ich hab bei mir ein aktuelles Centos7 laufen. Auf der obigen Seite gibt es einen Link auf die Version 4.2 der Entwicklungsumgebung. Die Installation ist nun sagen wir mal ungewoehnlich. Direktory auspacken, binary mit den Laufzeitrechten versehen und dann mit td -gui starten. Das hat den Charme von DOS3.3 1985. Dann kann man das Projekt Tang_E203_Mini oeffnen. Leider bricht die Synthese nach kurzer Zeit ab. Grund ist ein abgelaufendes Lizenzfile ./licence/Anlogic.lic Das ist natuerlich schonmal kacke! Eine Software die man nur bis zu einem bestimmten Verfallsdatum nutzen kann ist doch irgendwie bloed oder? Aktuelle Versionen und Lizenzfiles kann man hier bekommen: http://dl.sipeed.com/TANG/Primer/IDE/ Zwei Probleme. Die neueste dort downloadbare Version laeuft bei mir nicht. Grund ist das zwei meiner Systemlibaries zu alt sind. Das zeigt man wieder die Inkompetenz heutiger Softwareentwicklung die nicht mehr versteht was sie da eigentlich macht. (palmface) Man koennte sich allerdings dort ein aktuelles Lizenzfile besorgen, umbenennen und nach ./licence/ kopieren. Leider ist das neueste dort auch gerade abgelaufen. (palmface2) Interessanterweise gibt es hier einen lustigen Patch: http://tanta.sinriv.com/psg/2019-8-31:19:28:32 welcher dem System eine andere Zeit unterschiebt. Damit laeuft die Oberlaeche dann und der mips-prozessor laesst sich uebersetzen. finish command "bitgen -bit e203egmini_new.bit -version 0X00 -g ucode:00000000100110100000000000000000" in 2.237796s wall, 26.620000s user + 0.050000s system = 26.670000s CPU (1191.8%) BTW: Die Entwicklungsumgebung ist 10x kleiner und 10x schneller wie das was Xilinx so abliefert. Alleine das zaubert ein Laecheln aufs Gesicht! Der hat bei mir gerade das Teil in 26s uebersetzt und dabei alle 16core genutzt. Gefuehltes Gesamtergebnis: Gemischt. Installation und Lizenzierung irgendwie kacke, aber man ist da ja von Xilinx nicht verwoehnt. Olaf
Wenn ich das richtig sehe kann man sich hier wohl das Lizenzfile generieren: http://www.anlogic.com/down.aspx?TypeId=23&fid=t14:23:14 Also jedenfalls wenn man chinesisch kann. :-D Olaf