资源描述
,AHDL 语言,What is AHDL,Altera Hardware Description Language AHDL语言是ALTERA公司开发的高效、易学的硬件描述语言,在Max+plus软件中使用,它比VHDL语言更有效,SUBDESIGN Example ( A,B,C,D : INPUT; Ena : OUTPUT; ) BEGIN Ena = A ,分设计段,变量段,一个AHDL逻辑设计至少必须包含一个分设计段(Subdesign Section)和一个逻辑设计段(Logic Section),其它段和语句是可选择的,AHDL的设计文件是用Max+Plus软件的文本编辑器编写的源程序(*.tdf),逻辑段,AHDL一般语言结构,AHDL应用举例,前面路灯的例子 对应AHDL语言,逻辑段布尔方程,逻辑段中布尔方程用于表达节点之间的逻辑关系,该关系必须遵从逻辑规则。 表达式的左边可以是一个字符变量、端口和组,右边是布尔方程表达式。,a = (c ,逻辑段布尔控制方程,该控制方程用于建立状态机的时钟、复位和时钟使能信号。 该控制方程的格式为.,所以该例中状态机名是ss,三个端口:时钟、复位和使能。,ss.clk = clk1; ss.reset = a ,逻辑段CASE语句,CASE f.q IS WHEN H00 = addr = 0; s = a ,逻辑段缺省叙述语句,BEGIN DEFAULTS a = VCC; END DEFAULTS; IF y ,该语句指定真值表中变量的缺省值,逻辑段IF THEN语句,IF a = b THEN c8.1 = H 77; addr3.1 = f3.1.q; f.d = addr + 1; ELSIF g3 $ g4 THEN f.d = addr; ELSE d = VCC; END IF;,逻辑段FOR GENERATE 语句,CONSTANT NUM_OF_ADDERS = 8; SUBDESIGN 4gentst ( aNUM_OF_ADDERS.1, bNUM_OF_ADDERS.1, cin : INPUT; cNUM_OF_ADDERS.1, cout : OUTPUT; ) VARIABLE carry_out(NUM_OF_ADDERS+1).1 : NODE; BEGIN carry_out1 = cin; FOR i IN 1 TO NUM_OF_ADDERS GENERATE ci = ai $ bi $ carry_outi; % Full Adder % carry_outi+1 = ai ,逻辑段真值表语句,TABLE a0, f4.1.q = f4.1.d, control; 0,B0000=B0001, 1; 0,B0100=B0010, 0; 1,B0XXX“=B0100, 0; X,B1111=B0101, 1; END TABLE;,该语句用于指定组合逻辑和状态机的输入和输出行为,小结,AHDL语言易学好用,是学习硬件描述语言的基础语言 系统学习硬件语言应该向VHDL发展,Do It Yourself,
展开阅读全文