1、附录2 MAX十PLUSⅡ操作指南 a2-1 MAX+PLUSⅡ开发平台简介 软件介绍:MAX+PLUSⅡ是美国Altera公司开发的一种全集成化的可编程逻辑设计软件平台。具有丰富的图形界面和完整、可即时访问的在线文档。提供一个真正与结构无关的可编程逻辑设计环境; 全集成化的一套可编程逻辑开发工具; 提供多种输入方式;可方便与其它工业标准设计输入、综合与校验工具链接。 公司网址: 一 、MAX+PLUSⅡ开发平台的特点 MAX+PLUSⅡ是Altera公司开发的一种全集成化的可编程逻辑设计软件平台。具有丰富的图形界面和完整、可即时访问的在线文档,使用户能又快又容易地学习和使用
2、 MAX+PLUSⅡ软件平台具有以下特点: l 结构无关 MAX+PLUSⅡ Compiler(编译程序)是MAX+PLUSⅡ系统的核心,提供一个真正与结构无关的可编程逻辑设计环境。该编译程序(或称编译器)还提供强有力的逻辑综合与最小化功能,使用户比较容易将其设计集成到器件中。 l 多平台 MAX+PLUSⅡ可在基于486、奔腾之PC的Microsoft Windows或 Windows NT下运行,也可以在Sun SPARC工作站、HP 9000系列700工作站和DEC ALPha AXP工作站的X Windows下运行。 l 全集成化MAX+PLUSⅡ的设计输
3、入、处理与校验功能一起提供了全集成化的一套可编程逻辑开发工具,可以加快动态调试,缩短开发周期。 l 模块组合式工具软件设计者可从各种设计输入、设计处理和设计校验选项中进行选择从而使设计环境用户化。由于MAX+PLUSⅡ支持各种器件系列,设计者不必学习新工具即可支持新结构。 l 硬件描述语言(HDL) MAX+PLUSⅡ支持各种HDL设计输入选项,包括VHDL、 Verilog HDL和Altera硬件描述语言AHDL。 l 开放的界面Altera的工作与CAE厂家联系紧密,MAX+PLUSⅡ可与其它工业标准设计输入、综合与校验工具链接。设计者可以使用Altera或标准CAE 设计输入工
4、具去建立逻辑设计,使用MAX+PLUSⅡ Compiler (编译程序)对Altera器件设计进行编译,并使用Altera或其它CAE校验工具进行器件或板级仿真。目前,MAX+PLUSⅡ支持与Synopsys、 Viewlogic、Mentor Graphics、Cadence、Exemplar、DataV0、Intergraph、Minc, OrCAD等公司提供的工具的接口。 二、MAX+PLUSⅡ开发平台提供的环境 设计输入 设计编译 效验与编程 图形设计输入 定时仿真 文本设计输入 MAX+PLUSⅡ编译器 功能仿真 波形设计输入 设
5、计规则检查 多器件仿真 底层编辑 逻辑综合与适配 定时分析 层次设计输入 多器件划分 器件编程 EDIF 标准CAD设计输入 自动错误定位 EDIF 标准CAD设计效验 LPM Cadence Mentor Graphics OrCAD Synopsys Viewlogic 定时驱动编译 Verilog VHDL Cadence Mentor Graphics OrCAD Synopsys Viewlogic 三、MAX+PLUSⅡ开发平台设计开发过程 使用MAX+PLUSⅡ开发平台设计开
6、发过程如图a2-1所示. 图a2-1 设计开发过程 a2-2 设计输入 a2-2-1 MAX+PLUSⅡ管理器 项目目录和项目名 MAXPLUSⅡ 功能菜单 快捷工具栏 状态栏 层 次 显 示 底层编辑 编 译 仿 真 时间分析 器件编程 存储检查 存储编译 存储仿真 设置当前项目 项目命名 进入MAX+PLUSⅡ后,出现MAX+PLUSⅡ管理器窗口,如图2-2所示. MAX+PLUSⅡ管理器由标题栏、菜单栏、工具栏、状态栏和工作桌面组成。标题栏显示MAX+PLUSⅡ管理器、项
7、目目录和项目名,若用户建立了自己的项目,就显示出驱动器到用户项目名的一个设计文挡。菜单栏提供使用MAX+PLUSⅡ各项功能菜单。快捷工具栏提供了操作MAX+PLUSⅡ快捷的功能按扭,分两大类:一类是与windows应用程序软件共有的快捷功能按扭,如保存文件、打开文件等;另一类是MAX+PLUSⅡ所特有的快捷功能按扭,各按扭的功能已在图2中标出。 a2-2-2 设计输入文件 MAX+PLUSⅡ设计输入文件可以由MAX+PLUSⅡ软件平台产生原理图文件和文本文件——AHDL、VHDL。又可利用3大EDA工具生成的文件作为输入文件。图2-3给出了设计输入文件的类型和特征。 图2-3 设计输
8、入文件 本部分主要介绍利用MAX+PLUSⅡ软件平台产生需要的设计文件。 1.原理图输入和符号编辑 (1)建立项目目录和项目名 选中File——Project——Name在项目目录d:\max下创建一个count项目名。 项目目录 项目名 (2)建立一个原理图文件 选中File——New出现对话框,选择原理图编辑文件,扩展名为.gdf。 文本编辑文件 波形编辑文件 符号编辑文件 (3)向原理图中填加符号。 键入符号名 或选中符号名 2.选择符号库选库中符号名 1.在空白处双击 可选择的符号库有:prim——基本逻辑符号库;mf——740
9、0家族;mega-ipm——参数模型库、兆函数、兆模块;用户自建符号库等。 (4)用74161和与非门构成一个模10 计数器。并创建一个模10 计数器的符号。 由原理图创建符号 (5)符号创建成功后,可以对符号进行编辑。 1.选中符号编辑 2.符号编辑窗口 2.硬件描述语言输入 MAX+PLUSⅡ软件包含一个集成的Text Editor(文本编辑程序),适合于输入和编辑用VHDL、Veri1pg HDL或AHDL(Altera硬件描述语言)编写的HDL(硬件描述语言)设计文件。MAX+PLUSⅡ Compiler (编译程序)可以对这些语言表达的逻辑进行综合并将
10、其映射到Altera的任何器件系列中。 这些HDL中的每一种都能实现状态机、真值表、条件逻辑和布尔方程,也支持加、减、相等和比较大小这样的算术运算。总的说来,有了这些特点,就不难用简炼的高级语言描述来实现复杂的设计了。 下面用VHDL语言设计一个编码器电路 (1)建立一个文本文件 选中File——New出现对话框,选择文本编辑文件,扩展名为.tdf,并将文件保存为bmq1.tdf。 (2)根据编码器的逻辑功能,编写VHDL程序。如图所示。 输出编码 输入信号 模块名 (3)编译文件。 选择菜单MAXPLUSⅡ——compiler对文件进行编译,由编译信息窗口查看编译信息
11、如有设计错误,检查源文件,再编译,直至编译通过。 编译信息窗口 编译窗口 (4)创建符号BMP1。方法同原理图编辑。 3.波形图输入 MAX+PLUS Ⅱ Waveform Editor 波形编辑程序或称波形编辑器)用于建立和编辑波形设计文件及输入仿真向量和功能测试向量。波形编辑程序还有逻辑分析仪的功能,设计者可以查看仿真结果。波形设计输入最适合于时序和重复的函数。Compi1er的先进的波形综合算法根据用户定义的输入波形及输出波形(经过寄存器的、组合的和状态机逻辑的)自动生成逻辑关系。Compiler自动为状态机分配状态位和状态变量。 波形编辑功能允许设计者对波形进行
12、拷贝、剪切、粘贴、重复与伸展,从而可用内 部节点、触发器和状态机建立设计文件;把波形组合成组,显示出二进制、八进制、十进制或十六进制值;通过把一组波形重迭到另一组波形上,对两组仿真结果进行比较。 下面用波形图输入方法设计一个七段共阳BCD码显示译码器。 (1)建立一个波形文件 选中File——New出现对话框,选择波形编辑文件,扩展名为.wdf。出现波形输入窗如图所示。 2.输入信号名 3.选择输入信号类型。 1.在信号输入区双击,出现插入节点对话框。 注意:总线信号表示为B[3..0]。 依此设定七段译码器的输入信号四位BCD码为B[3..0],输出七段驱动信号端为
13、a,b,c,d,e,f,g,且低电平有效。 (2)根据输入输出信号的关系,为输入输出信号赋波形,如图所示。 为输入信号赋值方法:用鼠标选中输入信号B[3..0]欲赋值的时间段如40.0ns~80.0ns,该段变为高亮,由于输入信号是总线信号,因此可直接选择图标,出现对话框,如图所示。在Group Value中输入0001,则该时间端,输入信号为0001。 输出信号赋值方法:根据输入信号和输出信号的关系,当输入信号为0000时,对应的七段控制信号abcdefg应为0000001。由于信号初始电平为0,因此只要将g段所对应的电平赋为1即可。赋值方法首先选中g段所对应的时间段0~40.0n
14、s,点击图标,即可给g段所对应的时间段0~40.0ns赋以1。 依此类推,可以为输入信号分时间段赋值0000~1111,同时根据输入信号取值,确定相应的输出控制信号abcdefg的值。 (3)编译波形文件,创建逻辑符号。 4.底层编辑 MAX+PLUSⅡ Floorplan Editor(底层编辑程序)(图 )显示器件引脚和逻辑单元分配逻辑的过程。设计方案中使用的表示每种器件的图形很容易进行逻辑布局。高层的和详细的器件视图都可供利用。设计者可在对设计进行编译之前分配引脚和逻辑单元,编译后再察看与修改结果。 底层编辑程序的特性允许设计者观察器件中所有已分配的和
15、未分配的逻辑。任何节 点或引脚都可以被拉到新的位置。可以把逻辑分配给专用引脚和逻辑单元,也可分配给器件中更加合适的区域。 未分配信号的管脚 已分配信号的管脚 5.层次设计输入 层次设计可能包含用几种不同格式建立的设计文件,包括原理图输入、HDL设计输入、波形设计输入和EDIF(电子设计交换格式)。 MAXPLUSⅡ在一个设计方案中支持多级层次。这种灵活性使设计者可以采用最适合于设计中每个部分的设计输入方法。MAXPLUSⅡ层次显示程序可以显示方案的层次结构,允许设计者穿越层次,自动打开适合于每个设计文件的编辑程序。 4.出现符号编辑窗口。 3.点击符号文件 2.出现层
16、次显示窗口。 1.点击层次输入按扭。 a2-2-3 设计处理 用MAX+PLUSⅡ软件设计平台采用相应的设计输入方法完成设计文件输入后,必须经Compiler (编译程序)进行处理,产生编程文件和仿真文件,Timing Ana1yze(定时分析程序)分析设计的定时,Message Processor(信息处理程序)自动定位错误。 例如:对前面用原理图输入方法建立的图形文件count.gdf进行编译。编译操作如下:首先选File——Project——Set Project to Current File,将图形文件count.gdf设置为当前文件;然后选MAX+PLUSⅡ—
17、—Complier或点击快捷工具栏按扭,对原理图进行编译,编译过程如图 所示,点击start编译开始。 1.自动错误定位 MAX+PLUSⅡ的Message Processor与MAX+PLUSⅡ的所有应用程序通信,报告错误、信息,对于连线或句法等问题给出警告消息。设计者可利用它自动打开有错误源的文件,并以高亮度显示错误位置。 2.逻辑综合与试配 MAX+PLUSⅡ Compiler的Logic Synthesizer(逻辑综合)模块对设计方案进行逻辑综合并让你看到设计实现的真正结果。该模块选择合适的逻辑化简算法,并去除冗余逻辑,确保对某种特定的器件结构尽可能有效地使用器件的逻辑
18、资源。还要去除设计方案中没用的逻辑。 逻辑综合选择有助于设计师引导逻辑综合的结果。 Altera提供三种“现成的”综合方式,可以为多种逻辑综合选择指定设置。可选择缺省方式,以设置缺省的综合选择;可以建立定制方式;还可以在被选择的逻辑功能上指定一些单独的综合选择。综合选择可以是面向特定器件系列专门设置的,以发挥器件结构的优势。很多先进的逻辑选择可以进一步扩展设计者对逻辑综合施加影响的能力。 Compiler的Fitter(试配)模块应用试探法把经过综合的设计最恰当地用一个或多个器件实现,这种自动试配功能使设计者得以从冗长的布局与布线工作中解脱出来。Fitter生成报告文件(Report Fi
19、le)(.rpf),该文件展示设计的具体实现以及器件中没使用的资源。 3.定时驱动的编译 Compi1er (编译程序)可以实现用户指定的定时要求,例如,传播延时、时钟到输出的延时、建立时间和时钟频率等。设计者可以为选定的逻辑功能指定定时要求,也可以把设计作为一个整体来指定定时要求。Fitter的报告文件提供详细信息说明设计中的定时要求是如何实现的。 4.设计规则检查 MAX+PLUSⅡ Compi1er (编译程序)包括有Design Doctor (设计规则检查程序)。该程序检查每个设计文件、因为能够造成系统级可靠性问题的逻辑,一般只有在设计已成为产品后才暴露出来。用户可以从预
20、先定义的三组设计规则中选择一种,这些规则对设计的检查一个比一个彻底,用户也可以建立自己的一组规则。 设计规则的基础是可靠性,这涉及到含有异步输入、行波时钟、以时钟为基础的多级逻辑、置位与清除的配置及竞争条件等性能的逻辑。指明规则违反的情况,以帮助设计者决定在设计中需要编辑哪些部分。 5.多器件划分 如果整个设计不能装入一个器件,Compiler(编译程序)的Partitioner(划分)模块可将设计进行划分以装人同一器件系列的多个器件中。划分时力图使所需器件数目尽可能少,同时要使用于器件之间通信的引脚数目最少。Fitter(试配模块)自动将逻辑装入指定的器件。 划分工作可以全部自动进行
21、可以部分由用户控制,也可以全部由用户控制进行。若设计太大无法装入指定器件,设计者可以指定增加器件的类型和数目。 6.编程文件的产生 Assemb1er (装配程序)模块为一个已编译的设计创建一个或多个编程目标文件(.pof)、 SRAM目标文件(.sof)和/或JEDEC文件(. jed)。MAX+PLUSⅡ编程器使用这些文件和标准的Altera硬件对所要求的器件进行编程。使用工业标准的其它编程设备也可对器件编程。此外,MAX+PLUSⅡ可以产生Intel格式的十六进制文件(.hex)、Tabu1ar文本文件(.ttf)和配置FLEX 8000器件使用的串行Bit流文件(.sbf)。
22、 A2-2-4 设计效验 设计校验过程包括设计仿真和定时分析,作用是测试逻辑操作和设计的内部定时。 1.仿真 MAX+PLUSⅡ的仿真器具有灵活性,可以控制对单器件或多器件设计的仿真。仿真器使用编译期间生成的二进制仿真网表进行功能、定时的仿真,或对组合连接起来的多个器件作为一个设计进行仿真。 例如:对前面设计的原理图count.gdf 进行仿真。 第一步 选中MAX+PLUSⅡ——Waveform Editor,出现无名的Waveform Editor; 第二步 在输入信号区,单击右键,出现下拉菜单,选中Enter Nodes Form SNF,进入Enter Nodes For
23、m SNF窗口;单击List按扭,在Available Nodes & Groups 列出所有的输入输出引脚;单击=>按扭,在Available Nodes & Groups中的内容进入右边Selected Nodes & Groups窗口,选OK出现如图所示的波形编辑窗口。 第三步 为输入信号赋值。由于设计计数器的输入信号只有时钟信号,因此选中时钟信号CP,如图所示。点击图标 ,出现对话框,输入相应的信息,于是便为计数器设定了时钟输入信号。 时钟周期为基本时钟周期的倍数起始电平 基本时钟周期 时钟起始电平 按二进制计数 第四步 存盘,默认值是count.scf。 第五
24、步 仿真分析 (1)功能仿真 MAX+PLUSⅡ Simulator(仿真器)支持功能仿真,可在对设计方案进行综合之前,试其逻辑操作,使设计者能迅速知道逻辑上的错误并改正之。MAX+PLUSⅡ的波形编辑器可显示功能仿真的结果,并且为访问设计(包括组合功能)中所有节点提供便利条件。 (2)定时仿真 在定时仿真里,MAX+PLUSⅡ的仿真器在设计方案被综合和优化之后,对其进行测试。进行定时仿真的分辨率是0.1ns。 (3)多器件仿真 MAX+PLUSⅡ可以把来自多个Altera器件的定时和/或功能信息组合起来,这样,设计者可以仿真几个器件在一起的工作。在同一设计中可以使用Altera不
25、同系列的器件。 仿真步骤:选中菜单MAX+PLUSⅡ——Simulator或点击快捷工具按扭,出现仿真窗口,选择Start开始仿真,仿真结果如图所示。 过渡态 2.定时分析 MAX+PLUSⅡ的Timing Analyzer(定时分析程序)可以计算点到点的器件延时矩阵,确定器件引脚上的建立时间与保持时间要求,还计算最高的时种频率。 MAX+PLUSⅡ的设计输入工具与Timing Ana1yZer集成在一起,这样只需简单地在设计中的起点和终端加上标志即可确定最短与最长的传播延时。此外,Message Processor(信息处理器)可以找出Timing Ana1yzer在设计文
26、件中已证实的关键路径,并在适当的设计编辑器中显示之。 定时分析步骤:选中菜单MAX+PLUSⅡ——Time Analyzer或点击快捷工具按扭 ,出现仿真窗口,选择Start开始定时分析,分析结果如图所示。 从分析结果可以看出,计数器的四个输出端Q3Q2Q1Q0相对于时钟脉冲的有效跳变沿有4ns的延迟。 同时,还可以对预测电路的最高工作速度。分析结果如图所示 2.出现分析窗口,点击Start开始分析。 1.选定时分析中工作速度仿真; 由分析结果可以了解设计电路的最高工作频率为151.51MHz。 A2-2-5 器件编程 设计效验完成后,由软件开发系统自动处理,生成目标
27、文件,且可经一定的方式把目标文件配置到芯片中,完成编程工作。 例:用MAXPLUSⅡ软件开发平台设计一个四位解密电路,密码是四位编码,当找到四位码时,输出相应的密码。 由于密码是四位二进制码,因此,设计使用了一片74161、一片四位比较器7485和一片8位锁存器,当检测到密码时,将密码锁存到锁存器。设计采用图形文件,文件命名为open.gdf。原理图如图 所示 电路的输入信号为时钟脉冲cp和清零信号cr,输出为四位密码信号Q3Q2Q1Q0。 设计电路经编译、设计效验满足设计要求,接下来就要对器件进行编程下载,制成ASIC芯片。 器件编程过程如下: 第一步 选择器件。在As
28、sign菜单中选中Device,出现Device窗口,选择芯片,如图所示。 选择芯片 选择器件家族 第二步 为输入输出安排管脚。 右击cp输入引脚,出现一下拉菜单,选择 Assign——Pin/Location Chip..,则出现如图所示的对话框。在Pin上分配83引脚,在Pin类型上选择Input,选择确定,则为cp分配了引脚。同理,可为cr、Q3、Q2、Q1、Q0分配引脚48、15、16、17、18。 第三步 存储编译,产生 .pof文件。具体操作:File——Project——Save&Complier。 第四步 编程下载。 在MAX+PLUSⅡ菜单中选中Programmer或点击快捷工具按扭,出现Programmer窗口如图所示。 在Option菜单上选中Hardware Setup,出现Hardware Setup窗口。选择硬件类型和相应的输出口。 编程窗口 此时软硬件连接完毕,点击Programmer窗口的Programmer项即可完成器件编程。 输出口 硬件类型 硬件设置窗口






