VHDL IDE für eine GNU/Linux-Umgebung

Ich muss VHDL ab 0 lernen und hätte gerne eine Option, die unter einem Linux-Kernel statt unter NT/Windows läuft: Irgendwelche Tipps? Ich kann auch einige gute Links zu guten VHDL-Ressourcen für Anfänger sehr schätzen, danke.

Ich bin mir ziemlich sicher, dass einige der FPGA-Anbieter-Toolsuits jetzt in ihren kostenlosen Versionen unter Linux laufen - das war oft eine beliebte Art, mit HDL-Sprachen zu spielen.

Antworten (4)

Sowohl Xilinx ISE als auch Altera Quartus II IDEs laufen unter Linux. Kostenlose Downloads sind verfügbar:

http://www.xilinx.com/products/design-tools/ise-design-suite/ise-webpack.htm

https://www.altera.com/download/software/quartus-ii-we

Es gibt auch Symphony EDA:

http://www.symphonyeda.com/

was besser sein könnte, wenn Sie keine Synthese benötigen. Es ist ein nettes Stück Software. Die kostenlose Version könnte ausreichend sein.

Wow, das ist ausgezeichnet! Ich habe nie bemerkt, dass sie es auch für Linux anbieten.

Redakteure

Sie können jeden beliebigen Editor verwenden, um Ihr Design zu schreiben, aber ich möchte Sigasi vorschlagen . Sigasi 2.0 ist ein leistungsstarker Editor auf Basis von Eclipse, der automatische Vervollständigung, Refactoring, Code-Verschönerung und vieles mehr bietet. Ich habe Vim in der Vergangenheit oft verwendet, aber Sigasi war wirklich ein bedeutender Leistungsverstärker. Es ist für den akademischen Gebrauch kostenlos, also schlage ich vor, dass Sie es selbst sehen.

Simulatoren

Obwohl die meisten Anbieter-Suiten eine Art Compiler enthalten, ist eine einfachere Alternative möglicherweise besser:

  • GHDL : Open-Source-VHDL-Simulator basierend auf GNAT und GCC.
  • Simili : Kostenlos für kleine Projekte VHDL-Simulator und IDE.

Beides sind großartige Tools, die praktisch sind, da sie keine Lizenz erfordern, was ein Problem sein könnte, wenn Sie unterwegs oder zu Hause sind.

Synthese

Sowohl Altera, Xilinx als auch Actel bieten kostenlose Versionen ihrer Suite an, die Sie verwenden können, wenn Sie Ihr Design auf einem echten Ziel ausführen möchten.

Da ich in diesem Bereich arbeite, kann ich Ihnen einfach sagen, dass die seriösen Anbieter, einschließlich Xilinx und Altera, bereits Linux-Versionen ihrer Tools haben. Beide verblassen als Code-Editoren im Vergleich zu Emacs mit den entsprechenden Modi.

Für Simulationsschnittstellen sind sie in Ordnung, wobei ghdl, icarus verilog oder verilator gefolgt von gtkwave die kostenlose Alternative sind; Ich kenne keine andere praktische Schnittstelle für die Simulation als möglicherweise qucs (das in erster Linie ein Schaltungssimulator wie Spice ist, aber freehdl und icarus verilog verwendet, um digitale Komponenten zu simulieren). gtkwave reicht oft zur Analyse aus, obwohl die Datenmengen ziemlich groß werden.

Was die endgültige Synthese und die Platzierung und Route zu FPGA betrifft, gibt es derzeit keine wirkliche Alternative zu den unfreien Tools. Sobald Sie den Bitstream in einem geeigneten Format haben, ist die Programmierung weniger eingeschränkt, und für Boards wie ORDB2A (bei dessen Design ich mitgeholfen habe) verwenden wir kostenlose Tools wie UrJTAG . Wenn Sie auf ASICs abzielen, ist Alliance eine interessante Möglichkeit.

Der ORDB2A ist ausverkauft. Es sieht so aus, als wäre das O-Board ein guter Ersatz. Verfügbar auf mouser.
Außerdem gibt es jetzt kostenlose Software-Tools für einige Lattice-FPGAs; Siehe Projekt IceStorm.

Ich wollte gerade Emacs mit VHDL-Modus vorschlagen.

Dies würde Ihnen jedoch nur Codebearbeitungsfunktionen bieten, und Sie würden immer noch die ISE/QuartusII-Tools benötigen, um die Synthese durchzuführen.

Zu anfänglichen Lernzwecken kann der Code eher in eine Simulationsmaschine als in eine Synthesemaschine eingespeist werden (was ein Hardwaregerät erfordern würde, um die Ergebnisse zu sehen). Die FPGA-Anzüge enthalten oft ein gewisses Maß an Simulationswerkzeugen, werden also manchmal für diesen Zweck verwendet, obwohl die "echten" Simulatoren separate Pakete sind, die manchmal mit einer FPGA-Suite gebündelt und manchmal separat verkauft / veröffentlicht werden.