AHDL

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

AHDL (Altera Hardware Description Language) ist eine Modellbeschreibungssprache (ca. 1995), die von der Firma Altera zur Beschreibung von digitaler Hardware (dort: konfigurierbare IP-Blöcke names „MegaCore Functions“[1] auf Altera FPGAs) entwickelt wurde.[2]

AHDL ähnelt der Hardwarebeschreibungssprache VHDL, stellt jedoch ein paar zusätzliche, einfachere Möglichkeiten zur Spezifikation von Zustandsautomaten und Wahrheitstabellen zur Verfügung.

AHDL kommt bei der Benutzung der von Altera zur Verfügung gestellten (veralteten) Entwicklungstools Quartus II[3] (Stand 2022: Intel Quartus Prime) 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.

Eine Konversion von AHDL zu VHDL ist über das Xilinx Werkzeug „XPort“ möglich.[4]

Beispielcode[Bearbeiten | Quelltext bearbeiten]

% 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;

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. MegaCore functions Definition (Quartus II Help v13.1). Intel, 2013, abgerufen am 20. Dezember 2022 (englisch).
  2. Altera Hardware Description Language (AHDL) Language Reference Manual. 22. Juni 2019, abgerufen am 20. Dezember 2022 (englisch).
  3. Quartus II Help v13.0. Altera (Intel), 2013, abgerufen am 20. Dezember 2022 (englisch).
  4. Project Navigator - How do I convert an Altera AHDL file into a VHDL file? Xilinx, 4. Januar 2022, abgerufen am 20. Dezember 2022 (englisch).