第3章MAXPLUS软件的使用第5节.docVIP

  • 2
  • 0
  • 约2.09万字
  • 约 29页
  • 2017-09-02 发布于浙江
  • 举报
第3章MAXPLUS软件的使用第5节

3.5用AHDL语言设计数字系统 AHDL语言是ALTERA公司开发的高效、易学的硬件描述语言,在max+plus2软件中使用它比VHDL语言更有效。 AHDL 简介 一个AHDL逻辑设计至少必须包含一个分设计段(Subdesign Section)和一个逻辑设计段(Logic Section), 其它段和语句是可选择的,AHDL的设计文件是用Max+PlusⅡ软件的文本编辑器编写的源程序(*.tdf) 下面介绍AHDL的一些语句。 常数叙述语句 该语句可以用一个字符串代表数字、算数表达式 例: CONSTANT UPPER_LIMIT = 130; CONSTANT BAR = 1 + 2 DIV 3 + LOG2(256); CONSTANT FOO = 1; CONSTANT FOO_PLUS_ONE = FOO + 1; (2) 定义函数语句 该语句可以定义一个在分设计中使用函数, 例: DEFINE MAX(a,b) = (a b) ? a : b; SUBDESIGN ( dataa[MAX(WIDTH,0)..0]: INPUT; datab[MAX(WIDTH,0)..0]: OUTPUT; ) BEGIN datab[] = dataa[]; END; 此例中MAX函数保证最小的数据位宽度。 (3)参数叙述语句 该语句可以声明参数化巨功能模块和宏功能模块的一个或几个参数 例: PARAMETERS ( FILENAME = myfile.mif, -- optional default value follows = sign WIDTH, AD_WIDTH = 8, NUMWORDS = 2^AD_WIDTH ); (4)函数描述语句 共有4种形式的逻辑函数可以供用户调用,它们是: Megafunction—具有复杂逻辑功能的巨功能模块,放在mega_LPM库中,可以供用户调用 Primitive—一些基本逻辑功能函数,可以直接调用 Macrofunction—具有高水平的逻辑宏功能模块,共有300多种,放在max2lib子目录中 State Machine—一种具有多个状态的时序电路,可以形成符号图形,用户可以调用 以上几种逻辑功能函数都可以以逻辑函数名和符号图形的方式被调用,在AHDL源文件中调用时要首先进行声明,见如下例子。 1)参数化函数: FUNCTION lpm_add_sub (cin, dataa[LPM_WIDTH-1..0], datab[LPM_WIDTH-1..0], add_sub) WITH (LPM_WIDTH, LPM_REPRESENTATION, LPM_DIRECTION, ADDERTYPE, ONE_INPUT_IS_CONSTANT) RETURNS (result[LPM_WIDTH-1..0], cout, overflow); 该函数名为lpm_add_sub,输入端口为 cin, dataa[LPM_WIDTH-1..0], and datab[LPM_WIDTH-1..0]; 关键字WITH后是参数表, 关键字RETURN后是输出口result[LPM_WIDTH-1..0], cout, and overflow 2)非参数化函数: FUNCTION compare (a[3..0], b[3..0]) RETURNS (less, equal, greater); 该函数名为compare,输入端口为a3, a2, a1, a0, b3, b2, b1, and b0. 关键字RETURN后是输出口less, equal, greater 3)状态机函数: 当输入和输出是状态机时,应该按照如下例子定义函数,在返回结果语句中加MACHINE关键字 FUNCTION ss_def (clock, reset, count) RETURNS (MACHINE ss_out); (5) 最小位数选择语句 定义一组数据中的最小数位是否是MSB(most significant bit)或LSB(least significant bit) 例: OPTIONS BIT0 = MSB; (6)断言语句 该语句可以检验表达式、参数、数据、计算函数有效性和端口的使用情况。 例: ASSERT (WIDTH 0) REPORT Width (%) must be a positive integer WIDTH SEVERITY ERROR HELP_ID INTVALUE; -- for internal Altera use on

文档评论(0)

1亿VIP精品文档

相关文档