Forum: FPGA, VHDL & Co. Welcher FPGA für den Einstieg mit VHDL?


von René F. (Gast)


Lesenswert?

Ich würde mich gerne mit der FPGA Beschreibung mittels VHDL 
beschäftigen, welche FPGAs sind denn nach aktuellem Stand für den 
Hobbyisten geeignet, ohne gleich Unsummen für die Toolchain investieren 
zu müssen?

von 🍅🍅 🍅. (tomate)


Lesenswert?

Ich würde mal klein anfangen, XC9500 oder MaxII CPLD, ist 
übersichtlicher und einfacher zu wechseln, wenn kaputt.

Ansosten kann man eigentlich alle FPGAs nutzen, mit ein wenig Suchen 
findet man diverse "zurechtgepatchte" Altera/Xilinx IDEs, die alle FPGAs 
synthetisieren ;-)

: Bearbeitet durch User
von FPGA (Gast)


Lesenswert?

EK-10M08E144 gibts für 50Eur bei Mouser.
Dann noch ca 5Eur für china USB- Blaster.

Quartus II Lite gibts gratis

von FPGA (Gast)


Lesenswert?

René F. schrieb:
> Ich würde mich gerne mit der FPGA Beschreibung mittels VHDL
> beschäftigen, welche FPGAs sind denn nach aktuellem Stand für den
> Hobbyisten geeignet, ohne gleich Unsummen für die Toolchain investieren
> zu müssen?

Oder: DIGIL 410-328 bei reichelt, wenns lieber Xilinx sein soll

von m2m (Gast)


Lesenswert?

Lattice FPGAs sind für den Einstieg ganz nett und die IDE ist auch OK.
preiswerte Boards gibt es hier:
https://www.welectron.com/FPGA

von S. R. (svenska)


Lesenswert?

Die kleinen FPGAs der großen Hersteller lassen sich mit den originalen 
Toolchains kostenfrei nutzen. Ist zwar nicht offen, aber kostenfrei plus 
Telemetrie.

von Gustl B. (gustl_b)


Lesenswert?

Rote T. schrieb:
> XC9500 oder MaxII CPLD

Rote T. schrieb:
> "zurechtgepatchte" Altera/Xilinx IDEs

Und was ist da jetzt der Vorteil? Man verwendet steinalte Hardware und 
obsolete Software? Der Anfänger muss dann also erstmal umlernen wenn 
wenn er nach den ersten Gehversuchen weitermachen will. Ne, aktuelle 
FPGAs gibt es in sehr günstig und mit Programmieradapter gleich dabei. 
Max10, Spartan7 würde ich empfehlen. Beim Max1000 ist man mit grob 30€ 
dabei und hat aktuelle Hard- und Software.

von 🍅🍅 🍅. (tomate)


Lesenswert?

Gustl B. schrieb:
> Und was ist da jetzt der Vorteil?

Man bekommt die Boards mit TQFP Chip für 5-10$ auf ebay/ali etc, haben 
5V tolerate I/O und für vielerlei Kleinkram reicht ein XC9572 oder 
EPM240, falls ein bisschen grösser. Und man kann das Board grad ins 
Projekt einbauen, wenn man fertig ist, da billig und ohne sonstige 
Komponenten.

So ein fetter Spartan7 ist für das meiste völlig überdimensioniert, kann 
keine 5V und ist BGA, wenn man den beim basteln abschiesst, braucht man 
erstmal Reflowofen zum wechseln. Ausserdem sind die mit 20$ ca. 10x 
teurerer als die CPLDs.

: Bearbeitet durch User
von Mario (Gast)


Lesenswert?


von René F. (Gast)


Lesenswert?

Mit älteren CPLDs möchte ich mich nicht beschäftigen, ob 5V tolerant 
oder kein BGA spielt für mich auch keine Rolle, für meine Projekte lasse 
ich gerne eine Leiterplatte fertigen, aber abgesehen von BGAs, gibt es 
moderne FPGAs auch im QFP Gehäuse mit exposed Pad.

