AHDL
AHDL (Altera Hardware Description Language) ist eine Modellbeschreibungssprache, die von der Firma Altera zur Beschreibung von digitaler Hardware entwickelt wurde. Altera gehört neben Xilinx zu den größten Herstellern von Programmierbaren Logikbausteinen.
AHDL ähnelt der Hardwarebeschreibungssprache VHDL sehr, stellt jedoch ein paar zusätzliche, einfachere Möglichkeiten zur Spezifikation von Zustandsautomaten und Wahrheitstabellen zur Verfügung.
AHDL kommt vor allem bei der Benutzung der von Altera zur Verfügung gestellten Entwicklungstools zum Einsatz. Es ist damit möglich, das Verhalten von elektronischen Bauelementen und Modulen zu charakterisieren und diese mittels Simulatoren vorauszuberechnen, ohne sie real aufbauen zu müssen.
Ein Schaltungssimulator, der AHDL beherrscht ist z. B. SPECTRE.
Beispielcode
% Ein einfacher AHDL-Aufwärtszähler, der am 13 November 2006 als Public Domain freigegeben wurde%
% [Blockzitate durch Prozentzeichen erreicht] %
% Wie in C müssen AHDL-Funktionen prototypisiert sein%
% PROTOTYPE:
FUNCTION COUNTER (CLK)
RETURNS (CNTOUT[7..0]); %
% Funktionsdeklaration, wo die Eingaben, Ausgaben und bidirektionalen Pins
so wie in C deklariert werden, wo eckige Klammern Datenfelder darstellen %
SUBDESIGN COUNTER
(
CLK :INPUT;
CNTOUT[7..0] :OUTPUT;
)
% Variablen können von flip-flops (wie in diesem Falle), Puffern mit drei Zuständen,
endliche Automaten bis hin zu benutzerdefinierte Funktionen darstellen %
VARIABLE
TIMER[7..0]: DFF;
% Wie bei allen Hardwarebeschreibungssprachen sehe man alles
eher als eine Verdrahtung von Knoten als einen Algorithmus %
BEGIN
DEFAULTS
TIMER[].prn = VCC; % this takes care of d-ff resets %
TIMER[].clrn = VCC;
END DEFAULTS;
TIMER[].d = TIMER[].q + H"1";
END;