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.