MAX1000 schaut gut aus, Quartus Prime Lite unterstützt den auch, gibt es 
irgendwas wichtiges zu sagen über die Lite Version? (Showstopper, wie 
Größenlimits fürs Design oder Ähnliches?)

von Gustl B. (-gb-)


Lesenswert?

Rote T. schrieb:
> da billig und ohne sonstige Komponenten.

Und genau das ist wie ich finde ein Nachteil für Einsteiger. Typische 
Einsteigerprojekte sind sowas wie UART, Lauflichter, irgendwas mit 
Taster, selber mal SPI machen, Daten erfassen und ausreichen, vielleicht 
VGA, ...
Und genau da bieten diese typischen FPGA Boards recht viel. Sogar das 
kleine MAX1000 hat einen ADC mit dabei, mehrere LEDs, Taster, 
Beschleunigungssensor (der hat auch einen Temperatursensor eingebaut), 
USB für JTAG und UART, ...

Was kann man damit für Projekte machen?

- Lauflicht
- Wasserwaage mit Beschleunigungssensor und LEDs
- Signalerfassung mit ADC und Ausgabe über UART.
- Kleinen Logicanalyzer mit Ausgabe über UART.
- VGA mit ein paar Widerständen und den freien FPGA IOs.
- Oszi/LA mit ADC/FPGA IOs und VGA.
- ...

Und das alles mit einem < 30€ Board und gratis Software auf aktuellem 
Stand.

Mit teureren Boards wie so einem Nexys4 ist da nochmal deutlich mehr 
möglich. Das hat noch ein Microphon drauf, schnelles RAM, Ethernet, 
echtes VGA*, und PMOD Anschlüsse wodurch man das recht preiswert um 
viele Funktionen erweitern kann.

(*Warum schreibe ich hier so viel von VGA? Weil man mit einem VGA 
Ausgang wunderbar einen Signalgenerator bauen kann. Mit 3 Kanälen und 
einer doch recht hohen Abtastrate. Das ist quasi ein DAC, zwar mit 
geringem Maximalpegel, aber für manche Basteleien doch recht hilfreich.)

René F. schrieb:
> gibt es
> irgendwas wichtiges zu sagen über die Lite Version? (Showstopper, wie
> Größenlimits fürs Design oder Ähnliches?)

Naja, klar ein beliebig großes Design passt da nicht ins FPGA. Aber 
sonst sehe ich da keine Probleme. Das FPGA ist locker groß genug für 
sehr viele Anfängerprojekte. Wie das mit einer SoftCPU aussieht weiß ich 
nicht, ich habe mein Zeug nur in HDL beschrieben und keine CPU 
eingebaut.

Hier Beitrag "Re: FPGA IoT Maker Board" 
ist mein Projekt das Beschleunigungssensor und die LEDs nutzt um eine 
Wasserwaage darzustellen. Kann man noch optimieren, war damals ein 
Schnellschuss.

: Bearbeitet durch User
von Larry (Gast)


Lesenswert?

> Das FPGA ist locker groß genug für sehr viele Anfängerprojekte.

> Wie das mit einer SoftCPU aussieht weiß ich
> nicht, ich habe mein Zeug nur in HDL beschrieben und keine CPU
> eingebaut.

Das Trenzboard hat nur sehr wenige IOs. Da nuetzt dann die neu
verfuegbare Version mit einem 10M16 (16 kLE) auch nichts.

In der Richtung viel besser: BeMicro Max 10.

Mit einem Full-featured-NIOS2 ist man dann bei 97 % fuer einen 10M08.
Darin ist dann aber die komplette Unterstuetzung der auf dem Board
vorhandenen Peripherie (BeMicro Max 10) enthalten.

Neuere Versionen (z.B. 15.1) von Quartus 2 sind merkbar langsamer
als die aelteren 11.1SP2, 13.0 oder 13.1.
Die Version 20.3 habe zwar schon hier:
72,872,611,840 Quartus-pro-20.3.0.158-windows-complete.tar
aber noch nicht installiert.

