Ihr erstes VHDL-Programm: Schritt-für-Schritt Hello World Tutorial
Beim Erlernen einer neuen Sprache ist das Ausgeben einer einfachen Nachricht der klassische Funktionstest. Das Meistern der Ausgabe von „Hello World!“ bestätigt, dass Ihre Umgebung korrekt eingerichtet ist und gibt einen ersten Einblick in die Kernsyntax der Sprache.
VHDL ist eine Hardware-Beschreibungssprache, keine klassische Software-Sprache, daher fragt man sich vielleicht, wie sie Text anzeigen kann. Der Trick: VHDL-Code wird in einem Simulator ausgeführt, der einen digitalen Schaltkreis emulieren und Diagnosemeldungen auf Ihren Bildschirm ausgeben kann. Dieses Tutorial konzentriert sich ausschließlich auf die Sprache, nicht auf FPGA- oder ASIC-Hardware.
Dieser Artikel gehört zur Serie „Basic VHDL Tutorials“.
Betrachten Sie VHDL als parallele Programmiersprache: Sie beschreiben, wie sich ein Schaltkreis verhält, und ein Simulator führt diese Beschreibung in einer virtuellen Umgebung aus. Innerhalb dieser Umgebung können Sie problemlos Konsolenausgaben erzeugen, was „Hello World!“ zum idealen Einstieg macht.
Kostenlose Installation eines VHDL-Simulators und Editors
Übung
Dieses Video-Tutorial führt Sie durch die Erstellung Ihres ersten VHDL-Programms:
Der finale Code, den wir erstellten:
entity T01_HelloWorldTb is end entity;
architecture sim of T01_HelloWorldTb is
begin
process is
begin
report "Hello World!";
wait;
end process;
end architecture;
Die Simulator-Konsolenausgabe nach dem Drücken von Run in ModelSim:
VSIM 2> run # ** Note: Hello World! # Time: 0 ns Iteration: 0 Instance: /t01_helloworld
Analyse
Ganz am Anfang deklarieren wir eine Entity. Die Entity definiert die Schnittstelle eines Moduls – seine Ein- und Ausgänge. Für einen einfachen Testbench, der nur eine Nachricht ausgibt, sind keine Ports erforderlich, daher bleibt die Entity absichtlich leer.
Als Nächstes spezifizieren wir die Architecture, die die interne Implementierung des Moduls darstellt. Die Architecture enthält die eigentliche Logik; eine einzelne Entity kann mehrere Architectures haben, aber das ist ein fortgeschrittenes Thema, das wir später behandeln.
Innerhalb der Architecture wird ein Process definiert. In VHDL verhält sich ein Process wie ein Thread, der Anweisungen sequenziell ausführt. Hier enthält der Prozess zwei Statements:
report "Hello World!"– sendet den Text an die Simulatorkonsole.wait;– hält den Prozess unendlich an und verhindert, dass der Simulator weitere Aktionen ausführt.
Bei der Simulation in ModelSim erscheint die „Hello World!“-Meldung sofort auf der Konsole, was bestätigt, dass der Code syntaktisch korrekt ist und der Simulator funktioniert.

Zusammenfassung
- In VHDL verhält sich ein
processwie ein Programm-Thread. - Das
report-Statement gibt Text auf der Simulatorkonsole aus. - Ein
wait;-Statement hält den Prozess für immer an – nützlich für einfache Testbenches.
Zum nächsten Tutorial »
VHDL
- Ihr erstes FPGA bauen: LED Blink Tutorial (VHDL & Verilog)
- C# Hello World – Ihre erste C#-Anwendung erstellen
- Java Hello World: Ihr erstes Programm
- String-Listen in VHDL erstellen: Best Practices & Beispiel
- Tcl-gesteuerter Testbench für ein VHDL Code-Lock-Modul erstellen
- PWM-Controller in VHDL implementieren: Design, Simulation & FPGA-Demo
- Ein robuster VHDL-Ringpuffer-FIFO im Block-RAM entwerfen
- Dynamische verkettete Liste in VHDL mit Protected Types und Access-Pointern
- In-Prozess-Prozeduren für saubere VHDL-FSM-Entwürfe nutzen
- Produktion beschleunigen: Wie Prototyping Ihren Fertigungsprozess verbessert