Moin liebe Community,
ich bin gerade im Masterstudium und muss wohl im nächsten Semester
relativ viel auf einem FPGA programmieren. Es geht wohl vorallem in
Richtung Regelung.
Ich habe bereits im Bachelor ein wenig mit VHDL programmiert, bin darin
aber nicht wirklich fit.
Von daher wollte ich mir ein Evaluationsboard zulegen, um schonmal grob
wieder in die Thematik einsteigen zu können.
Die Frage ist, ob ihr irgendwelche Empfehlungen für ein solches Board
habt. Ich bin unter anderem auf dieses hier gestoßen:
https://www.nandland.com/
Gibt es Hersteller (Xilinx, Altera, Lattice), die besonders geeignet
sind? Es wäre wichtig, dass es auch relativ viel Hilfe oder
Beispielprojekte gibt, falls ich nicht weiterkomme.
Da ich im Studium bin, kann ich leider auch nicht wirklich viel Geld für
ein solches Board ausgeben.
Vielleicht könnte ihr mir ja dabei helfen.
Schönen Gruß
Syrius
Syrius schrieb:> Da ich im Studium bin, kann ich leider auch nicht wirklich viel Geld für> ein solches Board ausgeben.>> Vielleicht könnte ihr mir ja dabei helfen.
Normalerweise kann da der Prof mit Zugang zum FPGA-Labor weiterhelfen.
Und mit Boards zum Uni-Rabatt.
Hallo!
Ich würde zuerst mal klären, welchen Hersteller du im nächsten Semester
vorgesetzt bekommst (Falls es eine Vorgabe gibt).
Und dann ein Board aussuchen, mit einem FPGA dieses Herstellers.
Dann kannst dich schon mal in das Werkzeug einarbeiten und fängst da
nicht wieder von vorne an
Syrius schrieb:> https://www.nandland.com/
Mir wären es zuwenig I/O, aber für den Einstig ok.
> Gibt es Hersteller (Xilinx, Altera, Lattice), die besonders geeignet> sind?
Es sind alle geeignet. Nimm das, was ihr an der Hochschule verwendet
habt. Da kennst Du die Software schon.
Duke
Das Problem ist, dass es sich um einen kooperativen Studiengang handelt.
D.h. ich kenne weder die Professoren aus dem nächsten Semester, noch die
Laborausstattung, da das nächste Semester an einer anderen Hochschule
ist.
Unterscheiden sich die Hersteller von der eigentlichen Programmierung?
Oder nur an der Entwicklungsumgebung?
Syrius schrieb:> Unterscheiden sich die Hersteller von der eigentlichen Programmierung?> Oder nur an der Entwicklungsumgebung?
von der grundlegenden Programmierung unterscheiden sie sich nicht. VHDL
verstehen alle Tools.
Aber die Hersteller unterscheiden sich natürlich in den Tools und sie
unterscheiden sich in der Tatsache, wie bestimmte Komponenten auf dem
Chip wie RAM, PLL, etc instanziiert werden.
Aber es ist nicht so, dass man das Wissen dann nicht von eimem
Hersteller zum anderen transferieren könnte.
Allerdings wäre es natürlich einfacher gewesen, wenn du schon wüsstest,
welchen Hersteller du zukünftig verwenden wirst.
Syrius schrieb:> Unterscheiden sich die Hersteller von der eigentlichen Programmierung?> Oder nur an der Entwicklungsumgebung?
Sie machen zwar alle FPGAs, aber jeder auf seine eigene Art. Und zwar
vom FPGA bis zur Toolchain und dem Programmer.
> Unterscheiden sich die Hersteller von der eigentlichen Programmierung?
Ein Tipp vorweg: nenne nicht "programmieren" und "FPGA" im selben Satz.
Und dann ist es so: vom gesamten Sprachumfang von VHDL kannst du
vieleicht 5% synthetisieren. Welche 5% das sind, steht im Manual zum
Synthesizer, den du gerade verwendest.
So kann der eine Synthesizer z.B. Initialwerte, der andere kann die
nicht. Und zwar obwohl sowohl das FPGA wie auch die Sprache VHDL das
natürlich kann.
Bei der einen FPGA-Familie sollte man keine asynchronen Resets
verwenden, bei der anderen ist es ratsam.
Alles klar, danke schonmal für die schnellen Antworten.
Ich werde mal versuchen etwas über die Laborausstattung herauszufinden,
welche Hardware dort verwendet wird.
Für akademische Zwecke und gerade, wenn's noch um analoges geht
(Stichwort Regelung) würde ich MyHDL empfehlen. Man spart damit viel
Zeit und kann nachträglich die architektur-relevanten Sachen
(insbesondere die ResetSignal-Thematik) umschalten. Es gibt zwar anfangs
mehr Arbeit, aber man kann sich optimal auf das eigentliche Thema
fokussieren, anstatt dauernd über die Eigenheiten der unterschiedlichen
Vendor-Tools zu stolpern (und oft nicht wissen, wo man suchen muss).
Insbesondere bei der Arithmetik kommt bei MyHDL ziemlich sauberes VHDL
raus, was die Tools alle sauber verwursten (also frei von
ungeliebten/problematischen 'std_logic_arith'-Implementierungen). Mein
Fazit: Perfekt für DSP.
Aber: Wenn deine Betreuer sich nicht drauf einlassen wollen, musst du
ev. gegen Widerstände und verkrustete "Das haben wir schon immer so
gemacht"-Meinungen anschwimmen.
Syrius schrieb:> https://www.nandland.com/
Gut Werbung gemacht!
Wenn es Dir darum ginge, ein FPGA board zu erwerben, dann hätte man hier
im Forum die Liste ansehen und sich was aussuchen können.
Markus W. schrieb:> Gut Werbung gemacht!>> Wenn es Dir darum ginge, ein FPGA board zu erwerben, dann hätte man hier> im Forum die Liste ansehen und sich was aussuchen können.
Es ging mir nicht darum Werbung zu machen, bin nur zufällig darüber
gestolpert.
Die Liste mit den Eva-Boards habe ich mir sehr wohl angeguckt. Aber als
Anfänger in der FPGA-Welt bin ich damit ein wenig überfordert, welches
Board nun wirklich sinnig ist.
Und bevor ich irgendwas kaufe und nicht zufrieden bin, wollte ich mal
nachfragen.
Ich habe nun herausgefunden, dass im nächsten Semester mit
Xlilinx-Boards gearbeitet wird.
Der Unterschied zwischen den aktuellen FPGAs von Xilinx (7er-Generation)
und den vorherigen Versionen (z.B. Spartan3E oder 6) ist enorm, weil ein
komplett anderes Programm benutzt wird.
Andererseits kriegt man Devboards mit denen recht günstig aus Asien.
S. R. schrieb:> Der Unterschied zwischen den aktuellen FPGAs von Xilinx (7er-Generation)> und den vorherigen Versionen (z.B. Spartan3E oder 6) ist enorm, weil ein> komplett anderes Programm benutzt wird.
So enorm ist es IMHO nicht, es ist immer noch Hardwarebeschreibung in
VHDL/Verilog. Auch die Toolchain ist im Prinzip gleich, allerdings hat
sich Sntax und Struktur der "Configfiles" geändert.
Aber die Hauptschwierigkeiten für nen Anfänger sind immer noch die
selben - alles was man über C-Programmierung o.ä.kennt über Bord werfen
und sich mit den Grundlagen von Digitaler Schaltungstechnik
(Multiplexer, synchrones Design, FSM, FIFO, PAD-Bschaltung)
beschäftigen.
Mit Vivado wird man aber schneller in die Richtung SoC (uC im FPGA) mit
SDK,Programmierung, Bootcode etc. gedrängt als mit ISE und EDK. Das ist
dann noch ne Schippe Komplexität oben drauf.
Für mich war das Hauptproblem nicht, in VHDL eine LED zu beschreiben und
blinken zu lassen (das lernt man an der Hochschule hoch und runter),
sondern diese VHDL-Beschreibung auf einen FPGA zu bekommen und die LED
blinken zu sehen.
Wenn man das einmal durch hat, geht das.
Aber der Einstieg war schon ziemlich hart.
Du meinst, die Verwendung der Synthese? Das fand ich am Einfachsten.
Problematischer sind die Kämpfe mit der Einbindung irgendwelcher
Drittpartie-Cores, die von irgendwelchen Leuten gemacht wurden, die
unzureichend dokumentieren. Oftmals haben die auch Takte und Enable und
Datenformarte die bedient werden wollen und einen wrapper nach dem
anderen erfordern.