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