MAXPLUS软件的使用(第3章第5节).docx

上传人:scccc 文档编号:14421329 上传时间:2022-02-05 格式:DOCX 页数:8 大小:70.62KB
返回 下载 相关 举报
MAXPLUS软件的使用(第3章第5节).docx_第1页
第1页 / 共8页
MAXPLUS软件的使用(第3章第5节).docx_第2页
第2页 / 共8页
MAXPLUS软件的使用(第3章第5节).docx_第3页
第3页 / 共8页
MAXPLUS软件的使用(第3章第5节).docx_第4页
第4页 / 共8页
MAXPLUS软件的使用(第3章第5节).docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《MAXPLUS软件的使用(第3章第5节).docx》由会员分享,可在线阅读,更多相关《MAXPLUS软件的使用(第3章第5节).docx(8页珍藏版)》请在三一文库上搜索。

1、MAXPLUS软件的使用(第3章第5节)3.5用AHDL语言设计数字系统AHDL语言是ALTERA公司开发的高效、易学的硬件描述语言,在maxlus2软件中使 用它比VHDL语言更有效。3. 5. 1AHDL简介一个AHDL逻辑设计至少必须包含一个分设计段(Subdesign Sect ion)和一个逻辑设计 段(Logic Section),其它段和语句是可选择的,AHDL的设计文件是用Max-Plus II软件的文本编辑器编写 的源程序(*. tdf)下面介绍AHDL的一些语句。 (1)例:CONSTANT UPPER_LIMIT = 130;CONSTANT BAR = 1 + 2 DI

2、V 3 + L0G2(256); CONSTANT FOO = 1;CONSTANT FOO PLUS ONE = FOO + 1;(2)定义函数语句该语句可以定义一个在分设计中使用函数,例:DEFINE MAX(a, b) = (a b) ? a : b; SUBDESIGN (dataaMAX(WIDTH, 0).0: INPUT; databMAX(WIDTH, 0).0: OUTPUT; ) BEGINdatab = dataa口; END;此例中MAX函数保证最小的数据位宽度。(3)参数叙述语句该语句可以声明参数化巨功能模块和宏功能模块的一个或几个参数114常数叙述语句该语句可以用一

3、个字符串代表数字、算数表达式例:PARAMETERS (FILENAME = WIDTH, AD.WIDTH = 8,NUMWORDS = 2 二AD_WIDTH );(4)函数描述语句共有4种形式的逻辑函数可以供用户调用,它们是:Uegafunction一具有复杂逻辑功能的反功能模块,放在mega_LPM库中,可以供用户 调用Primitive一一些基本逻辑功能函数,可以直接调用Uacrofunction-具有高水平的逻辑宏功能模块,共有300多种,放在max21ib子目 录中State Machine种具有多个状态的时序电路,可以形成符号图形,用户可以调用以上几种逻辑功能函数都可以以逻辑函

4、数名和符号图形的方式被调用,在AHDL源文件中 调用时要首先进行声明,见如下例子。1)参数化函数:FUNCTION lpm.add.sub (cin, dataaELPM_WIDTH-l. 0, databLPM_WIDTH-l. 0, add.sub) WITH (LPM_WIDTH, LPM_REPRESENTATION, LPM_DIRECTION, ADDERTYPE, ONE_INPUT_IS_CONSTANT)RETURNS (resultLPM_WIDTH-l. .0, cout, overflow);该函数名为 lpm_add_sub,输入端口为 cin, dataaLPM_W

5、IDTH-l. . 0, and databELPM_WIDTH-l. 0;关键字 WITH 后是参数表,关键字 RETURN 后是输出口 result LPM_WIDTHT.O, cout, and overflow 2)非参 数化函数:FUNCTION compare (a3. .0, b3.O)RETURNS (less, equal, greater);该函数名为compare,输入端口为a3, a2, al, aO, b3, b2, bl, and bO.关键字 RETURN 后是输出口 less, equal, greater 3)状态机函数:当输入和输出是状态机时,应该按照如下例

