Forum: FPGA, VHDL & Co. FPGA für Anfänger - Starterpaket gesucht


von Christian J. (Gast)


Lesenswert?

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

von Mike (Gast)


Lesenswert?

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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von René H. (Gast)


Lesenswert?

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é

von Dumdi D. (dumdidum)


Lesenswert?

Ich wae mit einem Nexys Board von digilent fanz zufrieden.

von Duke Scarring (Gast)


Lesenswert?

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

von Christian J. (Gast)


Lesenswert?

Danke !!!!!!! :-)

von Christian J. (Gast)


Lesenswert?

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.

von Volker S. (vloki)


Lesenswert?

Wenn das Breaoout für den MachXO zu spartanisch ist, dann das nächst 
größere? 
http://www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/MachXO2PicoDevelopmentKit.aspx

Gibt es bei digikey, mouser ...

von Strubi (Gast)


Lesenswert?

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.

von Christian J. (Gast)


Lesenswert?

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

von Vancouver (Gast)


Lesenswert?

"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.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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 Programmieren
VHDL 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"

von Christian J. (Gast)


Lesenswert?

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

von --- (Gast)


Lesenswert?

> Nervig ist nur, das man jährlich den (kostenlosen) Lizenz-Key neu
> anfordern muß.

Ne danke.
Da bleib ich doch lieber A und X.

von Strubi (Gast)


Lesenswert?

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.

von Christian J. (Gast)


Lesenswert?

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

von Strubi (Gast)


Lesenswert?

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.

von Christian J. (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.