Hallo,
meine letzte Schulung für FPGA war im Jahre 2000 und seitdem nie wieder
das Thema gehabt. Ich möchte mich fürs Hobby gern darin etwas
einarbeiten und einfache Schaltungen mit LED, vielleicht noch eine CPU
Anbindung realisieren. Das ganze aber nicht mehr in Schematic Entry wie
damals sondern als VHDL. Grundsätzlich auch gern CLPD's, wenn man damit
Timer usw auch gestalten kann!
Kann mir jemand eine Starterhardware und Synthese-Software empfehlen
(mit viel Blinki-LED drauf), wo man schnell ein Aha Erlebnis hat, statt
frustriert nach Stunden aufzugeben? Dazu dann noch ein pdf etc "FPGA für
kleine Jungs", mit dem ein 48-jähriger Diplom-Ingenieur umgehen kann?
Grüße,
Christian
Ich hätte jetzt mal das MimasV2 von Numato empfohlen. Nettes Board mit
allerlei Schnickschnack zu nem günstigen Preis. Die Doku und Tutorials
vom Hersteller sind auch recht brauchbar.
Christian J. schrieb:> Kann mir jemand eine Starterhardware und Synthese-Software empfehlen> (mit viel Blinki-LED drauf), wo man schnell ein Aha Erlebnis hat, statt> frustriert nach Stunden aufzugeben?
Ich würde heutzutage zwecks Übersichtlichkeit zu einem MachXO2 raten.
Allerdings musst du da die LEDs selber ranbasteln:
http://www.latticesemi.com/Products/DevelopmentBoardsAndKits/MachXO2BreakoutBoard.aspx
Dafür ist die Toolchain pfeilschnell und das FPGA für Steuerungsaufgaben
und Hobbyeinsatz dank des integrierten Flashs, des OnChip Oszillators
und der Versorgungsmöglichkeit mit einer einzigen 3,3V Spannung echt
eine Punktlandung...
Lothar M. schrieb:> Ich würde heutzutage zwecks Übersichtlichkeit zu einem MachXO2 raten.
Hallo Lothar,
wie steht es da mit der Toolchain? Ist die frei verfügbar für privat?
Grüsse,
René
René H. schrieb:> wie steht es da mit der Toolchain? Ist die frei verfügbar für privat?
Ja, nennt sich Lattice Diamond.
Nervig ist nur, das man jährlich den (kostenlosen) Lizenz-Key neu
anfordern muß.
Lothar M. schrieb:> Ich würde heutzutage zwecks Übersichtlichkeit zu einem MachXO2 raten.
Dem stimme ich zu.
> Allerdings musst du da die LEDs selber ranbasteln:
Hier sind die LEDs schon drauf:
http://www.digikey.com/catalog/en/partgroup/machxo2-evaluation-board/41043
Und eine kleine CPU (z.B.: die ZPU) passt da auch locker rein. BTDT.
Duke
Was wäre von sowas zu halten? Gibts da ne Tool Chain für?
http://www.amazon.in/pantech-solutions-V1-SPARTAN6-STARTER/dp/B00RBNUHZ2
So ein wenig 7-Segment, Schalter etc sollte schon drauf sein und ganz
wichtig eben, dass das mit einer freien Tool Chain zusammen spielt,
idealerweise per USB, sonst halt per JTAG Interface.
Ich kann sonst noch den Papilio (http://papilio.cc) auf der Xilinx-Seite
empfehlen. Der kleine 250k hat etwas mehr Platz als der MachXO2 7000er
und es gibt eine Menge Spielzeug zum Anstecken, wie auch div.
Referenzlösungen.
Auch wenn mir zuerst der Schreck in die Knochen fuhr als ich dieses
"....ino" las, so scheint mir dieser Papilio genau das richtige für den
Start zu sein! Die Komplexität erstmal verborgen, so dass schnell
Erfolgserlebnisse kommen und dann wuselt man sich tiefer rein. Das Spiel
Pacman scheint mir aber schon High End zu sein, das ist schon auf
dem Cortex M4 Demo Board recht anspruchsvoll.
Ich glaube dass ich mir das mal bestellen werde. Eine Frage dazu aber:
Hat sich dieses Board weit genug verbreitet, so dass ein gewisser
Reifegrad vorhanden ist und genügend Anbieter für "Wings"? Ich erinnere
mich da an Sachen wie "Cubietruck", der nie aus dem Prototypen Status
heraus kam und schlichtweg tausend Bugs hatte, niemals einen Reiefgrad
wie der Raspi erreichte.
Kan das Teil auch in echtem VHDL bespielt werden? Ich persönlich tue
mich leichter mit Programmieren (auch wenn es eine Synthese ist) als mit
Modellieren.
gruss,
Christian
"Kan das Teil auch in echtem VHDL bespielt werden? "
Da ist ein Spartan-6 FPGA drauf, und das wird immer mit einem Bitfile
"bespielt" (aka konfiguriert). Woher das kommt, ist erstmal völlig egal.
Wenn Du aber wirklich etwas über FPGA wissen willst, solltest Du direkt
mit VHDL anfangen. Mit VHDL modellierst Du übrigens auch, nur eben in
Textform. Du schreibst ein VHDL-Modell, und das wird von der
Synthesesoftware und über einige Zwsichenschritte in ein Bitfile
transformiert.
Christian J. schrieb:> Kan das Teil auch in echtem VHDL bespielt werden?
Definiere deine Erwartungen an "echtes VHDL" mal genauer.
> Ich persönlich tue mich leichter mit ProgrammierenVHDL ist zwar nach neuer Lesart eine "Programmiersprache", aber du wirst
gnadenlos Schiffbruch erleiden, wenn du mit VHDL programmierst wie mit
C...
Zum Thema "Programmieren mit VHDL" gibt es übrigens immer wieder
ausführliche Diskussionen wie zuletzt im
Beitrag "Entstehung von Latches"
Hallo Mod,
sorry, wenn das so salopp daher gekommen ist. Ich habe schon 2000 bei
PLC2 Lehrgänge besucht und weiss natürlich dass VHDL wie der Name schon
sagt eine Deskriptionssprache ist, wo Hardware als Text beschrieben wird
und anschliessend im Syntheseprozess bzw Place & Route in einen
Bitstream umgesetzt wird, den der Stein sich beim Aufwachen einlädt, um
seine LUT's und tausend andere weichen zu stellen. Auch Constraints usw
sind mir keine Unbekannten und dass man nur sycrone Designs machen soll
usw.
Was ich damit ausdrücken wollte ist, dass ich zb den Arduino anfangs
zwar "nett" fand aber später dann wieder in die Ecke pfefferte, weil
mich merkte, dass die enorme Abstraktion auch die Funktion einschränkt.
Und bei diesem Papidino ist wohl ein grafisches Case Tool drüber
gesetzt, was im Hintergrund nichts anders macht als Libs zusammen zu
setzen. Tut nicht not, ich möchte direkt in VHDL loslegen und
selbstverständlich nicht wie in C, sondern in der Denkweise der
Beschreibung von Strukturen. Ein Timmer ist auch nur eine Variable, die
hochbezählt wird und bei der jedes Bit eine Leitung dran hat, die man an
einen Komparator legen kann.
Also kein Kinder-VHDL wie dieses Arduino-Sprech, sondern VHDL für
Grownups.
Gruss,
Christian
Moin,
Christian J. schrieb:> Ich glaube dass ich mir das mal bestellen werde. Eine Frage dazu aber:> Hat sich dieses Board weit genug verbreitet, so dass ein gewisser> Reifegrad vorhanden ist und genügend Anbieter für "Wings"? Ich erinnere> mich da an Sachen wie "Cubietruck", der nie aus dem Prototypen Status> heraus kam und schlichtweg tausend Bugs hatte, niemals einen Reiefgrad> wie der Raspi erreichte.
Die Papilio-Community ist für die FPGA-Welt recht gross, aber v.a.
englischsprachig. Was das Arduino-Flair auf den ersten Blick angeht:
keine Panik. Designlab, ZPUino usw. kann man nutzen, muss man aber
nicht, geht eh alles klassisch per Xilinx-Toolchain. Der
Bitfile-Download ist per Papilio-prog noch einfacher, also braucht man
den Impact-Schlonz nicht. Reifegrad: Es ist nicht gerade ein
Highspeed-Board, aber robust und elegant gemacht, vom kleinen Papilio
bis zum Pro hat sich auch was getan. Wings und Referenzprojekte: Siehe
Webseite/Shop.
Beim Papilio ist einfach schon mal nett, dass man eine kompakte Soft-CPU
im Paket dabei hat und auch mal ohne Murkserei seine Programme ins
SPI-Flash auslagern kann, wie auch der UART gleich mit dem FTDI
verkabelt ist (nicht so beim MACHXO2 Breakout, da muss man nachlöten).
Dafür ist der XO2 mit seinem EFB (harter SPI, I2C, user flash) für
manche Sachen wieder sehr nett. Oder die 7:1 Gearboxen, aber das ist
dann auch eher wieder "fortgeschritten".
--- schrieb:>> Nervig ist nur, das man jährlich den (kostenlosen) Lizenz-Key neu>> anfordern muß.>> Ne danke.> Da bleib ich doch lieber A und X.
Richtig nervig ist, dass sich Lattice noch schwerer tut als Xilinx,
sauber funktionierende Software unter Linux hinzukriegen. Der
Tech-Support ist seit ca. 3 Jahren qualitätsmässig total abgesoffen,
Xilinx hat wenigstens noch ein Forum.
Hallo Strubi,
prima, das reicht ja schon mal. Ich weiss zwar jetz noch nicht wie ich
da eine ZPUino verwenden kann, die ja auch irgendwie ein Programm
braucht, was man hoffentlich nicht in Assembler schreiben muss oder noch
schlimmer als Hex Code aber soweit sind wir ja noch nicht. Ich vermute
mal, dass bei dem Pro ein SRAM an den FPGA geflanscht wurde, welches
dann über den ZPU Bus angesprochen werden kann als Arbeitsspeicher. Ne
richtige Anwendung habe ich nicht, es geht mehr um den Spass mal was
neues zu machen außer uC, die ich benutze seit es sie gibt ( einer wo
man 2K EPROPMs huckepack draufstecken konnte für 110 DM war mein erster
ca 1984).
Jut, bestelle ich mal und freue mich dann schon auf das erste Hello
World blinken einer LED :-)
Gruss,
Christian
Hi Christian,
Christian J. schrieb:> prima, das reicht ja schon mal. Ich weiss zwar jetz noch nicht wie ich> da eine ZPUino verwenden kann, die ja auch irgendwie ein Programm> braucht, was man hoffentlich nicht in Assembler schreiben muss oder noch> schlimmer als Hex Code aber soweit sind wir ja noch nicht. Ich vermute> mal, dass bei dem Pro ein SRAM an den FPGA geflanscht wurde, welches> dann über den ZPU Bus angesprochen werden kann als Arbeitsspeicher. Ne> richtige Anwendung habe ich nicht, es geht mehr um den Spass mal was> neues zu machen außer uC, die ich benutze seit es sie gibt ( einer wo> man 2K EPROPMs huckepack draufstecken konnte für 110 DM war mein erster> ca 1984).
Dann hast du als Veteran ja sicher keine Assemblerscheu...aber die
ZPU-architektur lässt sich wunderbar in C programmieren und je nach
Ausgabe auch hardware-debuggen.
Der Pa'Pro hat SDRAM und den hamster-IPcore für die Ansteuerung, musst
du nicht zwingend über ne CPU betreiben. Da die ZPU sehr kompakt ist,
tut sie z.B. als Konfigurationsprozessor nicht weh, wenn "blinky" mal in
die Anwendung geht. Ansonsten kann man die ZPU-architektur optimal
aufbohren, bin allerdings nicht auf dem Stand betr. ZPUino.
Hi,
habe mir das mal grad überflogen, ist aber sicher etwas für
Fortgeschrittene, da man sich erst als Anfänger in alle teilbereiche
einarbeiten muss, bevor man das Ganze versteht und auch so umsetzen
kann.
https://www.mikrocontroller.net/articles/ZPU:_Softcore_Implementierung_auf_Spartan-3_FPGA
Eine CPU braucht ja auch Ram, Rom, Daten und Adressessbus usw. die
irgendwie da angeschlossen werden müssen, wenn sie nich auch aus den
Ressourcen des FPGA gebildet werden können. Ok, Wishbone Bus, Opensource
peripherie .... klingt ja prima. GCC unterstützt die ZPU auch, wobei man
natürlich drauf achten muss, dass der Weg von Codeänderungen zum Testen
nicht zu lang ist. Wenn da zig Einzelschritte zwischen sind artet das
schnell aus. Kenne ich vom EPROM Bruzzeln für meinen DIY Z80. Ich habe
zwar einen Upload Mode im selbst geschriebenen Monitor für das fertige
Hex File ins RAM aber der Schritt vom RAM Code zum EPROM Code ist
jedesmal ausprobieren.
Ich habs erstmal bestellt, diesen Pa' Duo und dann heisst es sich mit
den Werkzeugen vertraut zu machen und einfache Aufgaben zu lösen.
Christian