Ich rate dir daher zu einem Board mit einem Cyclone 4.
Wenn verfuegbar nimm gleich einen groesseren, also
EP4CE10, EP4CE15 oder EP4CE22.
Der geringe Aufpreis lohnt sich.
Fuer den MAX10 sehe ich keine wesentlichen Vorteile.

von Gustl B. (-gb-)


Lesenswert?

Larry schrieb:
> In der Richtung viel besser: BeMicro Max 10.

Kannte ich nicht, sieht ganz nett aus. Eine Frage hab ich dazu: Da ist 
ja so ein USB-Blaster mit dabei, mit FT240 und Max V. Kann man den auch 
als USB UART verwenden so wie bei Xilinx den FT2232H JTAG/UART?

von Larry (Gast)


Lesenswert?

> Kann man den auch
> als USB UART verwenden so wie bei Xilinx den FT2232H JTAG/UART?

Nein. Ich kenne auch keinen Altera/Intel/Klon-USB-Blaster,
der einen seriellen Kanal separat bereitstellt.

Es gibt aber den JTAG-UART. Der ist aber Teil des JTAG-Konzepts.

von René F. (Gast)


Lesenswert?

Wollte eigentlich das MAX1000 bestellen, ein Arbeitskollege meinte aber 
er hätte ein altes Board mit Zubehör, welches er nicht mehr benötigt, 
taugt das was, oder bin ich mit dem MAX1000 besser aufgehoben? Es 
handelt sich um dieses Board:

http://land-boards.com/blwiki/index.php?title=A-C4E6_Cyclone_IV_FPGA_EP4CE6E22C8N_Development_Board

von S. R. (svenska)


Lesenswert?

Zum Rumspielen reicht das völlig aus: Ich sehe VGA, 7-Segment, Knöpfe 
und einen Piepser.

: Bearbeitet durch User
von Gustl B. (-gb-)


Lesenswert?

René F. schrieb:
> Es handelt sich um dieses Board:

Ja, passt für den Anfang. Du brauchst aber noch einen USB Blaster.

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


Lesenswert?

Rote T. schrieb:
> Spartan7 ist für das meiste völlig überdimensioniert, kann keine 5V
5V?
Diese "Hochspannung" kann eh' kein halbwegs aktueller Baustein mehr.
Und wenn ich heute µC neu lerne, dann fange ich auch nicht beim 8049 
an...

m2m schrieb:
> Lattice FPGAs sind für den Einstieg ganz nett
Die sind auch für später ganz nett, denn mit einem MachXO2/03 kann ich 
ein komplettes 3,3V-Stand-Alone-System ohne externen Oszillator bauen. 
Und wenn man sich mal dran gewöhnt hat, ist das echt schnuckelig.

von René F. (Gast)


Lesenswert?

So, der Arbeitskollege hat mir heute das Board mitgebracht, ein China 
USB Blaster ist auch dabei, es handelt sich aber anscheinend nicht genau 
um das gleiche Modell wie im Link, statt der USB-seriell Schnittstelle 
befindet sich ein RS232 Anschluss mit MAX232 drauf, sonst konnte ich 
jetzt keinen Unterschied feststellen.

Gibt es eine Literaturempfehlung? Kann auch gerne digital sein.

von Gustl B. (-gb-)


Lesenswert?

René F. schrieb:
> Gibt es eine Literaturempfehlung? Kann auch gerne digital sein.

Naja, du hast LEDs, du hast Taster, du hast 7-Segment-Anzeigen, ... das 
kannst du doch alles schön gemütlich Schritt für Schritt in Betrieb 
nehmen.

Erstmal einfach nur eine LED mit einem Taster verbinden. Dann mal eine 
Logikverknüpfung zwischen mehrere Taster/Schalter und LEDs. Dann das 
erste mal was mit Zuständen aber noch ohne Takt. Dann was mit Takt, ein 
Zähler, ein Lauflicht, also was mit Zustandsautomat, ...

Und wenn du schon dabei bist:
Mach zu diesen ersten Gehversuchen auch gleich immer eine Simulation mit 
Testbench. Einfach damit du dir das angewöhnst und das auch lernst. Denn 
es ist so: Wenn es in der Simulation funktioniert, dann funktioniert das 
auch sehr wahrscheinlich korrekt in Hardware. Anders herum kann man das 
nicht so sicher sagen. Also wenn du zwar mit dem Auge beobachten kannst, 
dass es in Hardware funktioniert, dann kann das auch nur so aussehen als 
funktioniere das korrekt. Man kann eben nicht perfekt mit hoher 
Zeitauflösung beobachten.

René F. schrieb:
> So, der Arbeitskollege hat mir heute das Board mitgebracht, ein China
> USB Blaster ist auch dabei, es handelt sich aber anscheinend nicht genau
> um das gleiche Modell wie im Link, statt der USB-seriell Schnittstelle
> befindet sich ein RS232 Anschluss mit MAX232 drauf, sonst konnte ich
> jetzt keinen Unterschied feststellen.

Ist auch ein Datenblatt und Pinzuordnung dabei? Steht auf dem Board das 
genaue Modell? Du brauchst bei echtem RS232 noch eine echte RS232 
Schnittstelle oder du nimmst einen USB-UART und verbindest den mit einem 
Pin auf dem Board.

von Dussel (Gast)


Lesenswert?

Gustl B. schrieb:
> Mach zu diesen ersten Gehversuchen auch gleich immer eine
> Simulation mit Testbench. Einfach damit du dir das angewöhnst
> und das auch lernst.
Dem stimme ich zu. Ich habe am Anfang nicht verstanden, warum ich, 
nachdem ich eine 'komplizierte' Hardwarebeschreibung erstellt habe, 
nochmal etwas nur für die Simulation schreiben soll.
Das gehört aber eben zumindest in naher Zukunft noch dazu.

von Gustl B. (-gb-)


Lesenswert?

Dussel schrieb:
> Ich habe am Anfang nicht verstanden, warum ich,
> nachdem ich eine 'komplizierte' Hardwarebeschreibung erstellt habe,
> nochmal etwas nur für die Simulation schreiben soll.

Ging mir auch so. Viele Anfängerprojekte kann man noch über LEDs oder 
dann mit dem Oszi/LA debuggen. Aber wenn man gleich lernt wie man 
Testbenches verwendet, dann spart man irre viel Zeit und macht es gleich 
richtig.
Und so Testbenches für einfache Dinge wie ein Lauflicht sind sehr 
übersichtlich. Oft reicht da ein Takt aus.

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


Lesenswert?

Dussel schrieb:
> Ich habe am Anfang nicht verstanden, warum ich, nachdem ich eine
> 'komplizierte' Hardwarebeschreibung erstellt habe, nochmal etwas nur für
> die Simulation schreiben soll.
Die Simulation ist der Debugger für Abläufe und Funktionalität. Wer ohne 
Debugger auskommt, der braucht auch keinen Simulator.

Gustl B. schrieb:
> Erstmal einfach nur eine LED mit einem Taster verbinden.
Oder den Ausgang alternativ einfach nur hart auf '1' und im nächsten 
Durchlauf hart auf '0'.  Denn dafür brauche ich nur einen 
funktionierenden Ausgang.
Und wenn ich weiß, dass mein Ausgang tut, dann würde ich die LED mit dem 
Taster ansteuern

> Dann das erste mal was mit Zuständen aber noch ohne Takt.
Das würde ich weglassen, das ist eine Sackgasse, denn das gibt 
Latches... ;-)
Ich würde gleich mal die LED zum Blinken bringen. Dafür brauche ich 
einen Takt.
Und diese blinkende LED debugge ich schon vorher mit dem Simulator. Oder 
spätestens dann, wenn sie tatsächlich blinkt.

Und dann habe ich alles in Betrieb genommen, was ich vorerst brauche:
Eingänge, Takt und Ausgänge.

: Bearbeitet durch Moderator
von Gustl B. (-gb-)


Lesenswert?

Lothar M. schrieb:
> Das würde ich weglassen, das ist eine Sackgasse, denn das gibt
> Latches... ;-)

Naja, es gibt ja auch Prozesse ohne Takt. Ich verwende die 
nicht/ungerne, weil ich am liebsten alles getaktet habe, aber vielleicht 
sollte man das trotzdem mal gesehen haben. Weiß ich nicht.

von Dussel (Gast)


Lesenswert?

Lothar M. schrieb:
> Dussel schrieb:
>> Ich habe am Anfang nicht verstanden, warum ich, nachdem ich eine
>> 'komplizierte' Hardwarebeschreibung erstellt habe, nochmal etwas nur für
>> die Simulation schreiben soll.
> Die Simulation ist der Debugger für Abläufe und Funktionalität. Wer ohne
> Debugger auskommt, der braucht auch keinen Simulator.
Erklärst du mir das? ;-)
Was aber nicht bedeutet, dass man keinen Debugger mehr braucht, wenn man 
einen Simulator hat. :-(

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


Lesenswert?

Dussel schrieb:
>> Die Simulation ist der Debugger für Abläufe und Funktionalität. Wer ohne
>> Debugger auskommt, der braucht auch keinen Simulator.
> Erklärst du mir das? ;-)
Ich schreibe es nochmal mit mehr Worten:
Die Simulation ist in der FPGA-Entwicklung wie der Debugger in der 
Softwareentwicklung. Wer seine Software ohne Debugger schreiben kann, 
der braucht für die Hardware auch keinen Simulator.

Wobei jetzt dann sicher ein Arduinist um die Ecke kommt und sagt: ich 
und alle meine Leidensgenossen entwickeln unsere Software ohne Debugger!
;-)

von Cyntia Cygnus (Gast)


Lesenswert?

René F. schrieb:
> Ich würde mich gerne mit der FPGA Beschreibung mittels VHDL
> beschäftigen, welche FPGAs sind denn nach aktuellem Stand für den
> Hobbyisten geeignet, ohne gleich Unsummen für die Toolchain investieren
> zu müssen?

Falsche Frage, weil man nimmt ganze boards und nicht einzelne FPGA's .
Und da fährt man am besten mit boards die für Bildungszwecke entwickelt 
worden und mit Tutorials etc kommen.

https://store.digilentinc.com/fpga-for-beginners/
https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=163

In .de ist der bekannste Distri für dergleichen Trenz:
https://shop.trenz-electronic.de/de/search?sSearch=FPGA

Da solltest du erst mal ein Wochenende mit beschreibung lesen und 
Entscheidungsmatrix aufstellen verbringen, dann haste die Grundlage die 
ich vom Forum beraten zu lassen.

von René F. (Gast)


Angehängte Dateien:

Lesenswert?

René F. schrieb:
> Gibt es eine Literaturempfehlung? Kann auch gerne digital sein.

Dies war eher auf VHDL als mein Board bezogen.

Gustl B. schrieb:
> Ist auch ein Datenblatt und Pinzuordnung dabei? Steht auf dem Board das
> genaue Modell?

Der Kollege hat mir einen Stick mit der Boarddokumentation mitgegeben, 
darin sind scheinbar auch Beispiele enthalten. Ein Foto befindet sich im 
Anhang, ich denke ich werde mich am Wochenende mal damit beschäftigen.

von Gustl B. (-gb-)


Lesenswert?

René F. schrieb:
> Dies war eher auf VHDL als mein Board bezogen.

Ich habe keine Empfehlung, sorry. Fang an mit ganz einfachen Dingen und 
lerne weiter. Die Suche hier im Forum, die Seite von Lothar sind gute 
Hilfen.

René F. schrieb:
> Der Kollege hat mir einen Stick mit der Boarddokumentation mitgegeben,
> darin sind scheinbar auch Beispiele enthalten. Ein Foto befindet sich im
> Anhang, ich denke ich werde mich am Wochenende mal damit beschäftigen.

Wunderbar, ja das ist für den Anfang gut geeignet. Viel Spaß und Erfolg, 
unterschätze die Lernkurve nicht, vergiss alles was du von normalen 
Programmiersprachen kennst (kein Scherz) und trau dich hier zu Fragen. 
Man lernt durch Fehler und scheitert empor (-:

von Nick M. (Gast)


Lesenswert?

Eine Kurze Einführung:
"VHDL by Example" von Blaine Readler. Hat einen sehr entspannten 
Schreibstil. Ist ein 100 Seiten Büchlein.

"FPGA Prototyping by VHDL Example" Pong P. Chu.
Ist zwar für XILINX Spartan-3, aber geht genauso für Intel.
Ca 480 Seiten Klopper.

Das sind meine beiden Anfänger-Bücher.

von Larry (Gast)


Lesenswert?

Digital McLogic Design
Bryan J. Mealy & James T. Mealy

findet sich zahlreich im Netz.

Ansonsten als Studienobjekt sehr zu empfehlen sind
der NEO430 und NEORV32 von Herrn Dipl.-Ing. Nolting.
Mindestens der NEO430 passt auch in kleinere FPGAs.
Z.B. Cyclone 1 EP1C3.

Allgemeine Kenntnisse der Digitaltechnik schaden natuerlich
ueberhaupt nicht.

Sonstige Programmiererfahrung am besten in den Rundordner und

Viel Spass!

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


Lesenswert?

Nick M. schrieb:
> "FPGA Prototyping by VHDL Example" Pong P. Chu.
> Ist zwar für XILINX Spartan-3, aber geht genauso für Intel.
> Ca 480 Seiten Klopper.
Allein der Stil ist fraglich. Denn ein Buch, das extra für den S3 
geschrieben ist, darf eigentlich keine asynchronen Resets verwenden.
Siehe dazu die Posts im 
Beitrag "Re: Suche VHDL Buch"

> Das sind meine beiden Anfänger-Bücher.
Reichardt&Schwarz "VHDL-Synthese" brachte mir die richtige Denkweise. 
Das Buch hat zwar auch Schwächen, aber es wird anhand des 
RTL-Schaltplans immer wieder gezeigt, was der Synthesizer aus einer 
Beschreibung macht.

Und dann muss natürlich auch Peter Ashenden mit "Designers Guide to 
VHDL" erwähnt werden (wobei gilt: "FPGA" ist nur eine kleine Teilmenge 
von "VHDL").

Last but nor least muss der Userguide vom Synthesizer immer zur Hand 
sein. Dort drin steht, welchen kleinen Teil von VHDL der überhaupt in 
Hardware umsetzen kann. Und auch, wie das dann hingeschrieben werden 
muss, dass er es versteht.

von Nick M. (Gast)


Lesenswert?

Lothar M. schrieb:
> aber es wird anhand des
> RTL-Schaltplans immer wieder gezeigt, was der Synthesizer aus einer
> Beschreibung macht.

Ich schau mir die generierten RTL danach an und stell dann fest, dass 
ein Fehler in meinem Verilog sein muss. :-)

Ich schau mir deine Buchtips gerne an, wenn es sie in einer 
Verilog-Version gibt.

von Cyblord -. (cyblord)


Lesenswert?


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


Lesenswert?

Nick M. schrieb:
> Ich schau mir deine Buchtips gerne an, wenn es sie in einer
> Verilog-Version gibt.
Verilog ist neu hier, deshalb war meine Antwort eher für den TO gedacht, 
denn
René F. schrieb:
>>> Ich würde mich gerne mit der FPGA Beschreibung mittels VHDL beschäftigen

: Bearbeitet durch Moderator
von Nick M. (Gast)


Lesenswert?

Lothar M. schrieb:
> Verilog ist neu hier, deshalb war meine Antwort eher für den TO gedacht,
> denn

Das war mir schon klar. Daher hab ich vorher nachgesehen, ob es die 
Bücher auch in VHDL gibt.

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.