Zum Inhalt springen

AHDL

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 21. März 2024 um 22:39 Uhr durch imported>Thomas Dresler (Format).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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“<ref>MegaCore functions Definition (Quartus II Help v13.1). Intel, 2013, abgerufen am 20. Dezember 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> auf Altera FPGAs) entwickelt wurde.<ref>Altera Hardware Description Language (AHDL) Language Reference Manual. 22. Juni 2019, abgerufen am 20. Dezember 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

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<ref>Quartus II Help v13.0. Altera (Intel), 2013, abgerufen am 20. Dezember 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> (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.<ref>Project Navigator - How do I convert an Altera AHDL file into a VHDL file? Xilinx, 4. Januar 2022, abgerufen am 20. Dezember 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

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;

Weblinks

Einzelnachweise

<references />