6、子定义函数,在返回结果语句中加 MACHINE关键字FUNCTION ss_def (clock, reset, count)115RETURNS (MACHINE ss.out);(5)最小位数选择语句定义一组数据中的最小数位是否是MSB (most significant bit)或LSB ( least significant bit)例 J:OPTIONS BITO = MSB;(6)断言语句该语句可以检验表达式、参数、数据、计算函数有效性和端口的使用情况。例:ASSERT (WIDTH 0)REPORT HELP_IDERRORINTVALUE; for internal Alter

7、a use onlySEVERITY在该例中,WIDTH。是断言条件,若此条件不满足,将显示REPORT后的内容和 SEVERITY后的错误等级。(7)分设计段分设计段声明输入、输出和双向口例:SUBDESIGN top ()端口类型可以是:INPUT, OUTPUT, BIDIR, MACHINE INPUT,或 MACHINE OUTPU其中MACHINE INPUT或MACHINE OUTPUT 口不能用于TDF的顶层,在端口类型说明后 可以加端口当前电平一VCC或者是GNDo(8)变量段该段是声明和产生逻辑段中使用的变量的地方,如下是变量段的例子。VARIABLEfoo, bar, c

8、lkl, clk2 : INPUT = VCC; aO, al, a2, a3, a4 b7. .0:OUTPUT;:BIDIR;a, b, c : NODE;116temp : halfadd;ts node : TRI STATE NODE;IF DEVICE.FAMILY = TE8kadder : flex_adder; d, e:NODE;ELSE GENERATE7kadder : pterm-adder; f, g:NODE;END GENERATE;1)函数变量声明例:VARIABLEcomp : compare;adder : lpm_add_sub WITH (LPMJVI

9、DTH = 8);该变量段声明comp为函数compare的引用变量,声明adder为函数lpm_add_sub的 引用变量,一旦声明完毕,就意味着:变量comp就是如下端口的代表:a3.O,b3.0:INPUT;-inputs to compareless, equal, greater : OUTPUT; outputs of compare 而变量 adder 是如下端 口的代表:b8.l sumE8. 1:INPUT;一一 inputs of adder-outputs of adder:OUTPUT;也就是如下的引用变量可以使用在当前的设计文件中:comp.aD, eomp.bU,c

10、omp, less, comp, equal, comp, greateradder. dataaE, adder. datab,adder, result 2)节点变量声明AHDL软件支持两种节点形式:NODE and TRI.STATE.NODEo例:SUBDESIGN node.ex ()VARIABLEa, oe : INPUT; b c:OUTPUT;: BIDIR;b : NODE;t : TRI STATE NODE; b = a;119BEGINout = b % therefore out = a % t = TRI (a, oe) ; t = c;% t is bus of

11、 c and tri_stated a %END;如下的端口和功能模块能连接三态节点(TRI_STATE_NODE) : TRI三态功能模 块输入端口 (INPUT)端口从高层向下输出或双向口(OUTPUT, BIDIR)从低层向上当前文件中的双向口(BIDIR)当前文件中的三态节点TRI_STATE_NODE3)寄存器变量声明该声明用于声明寄存器:D型:DFF, DFFE, T型:TFF, TFFEJK 型:JKFF, JKFFE, SRFF, SRFFE 琐存器:LATCH 例:VARIABLE ff : TFF;该变量一旦声明完毕,就可以使用如下变量:ff. t, ff. clk ff. clrn, ff. prn, ff. q对于只有一个输出的功能模块,可以简化使用。DFF的功能说明为:FUNCTION DFF(d, elk, clrn, prn) RETURNS (q)则对于如下的变量段,逻辑段 的意思是a.d = b. q; VARIABLEa, b : DFF; a = b; BEGIN END;4)状态机变量声明例:感谢您的阅读,祝您生活愉快。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1