Servus, ich versuche mich gerade daran, den richtigen Einstieg in die FPGA/VHDL Welt zu finden. Zur Auswahl stehen nun Lattice, Altera und Xilinx. Für mich ist ausschlaggebend welche Entwicklungssoftware am Besten auf Linux läuft und für mich als Einsteiger wenig Fallstricke bietet. Was würdet ihr mir empfehlen? Das iceStick Board finde ich bisher sehr interessant. Aber ich kann leider nicht einschätzen ob man darin ein Softcore laufen lassen kann? Gibt es RISC-V dafür? Eine generelle Frage habe ich noch, wie realisiert man ein DDR Speicherinterface? Geht das mit jedem FPGA? Danke an euch Gurus. PS: ich werde natürlich erstmal kleine Brötchen backen
Hi D.C. ich persönlich finde, dass die Altera Software Quartus unter Linux am wenigsten Probleme gemacht hat. Wobei ich zugeben muss, dass ich schon lange nichts mehr mit Xilinx/Vivado gemacht habe. Ein gutes Board zum Einstieg fand ich: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=593 Und ja, darauf kannst du auf jeden Fall einen NiosII SoftCore Prozessor laufen lassen :-). Viel Spaß & Erfolg
D. C. schrieb: > Eine generelle Frage habe ich noch, wie realisiert man ein DDR > Speicherinterface? Geht das mit jedem FPGA? Eine Übersicht, welche (Altera/Intel-) FPGAs welches Memory-Interface unterstützen, findest Du hier: https://www.intel.com/content/www/us/en/programmable/support/support-resources/external-memory.html Kern ist die ALTDDIO_BIDIR IP, die unterstützt sein muss, um DDR ans Fliegen zu bekommen. Das ist nach meiner Kenntnis bei allen momentan käuflichen Alteras der Fall. Eine ähnliche Tabelle gibt's sicher auch von anderen Herstellern. Das Thema passt übrigens nicht so recht zu "kleine Brötchen", sondern geht eher Richtung 2-kg Bauernbrot. Zumindest, wenn man sich das Memory-Interface nicht nur erzeugen lassen, sondern auch verstehen (oder gleich selber bauen) will ... P.S.: ich habe alle Quartus-Versionen ab 9.1 auf Debian am laufen. Die frühen Versionen erfordern auf aktuellen Linux-Distributionen ein wenig Überredung, aber laufen tun sie alle.
:
Bearbeitet durch User
D. C. schrieb: > Zur Auswahl stehen nun Lattice, Altera und Xilinx. > Für mich ist ausschlaggebend welche Entwicklungssoftware am Besten auf > Linux läuft und für mich als Einsteiger wenig Fallstricke bietet. Für mich war damals beim Einstieg entscheidend, das die Xilinx Software für Linux kostenlos war (und Altera nicht). Das ist inzwischen kein Argument mehr. Lattice habe ich unter Linux noch nicht probiert. Altera und Xilinx funktioineren gut. Die Einrichtung des Xilinx-Programmers unter Linux war (ist?) kniffelig, das war bei Altera geschmeidiger. Duke
D. C. schrieb: > Zur Auswahl stehen nun Lattice, Altera und Xilinx. > Für mich ist ausschlaggebend welche Entwicklungssoftware am Besten auf > Linux läuft und für mich als Einsteiger wenig Fallstricke bietet. Was > würdet ihr mir empfehlen? Ich habe mich für Altera/Intel entschieden und kann die anderen Erfahrungen nur bestätigen. Läuft problemlos und die Software ist brauchbar. > Das iceStick Board finde ich bisher sehr interessant. Aber ich kann > leider nicht einschätzen ob man darin ein Softcore laufen lassen kann? > Gibt es RISC-V dafür? RISC-V ist eine ISA. Eine kompatible Mikroarchitektur musst Du entwickeln oder entsprechend auf eine lizensierbare oder OpenSource-Mikroarchitektur zurückgreifen. Generell kann man sagen, dass Du für eine (RV32E-)RISC-V Mikroarchitektur mit weniger als 1000 LUTs auskommen kannst, wenn Du auf Erweiterungen verzichtest. Nach oben hin sind natürlich keine Grenzen gesetzt. Du könntest auch eine Many-Core RISC-V CPU entwerfen, die jedes FPGA sprengt. Daher sollte so gut wie jedes FPGA dafür geeignet sein. Daher mein Vorschlag: Kauf Dir ein günstiges Altera CycloneIV-Board aus China oder von ebay. Damit kannst Du eine Menge machen. Gibt es ohne externes RAM für 15 Euro und mit RAM ab 25 Euro. Der CycloneIV wird noch von der aktuellen Quartus-Version von Intel/Altera unterstützt, die oft verkauften CycloneII-Boards nicht.
Lattice kann ich unter Linux für den Einstieg nicht empfehlen. Grund ist, dass der integrierte Aldec Simulator nur in der Windows Variante verfügbar ist. Xilinx läuft tadellos, Altera habe ich noch nicht getestet.
Tobias B. schrieb: > Lattice kann ich unter Linux für den Einstieg nicht empfehlen. > > Grund ist, dass der integrierte Aldec Simulator nur in der Windows > Variante verfügbar ist. > Das wäre für mich - ehrlich gesagt - nicht unbedingt ein Kriterium (vorausgesetzt, der Rest passt). Bei Altera ist zwar ModelSim-Altera dabei, aber dessen Integration ist so hakelig, dass ich es eigentlich nicht mehr benutze. GHDL ist für mich mittlerweile die bessere und flexiblere Alternative. Mit ein bißchen Makefile-Bastelei drumrum läuft das hübsch rund. Bei der Gelegenheit habe ich auch gleich das Quartus-GUI mit entsorgt und durch Makefiles ersetzt, was mir mit deutlich verkürzten Synthesezeiten, der freien Wahl des Editors und deutlich weniger Abstürzen gedankt wurde.
Zur Ansteuerung von DRAMs gibt es von Micron viele Applikationstexte https://www.micron.com/advanced-search
Danke schon mal für die Antworten :-). Aber gerne noch mehr Ratschläge.
Zynq, das ist das Beste zum Einsteigen und Lernen. Ein SOC-System hast du in 1h zusammengeklickt und am Laufen.
M. W. schrieb: > Zynq, das ist das Beste zum Einsteigen und Lernen. Ein SOC-System hast > du in 1h zusammengeklickt und am Laufen. Zusammengeklickt? Ja, bestimmt. Aber hat man dabei was gelernt? Eher nicht. Meine Meinung: das hier http://searle.hostei.com/grant/Multicomp/index.html kostet dich nur einen Bruchteil eines Zynq-Boards und lernen kannst Du dabei ein Vielfaches.
Moin, ich habe bisher alle A/L/X-Toolchains unter Linux angeschmissen, schenkt sich nicht so viel, allerdings ist die Konfiguration der Libraries teils etwas mühsam. Um das nicht immer wieder zu machen, empfiehlt sich eine funktionierende "Docker"-Konfig, auch um komplexe Builds anzuschmeissen. Details dazu: Google "Dockerized FPGA toolchains". Wenn man nicht genau die empfohlene Distro hat, funktioniert's oft nicht und man frickelt sich wieder am System rum, die Zeit muss man beim Dockern nur einmal opfern. Die Lattice Diamond hat jahrelang Faxen gemacht, dank eines hartnäckigen Bugs mit Dateinamen. Ist seit v3.9 aber nicht mehr aufgetreten... Und wenn man um den Aldec herumkommt, d.h. kein sinnlos vercryptetes Verilog simulieren muss/will, ist GHDL oder sonst icarus die bessere Alternative.
D. C. schrieb: > Für mich ist ausschlaggebend welche Entwicklungssoftware am Besten auf > Linux läuft und für mich als Einsteiger wenig Fallstricke bietet. Ich habe ein ISE 14.7 (finale Version) und ein Board mit Spartan6 unter Linux. Die ISE läuft, der Simulator läuft (allerdings habe ich mir für beides selber Makefiles gebastelt), einzig das Programmieren mit Impact braucht ein bisschen Fummelei. Außerdem habe ich Vivado mit einem Zynq benutzt, das lief problemlos unter Linux. Allerdings schiebe ich den Bitstream dort zur Laufzeit rein. D. C. schrieb: > Das iceStick Board finde ich bisher sehr interessant. Aber ich kann > leider nicht einschätzen ob man darin ein Softcore laufen lassen kann? > Gibt es RISC-V dafür? Clifford Wolf (der Entwickler von Icestorm und Yosys, also der Opensource-Toolchain für Verilog auf Lattice-FPGAs) hat PicoRV32 (seinen formal verifizierten RISC V-Core) auf so einem FPGA vorgeführt. Geht also nachweislich.
:
Bearbeitet durch User
Ich habe nur Erfahrung mit Altera und Lattice in privater Nutzung. Grundsätzlich ist es schonmal schön, dass die FPGA Hersteller ihre Software für Linux anbieten. Altera: Quartus von Altera funktioniert bei mir tadellos. Es bringt die verwendeten Libraries selbst mit, sodass nur wenig Abhängigkeiten zu deinem System bestehen. Habe Quartus unter Arch am laufen. Der Installer von Quartus lief bei mir bis jetzt unter allen Systemen. Lattice: Diamond gibt es für Linux nur als rpm File. Das musst du halt irgendwie installiert bekommen. Für Arch gibt es ein AUR Paket, das das richtig installiert. Ansonsten muss man diese Software da irgendwie rausfrickeln. Die Installation finde ich bei Altera unproblematischer. Zudem funktioniert Quartus danach auch. Diamond hat gewisse Eigenheiten. Ich konnte zum Beispiel den Programmer an meinem Rechner nicht nutzen, weil Diamond immer abgestürzt ist, sobald der Programmer angeschlossen war. Nach tagelangem Suchen im Internet und disassemblieren der Diamond Software habe ich manuell in der Executable von Diamonds Programmer einige "Codesstellen" umgebastelt, sodass es funktioniert.... hat. Beim nächsten Update war's wieder kaputt und ich hatte keine Lust mehr das nochmal zu reparieren. Falls jemand das Problem auch hat und sich zutraut dadrin rumzubasteln: Hier der Originalbeitrag. Hat bei mir nicht getan. Musste noch mehr modifizieren, aber der Kerngedanke stimmt: https://www.eevblog.com/forum/microcontrollers/lattice-diamond-is-making-me-sad/25/ Ein Vorteil von Lattice ist, dass sie sehr Hobby-freundiche FPGAs haben. Wenn du mal einen FPGA selbst auf ein Board bringen willst, der nicht besonders groß ist, dann hat LAttice da einiges mit Single-Supply, ohne externes ROM etc. Für den Anfang mit einem fertigen Board würde ich zu Altera tendieren. Wie es sich mit Xilinx verhält weiß ich nicht. Denke aber, dass das ähnlich wie Altera auch unproblematisch sein sollte. Allerdings finde ich die Bedienung von Vivado grausam. Bis ich den Pin Planner gefunden habe...
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.