AHDL
出典: フリー百科事典『ウィキペディア(Wikipedia)』
AHDLは、米アルテラ社がCPLDや FPGAの回路設計用に策定したハードウェア記述言語の一種である。
LPM(ライブラリ・パラメータ・モジュール)と呼ばれる仕様により、回路構成の厳密な管理がやりやすいという特徴を持つ。
このHDLは、自社及び同業他社であるザイリンクスなどが導入しているVHDL、Verilog HDLと競合関係にある。しかし採用している製品が限定的であるほか、技術情報が少なくIPなどの技術資産の蓄積も浅いことから、ハードウェア記述言語としてのシェアは低い状況にある。 特に日本国内では、課題として日本語による技術資料がほとんど存在しないため、アルテラ社製FPGAのシェアに反してマイナーな言語とされている。
例 [編集]
% a simple AHDL up counter, released to public domain 13 November 2006 %
% [block quotations achieved with percent sign] %
% like c, ahdl functions must be prototyped %
% PROTOTYPE:
FUNCTION COUNTER (CLK)
RETURNS (CNTOUT[7..0]); %
% function declaration, where inputs, outputs, and
bidirectional pins are declared %
% also like c, square brakets indicate an array %
SUBDESIGN COUNTER
(
CLK :INPUT;
CNTOUT[7..0] :OUTPUT;
)
% variables can be anything from flip-flops (as in this case),
tri-state buffers, state machines, to user defined functions %
VARIABLE
TIMER[7..0]: DFF;
% as with all hardware description languages, think of this
less as an algorithm and more as wiring nodes together %
BEGIN
DEFAULTS
TIMER[].prn = VCC; % this takes care of d-ff resets %
TIMER[].clrn = VCC;
END DEFAULTS;
TIMER[].d = TIMER[].q + H"1";
END;