第五章 MAX+PLUSⅡ的高级使用

2019-03-03 10:50

第一部分CPLD器件及开发系统的使用

第五章 MAX+PLUSⅡ的高级使用

在第三章MAX+PLUSⅡ的基本应用已经介绍了MAX+PLUSⅡ基本的、通用的特性,包括文件编辑、综合仿真等内容。但由于不同的CPLD/FPGA器件的资源和性能都有所不同,而且多种设计方法综合利用也有助于提高设计速度和设计质量,因此本章结合这些方面的内容介绍MAX+PLUSⅡ更高级的使用。

5.1 波形输入编辑

逻辑电路的波形输入:打开MAX+PLUSⅡ,用鼠标点击新建,在图5-1中选择

选择*.WDF文件 图5-1 波形编辑启动界面

“Waveform Editor”,在下拉框中选择”“.wdf”扩展名,然后“OK”即可启动波形编辑界面,如果编辑简单输入、输出逻辑关系,使用波形编辑输入比较简单。如果输入、输出之间的关系比较复杂,使用波形编辑输入比图形输入和语言编辑要复杂。但如果只知道输入、输出波形,而不知道具体电路时,采用波形编辑就显得非常有用。

例:用波形编辑输入设计一个“或”逻辑关系

启动波形界面后(如图5-2),用鼠标双击编辑区的空白处,在弹出的对话框中添入输入、输出名称如a,b,c等。每输入一个名称,都要在同一界面中选择“INPUT”或“OUTPUT”如图5-3所示。本例中定义的输入、输出信号如图 5-2所示。下面就图5-2、5-3中的各个选项的含义及使用步骤介绍如下: 1、在“Node Name:”框输入信号名称,在“Default Value”中输入默认值。

138

第一部分CPLD器件及开发系统的使用

图5-2 波形编辑界面

图5-3 波形编辑中信号定义界面

默认值的类型可以是‘0’、‘1’、‘X’、‘Z’四种。如果信号是数组的形式定义

139

第一部分CPLD器件及开发系统的使用

的,则可以在波形界面利用“Ungroup”展开后,双击单个信号进行修改。默认值一般只用来仿真,综合后默认值都为0。输入信号为数组时其命名规则与AHDL的规则相同。

2、设置输入、输出类型

在“I/O Type”中选择信号的输入、输出类型。其中“Buried Node”与AHDL语言中的“Variable”子段的含义相同,是定义内部变量。 3、设置节点类型(Node Type)

如果信号设为输入类型,在节点类型中可以为“Pin Input”和“Machine”两种。如果信号为输出或“Buried Node” 类型,则可以选择寄存器类型(“Registered”)、组合类型(“Combinatorial”)或状态机类型(“Machine”)。如果选择了寄存器类型还要继续设置它的时钟(CLOCK)、预置端(Preset)和复位端(Reset)。 4、编辑信号的波形

将的信号“a”,“b”分别加激励信号图5-2中所示。输出信号“c”按“或”逻辑给出输出波形,用鼠标选中波形工具栏工具信号。如图所示编辑完成后,就可以编译、下载。 5、用波形输入法编辑四位加法器:

四位加法器在组合逻辑波形输入法中是一个比较复杂的,这里演示的目的无非说明较复杂的逻辑电路用波形编辑的方法,它比较有代表性。和图5-2、5-3的编辑方法一样,用鼠标双击空白编辑区,在弹出的对话框输入“a[3..0]”,“b[3..0]”,并定义为输入,“c[3..0]”定义为输出。输入波形要遵循这样一个原则,就是“a[3..0]”和“b[3..0]”在变化范围内,它们的每一次变化都能碰到,也就是说:当b[3..0]=0时,“a[3..0]”要从0变化到15,并给c[3..0]设置确定的值,b[3..0]=1,“a[3..0]”同样要从0变化到15,依次变化直到重新b[]=0为止。按照加法运算规则将“c[3..0]”的数据变化波形画好。如图5-4所示编译后,进行器件指定和管脚分配,重新编译就可以下载试验。

就可以很好地编辑各个

图5-4 四位加法器的波形输入

140

第一部分CPLD器件及开发系统的使用

6、 时序电路的波形输入

时序电路的波形输入和逻辑电路的波形输入基本相似,不同之处就是时序电路的波形输入需要用到触发器,且需要为触发器添加时钟,下面以12归1数字钟电路的设计为例进行介绍。在波形编辑区双击鼠标左键,在跳出的界面添入时钟“inclk”,“m[3..0]”,“n[3..0]”。其中“inclk”设为输入,“m[3..0]”、“n[3..0]”为输出,并设定为“register”类型,将“m[3..0]”、“n[3..0]”的时钟指定为“inclk”。其波形如图所示。如果一个周期的波形编辑完成后,时钟尚有多余的波形,可以把对应的多余的“m[]”和“n[]”都 设定为“x”。之后,就可以进行编译、器件指定、管脚分配和下载试验。同样在波形编译完成后,可以形成模块,方法和图形输入法,文本输入法形成模块

图5-5 计数器的设计输入

的方法一致。 7、 符号编辑:

由于利用波形编辑同样可以生成默认的符号和“Default Include File”以便在图形编辑、语言编辑中继续使用。为了能更好的使用已编辑的符号,有必要将形成的符号在符号编辑器中进行调整。符号编辑的目的一般是针对在图形编辑、波形编辑、文本编辑时形成的模块进行重新编辑,可以使模块使用更方便,更美观。如图可以用鼠标拖动输入、输出进行位置排列,然后重新编译,就可以生成美观实用的模块。

5.2 图形输入、文本输入、波形输入的综合应用

1、用图形输入法和波形输入法编辑的内容,只要生成模块就可以在文本编辑时使用。具体使用有两种方法:(1)如果在图形编辑和波形编辑时生成的是普通的默认模块(通过“Create default Symbol 产生),在文本编辑时在Subdesign

141

第一部分CPLD器件及开发系统的使用

关键字之前采用“Function(输入1,输入2,…) Return(输出1,输出2,…)的方式引用。(2)如果在图形编辑和波形编辑时生成的是“include”的默认模块(通过“Create include default Symbol 产生),在文本编辑时在Subdesign关键字之前采用 “Include 模块名.inc”的方式引用。如在图形编辑时形成的xadd8八位全加器的模块和在波形编辑时形成的12归1的include模块,在文本编辑时的引用如下例所示:

FUNCTION xadd8 (a[7..0],b[7..0],ci) RETURNS (s[7..0],co); subdesign xadd16

(ci,ma[15..0],mb[15..0]:input; co,s[15..0] ) variable

mxadd8,nxadd8:xadd8;

coa:node; begin

mxadd8.a[]=ma[7..0]; mxadd8.b[]=mb[7..0]; mxadd8.ci=ci; coa=mxadd8.co;

s[7..0]=mxadd8.s[7..0]; ----------------------- nxadd8.a[]=ma[15..8]; nxadd8.b[]=mb[15..8]; nxadd8.ci=coa; s[15..8]=nxadd8.s[]; co=nxadd8.co; end;

在例子中引用了用图形编写的八位全加器形成的普通模块,然后在文本编辑时引用,生成16为全加器,但在具体使用之前也就是在关键字“begin”之前一定要先定义变量,然后用变量引用。如程序中的如下两句: variable

mxadd8,nxadd8:xadd8;

142

:output;


第五章 MAX+PLUSⅡ的高级使用.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:谈判与推销技巧3

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: