Guten Abend alle zusammen, kennt jemand von euch eine günstige Möglichkeit, um in das Thema FPGAs einzusteigen? Welche Hardware könntet Ihr einem Anfänger empfehlen? Danke im Voraus. LG
:
Verschoben durch User
Hallo, ich hatte das damals. Da sind wenigstens LEDs und ein bisschen "Sichtbares" drauf, um den Aha Effekt zu haben. Bei den großen Boards sieht man meist gar nichts (RAM Interface etc) oder die Anwendung ist sehr kompliziert, wie zb Grafik oder Telekommunikationsanwendungen, so dass du ohne zusätzliche Geräte nicht weiter kommst. Die FPGA Entwicklung findet sowieso fast nur in der Umgebung statt mit Logic Analyzer Diagrammen, erst ganz zum Schluss lädst du den Bitstream ins Board. Die Software (WebPack) konte man frei herunter laden bei Xlinx und einen Programmer gibt es auch für schmales geld. Heute ist das aber glaube ich alles "Cloud" basiert. https://www.indiamart.com/proddetail/xilinx-spartan-3e-fpga-trainer-kit-10193927388.html Im Hobbybereich sind die Anwendungen allerdings sehr begrenzt, ein FPGA kann (fast) nichts, was ein Prozessor nicht mit Software auch kann, nur kann es das sehr, sehr viel schneller.
Hi, danke für dein Tipp. Du hast mit dem etwas "Sichtbarem" recht. Da müsste ich ein geeignetes Projekt finden, damit das ganze sinnvoll wird. Mir geht es zunächst darum, die Grundlagen zu verstehen. Ich habe ein Board gefunden. Ist dieses hier brauchbar? https://www.exp-tech.de/plattformen/fpga/6737/minispartan3-x3ca50-fpga MfG
Hi, finde ich zu teuer. Auch musst du dich entscheiden welche Familie du haben willst, Spartan oder Mach oder, oder oder. Es gibt die Hersteller Xilinx, Lattice, Altera, QuickLogic, Microsemi wobei Xilinx schon immer Nr. 1 war. Meine Kenntnisse sind ca 10 Jahre alt. VHDL kannst Du mit einem Buch lernen aber die ganze Sache findet rein am PC statt. Du brauchst eigentlich gar kein Board. Wenn die Logic Zeitdiagramme das zeigen was Du willst, Deine Constraints richtig gewählt sind und die Synthese und das Place&Route ok sind, ist es richtig. Dann prüfst du deine Lösung in einem Testbench, stimulierst also deine Entwicklung mit externen Signalen. Damals gab es noch Schematic Entry aber ich weiss nicht ob das noch aktuell ist. Da hat man die Pläne gezeichnet, grafisch. FPGA und CPLD sind datenverarbeitende Bausteine, sie arbeiten als Encoder oder Decoder, sie verändern Signale, erzeugen Grafikeffekte und das mit einer enormen Geschwindigkeit. Wenn du das nicht beruflich brauchtst... also ich hätte keine Anwendung dafür und ich habe nach einer 7-Segment Anzeige das Ding auch in die Ecke gelegt wo es dann nach einigen Umzügen verschwunden ist. Was Du aber machst kannst ist, in dem FPGA zb einen freien CPU Softcore hinein zu laden und dir eine Peripherie dazu zu erzeugen, Timer, Interfaces usw. Das ist allerdings nicht ganz trivial und erfordert einiges an Erfahrug. https://www.mikrocontroller.net/articles/FPGA_Soft_Core
Hello schrieb: > kennt jemand von euch eine günstige Möglichkeit, um in das Thema FPGAs > einzusteigen? Welche Hardware könntet Ihr einem Anfänger empfehlen? Ich habe mich aus Interesse vor 4 Jahren ein wenig in FPGA eingelesen. Ich bin zwar weit vom Profi-Niveau entfernt geblieben, hatte die Grundlagen aber gut verstanden und auch einige kleinere Lern-Anwendungen programmiert. Dabei hat mich mein Xilinx Spartan 3E Board enorm unterstützt. Dort ist alles dran und drauf, was Du als Anfänger brauchst und es gibt im Internet tolle, lehrreiche Beispiele für dieses Board (weil es einmal "DAS" Lehrboard war). Auch sind Beispiele mehrerer Bücher auf diesem Board entwickelt worden. Wenn Du kein absolutes Genie bist, so kannst Du mehrere Monate mit dem Board programmieren und es wird Dir noch immer genügen. Wenn Du Glück hast, ist dieses seeeehr günstige, gebrauchte Spartan 3E Board, welches vor ein paar Tagen hier im Marktforum stand, noch immer zu haben: Beitrag "(V)erkaufe XILINX Spartan 3E Started Kit" Good luck! Igel1
Chris J. schrieb: > ein FPGA kann (fast) nichts, was ein Prozessor nicht mit Software > auch kann, nur kann es das sehr, sehr viel schneller Das ist nicht mehr unbedingt so: ein FPGA das bei FIR Filter einen Pi 3 Quadcore in ARM Assembler NEON programmiert schlägt, ist schon ohne alles 3x so teuer: http://store.digilentinc.com/cmod-a7-breadboardable-artix-7-fpga-module/
Andreas S. schrieb: > Dabei hat mich mein Xilinx Spartan 3E Board enorm unterstützt. Dort ist > alles dran und drauf, was Du als Anfänger brauchst und es gibt im > Internet tolle, lehrreiche Beispiele für dieses Board Kann ich voll unterschreiben, bis du damit alles gemacht hast ist ein Jahr um. Der Spartan 3E ist nicht das Neueste und Beste aber es ist eine solide Basis mit genug Zellen, um kleine bis mittlere Projekte zu realisieren. "Arduino style", Baukasten für große Jungs :-) https://www.amazon.de/XC3S500E-Spartan-3E-Development-LCD1602-LCD12864/dp/B00GU6ARF6 Und eine Liste von Eval Boards, die kein Ende nimmt: https://www.mikrocontroller.net/articles/Liste_von_FPGA_Eval_boards
Hallo, danke für die bisherigen Antworten. Ich werde zunächst dann wohl versuchen die Theorie zu verstehen, bevor ich mir die Hardware beschaffe. Das scheint doch nicht wie Arduino-like zu sein. Wo werden FPGAs in der Industrie eingesetzt? Im Augenblick fällt mit die Bildverarbeitung ein. Und sonst hatte ich mal irgendwo gelesen, dass jemand damit ein neuronales Netz implementieren wollte, da die Parallelstruktur der FPGAs dafür hilfreich sein soll. MfG
Hello schrieb: > Wo werden FPGAs in der Industrie eingesetzt? Wir setzen keine FPGAs mehr ein. > Bildverarbeitung > neuronales Netz GPU oder Spezial-CPU: https://developer.nvidia.com/cudnn https://www.nvidia.com/en-us/self-driving-cars/drive-px/ Intel war bei der Namensgebung wieder mal kreativer als Apple https://de.wikipedia.org/wiki/Apple_A11_Bionic https://www.intelnervana.com/intel-nervana-hardware/
Also ich habe jetzt mit folgenden Boards angefangen: MachX02 http://www.mouser.de/new/Lattice-Semiconductor/lattice-machxo2-breakoutboard/ DE0-Nano https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=593&PartNo=4 MAX1000 https://shop.trenz-electronic.de/de/TEI0001-02-08-C8-MAX1000-IoT-Maker-Board-8KLE Eigentlich benutzte ich aber im Moment nur das MACHX02 weil die Entwicklungsumgebung "Diamond" einen VHDL-Syntax Checker drinnen hat und man beim Speichern sofort seine Fehler angezeigt bekommt. Das ist gerade am Anfang, bei dem man den Syntax noch nicht so kennt, sehr nützlich. Die Entwicklungsumgebung "Quartus" für die anderen Boards von Intel/Altera ist dagegen "schnarchlangsam". Das MAX1000 Board wäre aber gut für Breadboard aufbauten, weil es eine schön kleine Form hat. Den ganzen Peripherie-Schnickschnack den teurere Boards haben, braucht man glaube ich zum Üben nicht. Man kann beim MACHX02 Breakout Board sehr schön Jumperkabel stecken und sie zu einem daneben liegenden Breadboard mit Experimentierelektronik verbinden.
>Das scheint doch nicht wie Arduino-like zu sein. Definitv nicht. Was in der Arduino-Umgebung 10 Minuten braucht, ist beim FPGA-programmieren in VHDL ein Aufwand von mehreren Wochen. Während das compilieren und flashen des "Blinky" in der Arduino-IDE 3 Klicks benötigt, werden in den FPGA-Entwicklungsumgebungen geschätzte 15 Klicks gebraucht. Der Aufwand ist dabei exponentiell, also
1 | Fehlermöglichkeit = Anzahl Menupunkte ^ Anzahl der Klicks |
und damit die Erfolgswahrscheinlichkeit
1 | Erfolg = 1 / Fehlermöglichkeit |
Mikrocontroller zu programmieren war allerdings vor Entstehung der "Arduino-Vereinfachung" ähnlich kompliziert. Wer weiß, vielleicht wird sich das programmieren von FPGAs auch irgendwann leichter, erste Ansätze gibt es schon: http://www.ni.com/fpga/d/
Bei jedem Hersteller muss dir klar sein, dass neben einem DevBoard evtl. auch ein Programmer erforderlich ist (oft OnBoard, aber nicht immer), und dieser ist idR sehr teuer. Die billigste Variante ist da ein Klon, die zu Altera sind da unschlagbar günstig. Such mal in der Bucht nach "altera EP2C5T144", dann findest du schon Board plus Programmer ab 15 Euro. Die sind zwar "nakt", für den Anfang reicht es aber. (Als Quartus-Version empfehle ich dir da 11.0, die ist wesentlich kleiner und unterstützt noch denn EP2)
chris schrieb: > Der Aufwand ist dabei exponentiell, also > >
1 | Fehlermöglichkeit = Anzahl Menupunkte ^ Anzahl der Klicks |
> > und damit die Erfolgswahrscheinlichkeit > >
1 | Erfolg = 1 / Fehlermöglichkeit |
Super, mit der Methode lässt sich locker beweisen das längerer Texte (mehr clicks) deutlich mehr Fehler enthallten und damit die Erfolgswahrscheinlichkeit sinkt -> da geb ich als Diplomarbeit nur ein Blatt ab und das mach ich noch mit Voice Regocnition ;-) > Wer weiß, vielleicht wird sich das programmieren von FPGAs auch > irgendwann leichter, erste Ansätze gibt es schon: > > http://www.ni.com/fpga/d/ FPGA von National Instruments gibt es seit 10 Jahren, wird aussernalb von HiL etc nicht eingesetzt. Und schon viel länger gibt es den schematic entry also das FPGA-Design als Schaltplan einzugeben. Ist für komplexeres Design viel zu langwierig. Das Problem ist ohnehin nicht die Eingabe sondern das Verständniss für Schaltungsdesign/-verifikation, das ist halt mehr als Zusammengefrickle standardisierter Blöcke.
> Mikrocontroller zu programmieren war allerdings vor Entstehung der > "Arduino-Vereinfachung" ähnlich kompliziert. hahahahaha... ahhh warte mir tuen die Seiten weh vom Lachen Nein. Nein, warte habe ich schon nein gesagt ? Es gab und gibt viele kombinationen von uC und ihre Umgebungen wo alles so gemacht ist daß man endlich die Platine mit dem uC am PC anschlißt und schon kann man entwickeln und programmieren, und debuggen. Wenn du denkst daß das nur mit dem Arduino zu haben war... Der Parallax Propeller, z.B. von 2006 ! ist es genauso einfach zu programmieren und mehrfach so leistunsstark wie ein ATMegaIrgendwas, und hat mehr pins !. Guck dir was z.B. den PSoC kann, 10 € Dev Board und die Umgebung... ****** Und die "Libraries" die irgendjemand geschrieben haben sind genauso gut geignet für andere uC/Umgebungen wenn die Pertabel geschriben wurden, genauso wie früher. Die "Webeaktion" die mit Arduino gemacht wurde, hätten NXP oder Cypress oder irgendjemand anders machen konnten, haben nicht. ***** Kauf dir eine 20-30 € Platine und mit Xilinx oder Altera, es ist egal, beide Umgebungen brauchen meherere GBytes auf der Platte. Eine Platine mit einem MachXO2 wie die Breackout board ist auch ganz nutzlich, hat jede I/O auf 2.54 raster rausgebracht. Kaum zu toppen wenn man nicht viel mehr Geld ausgibt. Und wie Chris gesagt hat, der Diamond macht Syntax check beim Speichern der Datei !. Ich nutze persönlich ghdl+gtkview oder iverilog+gtkview weil simulieren ist, meine Meinung "Der Weg" :) Diamond finde ich ganz bequem und für kleine Designs schon schneller als Quartus. Viel Spaß !
C. A. Rotwang (Gast) >Super, mit der Methode lässt sich locker beweisen das längerer Texte >(mehr clicks) deutlich mehr Fehler enthallten 1. richtig >und damit die Erfolgswahrscheinlichkeit sinkt > da geb ich als Diplomarbeit nur ein Blatt ab und das > mach ich noch mit Voice Regocnition ;-) 2.falsch, bzw. falscher Zusammenhang. Die Diplomarbeit kann man trotz vieler Fehler verstehen und die Ergebnisse nutzen. Dagegen blinkt beim FPGA nichts, wenn man irgendwo im Ablauf einen Fehler macht. Da man nirgends in der IDE-Entwicklungskette einen Fehler machen darf, müssen die Einzelwahrscheinlichkeiten für die richtigen "Klicks" multipliziert werden um die Erfolgswahrscheinlichkeit zu berechnen. Deshalb gilt: >> Der Aufwand ist dabei exponentiell, also >Fehlermöglichkeit = Anzahl Menupunkte ^ Anzahl der Klicks >> und damit die Erfolgswahrscheinlichkeit > Erfolg = 1 / Fehlermöglichkeit
Hi Ale, >Die "Webeaktion" die mit Arduino gemacht wurde, hätten NXP oder Cypress >oder irgendjemand anders machen konnten, haben nicht. Die Wahl des Mikrocontrollers war eher Zufall, sonst hätte ja Atmel die Aktion machen müssen. Nimm Dir mal die Zeit, diesen Artikel durchzulesen, der ist wirklich interessant um die Entwicklungsgeschichte zu verstehen: https://arduinohistory.github.io/
chris schrieb: > Da man nirgends in der IDE-Entwicklungskette einen Fehler machen darf, > müssen die Einzelwahrscheinlichkeiten für die richtigen "Klicks" > multipliziert werden um die Erfolgswahrscheinlichkeit zu berechnen. > > Deshalb gilt: > >>> Der Aufwand ist dabei exponentiell, also >>Fehlermöglichkeit = Anzahl Menupunkte ^ Anzahl der Klicks >>> und damit die Erfolgswahrscheinlichkeit >> Erfolg = 1 / Fehlermöglichkeit Und wie macht das dieses schlau anmutende Gehergeschwafel Dich oder irgendjemand anderen zu einer besseren oder wenigstens minimal befähigten FPGA-Entwickler? Falls Du probleme mit den clicks einer IDE hasst, warum schaust du dich nicht nach Alternativen um? bspw. tcl-scripts, makefile https://www.altera.co.jp/ja_JP/pdfs/literature/an/an309.pdf
>Und wie macht das dieses schlau anmutende Gehergeschwafel Dich oder >irgendjemand anderen zu einer besseren oder wenigstens minimal >befähigten FPGA-Entwickler? Langsam wirst Du mir hier zu frech.
Ale: >Die "Webeaktion" die mit Arduino gemacht wurde, hätten NXP oder Cypress >oder irgendjemand anders machen konnten, haben nicht. >Der Parallax Propeller, z.B. von 2006 ! ist es genauso einfach zu >programmieren und mehrfach so leistunsstark wie ein ATMegaIrgendwas, und >hat mehr pins !. chris: >>https://arduinohistory.github.io/ Das habe ich gerade im Artikel entdeckt: "The first prototype for Wiring used the Parallax Javelin Stamp microcontroller." So wie es aussieht, hätte beim Arduino fast Parallax das Rennen gemacht ;-)
chris schrieb: > So wie es aussieht, hätte beim Arduino fast Parallax das Rennen gemacht Ja, erstaunlich, dass die nicht ein wenig weiter sind. Die Firma ist nach meiner Einschätzung zu wenig agil. Ich habe schon vor 20 Jahren mit Parallax PICs gearbeitet und feststellen müssen, dass die was in den Markt werfen und es den OEMs überlassen, was draus zu machen. Wilkes BASIC-Tiger war so ein Projekt, mit dem wir damals gearbeitet haben. War in BASIC programmierbar. Das Ganze mit einer guten IDE und wir hätten schon in den 2000ern einen Paraduino gehabt! ETH-CAN-chips gab es von Beck und auch eine bluetooth-Modul hatten wir im Gebrauch. Man musste alles noch manuell zusammenbauen. Heute bekommt man das sicher alles in einen FPGA hinein, um zum Thema überzuleiten.
Also ich hab jetzt mehrere gängige Starter Kits da und hab sie verglichen: Bei Spartan 6: - Mojo v3 um 27€ für ganz einfache Sachen - das beste Kit ist klar der Mimas v2 um 50€ Bei Spartan 3e: - Das Open3S500e kit von Waveshare um 65€ ist unschlagbar Wenn man was moderneres will: - das Digilent Arty A7 um 99€
Thomas W. schrieb: > Wenn man was moderneres will: > - das Digilent Arty A7 um 99€ Das ist teure Scheisse, das kostet in Deutschland 116€ und dann zahlste noch für ein paar Pmods Xtra nur um ne 7segmentanzeige zum leuchten zu bringen: https://shop.trenz-electronic.de/de/26958-Arty-Artix-7-35T-FPGA-Evaluation-Kit Dann schon lieber ein gebrauchtes Spartan3AN bei ebay wie dieses: http://www.ebay.de/itm/Xilinx-XC3S500E-Spartan-3E-FPGA-STARTER-KIT-NEU-1-Stueck-/310620854594 das kostet deutlich weniger und die Peripherie wie VGA-Port, LCD, Audio, Drehencoder ist schon ohne PMod-kauf dabei: https://www.xilinx.com/support/documentation/boards_and_kits/ug334.pdf Die billigen boards heute, die ausser SDRAM und Lochreihen nix mitbringen lohnen sich IMHO nur für Selberlöter. Wenn man sich Module wie die Pmods dazu kaufen muß, Zahlt man schnell das board mehrmals: https://shop.trenz-electronic.de/de/Produkte/Digilent/Peripherie-Module/ wenn man ein Minimalistenboard sucht dann sollte man auch dieses an schauen (27€): https://shop.trenz-electronic.de/de/TEI0001-02-08-C8-MAX1000-IoT-Maker-Board-8KLE?c=455
Thomas W. schrieb: > > Bei Spartan 3e: > - Das Open3S500e kit von Waveshare um 65€ ist unschlagbar > Ich hab's im Thema FPGA zwar niemals über einen selbstgeschriebenen Rotationsencoder hinaus gebracht (und auch dafür habe ich einige Wochen Einarbeitung neben Job und Familie benötigt), aber das Spartan-3E FPGA Starter Kit Board fand ich für die Einarbeitung nahezu ideal. Insbesondere auch deshalb, weil es dafür so tolle Beispiele und Anleitungen im Netz gibt. Außerdem ist hinreichend viel Peripherie an Board, um sehr viele unterschiedliche Dinge ausprobieren zu können (siehe Angaben unter dem Spiegelstrich unten). Inzwischen wird das Board gebraucht für um die 50,- - 80,- EUR gehandelt. Meiner Meinung nach ein echter Schnapper. Ich würde es dem Open3S500e vorziehen, weil - bei gleichem FPGA-Chip - wesentlich mehr "Hühnerfutter" auf dem Board steckt. Ich muss aber zugeben, dass ich seit ca. 2-3 Jahren nichts mehr mit dem Board gemacht habe und meine Tipps hier evtl. veraltet sein könnten. Aber im Rückblick: die VHDL-Einarbeitung mit diesem Board hat seinerzeit riesigen Spaß gemacht. Viele Grüße Igel1 -------------------------------------------- Key Components and Features The key features of the Spartan-3E Starter Kit board are: • Xilinx XC3S500E Spartan-3E FPGA • Up to 232 user-I/O pins • 320-pin FBGA package • Over 10,000 logic cells • Xilinx 4 Mbit Platform Flash configuration PROM • Xilinx 64-macrocell XC2C64A CoolRunner™ CPLD • 64 MByte (512 Mbit) of DDR SDRAM, x16 data interface, 100+ MHz • 16 MByte (128 Mbit) of parallel NOR Flash (Intel StrataFlash) • FPGA configuration storage • MicroBlaze code storage/shadowing • 16 Mbits of SPI serial Flash (STMicro) • FPGA configuration storage • MicroBlaze code shadowing • 2-line, 16-character LCD screen • PS/2 mouse or keyboard port • VGA display port • 10/100 Ethernet PHY (requires Ethernet MAC in FPGA) • Two 9-pin RS-232 ports (DTE- and DCE-style) • On-board USB-based FPGA/CPLD download/debug interface • 50 MHz clock oscillator • SHA-1 1-wire serial EEPROM for bitstream copy protection • Hirose FX2 expansion connector • Three Digilent 6-pin expansion connectors • Four-output, SPI-based Digital-to-Analog Converter (DAC) • Two-input, SPI-based Analog-to-Digital Converter (ADC) with programmable-gain pre-amplifier • ChipScope™ SoftTouch debugging port • Rotary-encoder with push-button shaft • Eight discrete LEDs • Four slide switches • Four push-button switches • SMA clock input • 8-pin DIP socket for auxiliary clock oscillator
:
Bearbeitet durch User
Andreas S. schrieb: > Ich muss aber zugeben, dass ich seit ca. 2-3 Jahren nichts mehr mit > dem Board gemacht habe und meine Tipps hier evtl. veraltet sein könnten. Ich habs hier auch rumliegen (allerdings die 1600er Variante) und es wird immer wieder mal gebraucht für schnelle Testaufbauten. Veraltet? Teilweise natürlich schon. Aber als Anfängerboard absolut super. Später kann man dann z.B. bei Trenz et. al. Boards mit komplexen Steinen kaufen die deutlich weniger Krims drauf haben aber für dezidierte Apps günstiger sind. Ich denke, mit dem Board kann man nix falsch machen. /regards
Ich habe das folgende, baue einen Distanzsensor auf und bin damit sehr zufrieden. https://www.ebay.de/itm/Altera-Cyclone-IV-FPGA-Learning-Board-EP4CE6E22C8N-and-USB-Blaster-Programmer-/112520275228 Es ist alles drauf um anzufangen (Beeper, LEDs und Schalter) aber auch um weiterzumachen (AD-Wandler, SDRAM, Flash, USB-Seriell-Wandler, VGA-Port, IR-Empfänger, ...) Preislich macht man damit nichts verkehrt. Ich denke eine Spezialisierung kommt so wie so erst später. Dann weiß man aber genau was man möchte und kann sich ein entsprechendes Board aussuchen.
Beitrag #5495605 wurde von einem Moderator gelöscht.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.