VHDL (VHSIC Hardware Description Language) ist eine stark typisierte Hardware-Beschreibungssprache für digitale Schaltungen. Sie entstand in den 1980er-Jahren im US-Verteidigungsprogramm VHSIC (Very High Speed Integrated Circuit) und ist seit 1987 als IEEE-Standard 1076 genormt. Mit VHDL werden FPGAs und ASICs beschrieben, simuliert und synthetisiert.
Grundprinzip: Entity und Architecture
Jedes VHDL-Design trennt die Schnittstelle von der Implementierung: Die Entity deklariert Ein- und Ausgänge, die Architecture beschreibt das Verhalten oder die Struktur. Ein einfaches UND-Gatter sieht so aus:
library ieee;
use ieee.std_logic_1164.all;
entity and2 is
port (a, b : in std_logic;
y : out std_logic);
end entity;
architecture behav of and2 is
begin
y <= a and b;
end architecture;
Wichtige Sprachmittel
- std_logic und std_logic_vector aus dem Package
ieee.std_logic_1164— der Standard-Datentyp für Signale - process mit Sensitivitätsliste für sequentielle Logik, signal für Verbindungen, variable für lokale Werte
- if/case innerhalb von Prozessen, generate für strukturelle Wiederholung
- strikte Typisierung: Signale unterschiedlicher Typen müssen explizit konvertiert werden
Werkzeuge und Befehle
GHDL ist der verbreitete Open-Source-Simulator. Der Arbeitsablauf besteht aus Analyse, Elaboration und Ausführung:
ghdl -a and2.vhdl # analysieren (Syntax- und Typprüfung)
ghdl -e and2 # elaborieren (Top-Level aufbauen)
ghdl -r and2 --vcd=out # simulieren, Wellenformen als VCD
Für die Synthese kommen kommerzielle Werkzeuge wie AMD Vivado oder Intel Quartus zum Einsatz, im Open-Source-Bereich auch Yosys. Testbench-Signale lassen sich mit GTKWave als VCD-Datei visualisieren.
Verwandte Grundlagen: Verilog-Befehle, SystemVerilog-Befehle, C/C++-Befehle, Assembly-Befehle.