MAX+PLUSⅡ开发工具入门
0赞MAX+PLUSⅡ开发工具入门
MAX+PLUSⅡ(Multiple Array matriX Programmable Logic User System II)是Altera公司提供的完善的、高度集成的EDA设计工具,其集成设计输入编辑器、HDL综合器、仿真器、适配器(或布局布线器)、下载器等等工具于一体,且支持第三方的综合和仿真工具。MAX+PLUSⅡ界面友好、使用方便、具有完整的工程文档管理和在线访问功能,被誉为最易学习用的EDA软件,目前已发行到了10.2版本。
MAX+PLUSⅡ能完成Altera公司的可编程逻辑器件(Programmable Logic Device,缩写为PLD)开发所需的几乎全部工作。提供了一种与结构无关的设计环境,设计者无需精通PLD内部的复杂结构,只需运用熟悉的输入方式(如原理图输入或HDL)即可进行电子系统设计,运用MAX+PLUSⅡ提供的快速处理和器件编程功能就可以由PLD实现设计。
QuartusⅡ是Altera公司继MAX+PLUSⅡ之后推出的新一代的功能更强大的EDA软件,QuartusⅡ完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL与Verilog源程序的综合器,QuartusⅡ还可以直接调用第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA CompilerⅡ等,这些综合器有着更好的综合效果。QuartusⅡ同样具备仿真功能,也支持第三方的仿真工具,如Modelsim。
MAX+PLUSⅡ和 QuartusⅡ软件都还不能支持Altera的全系列产品,QuartusⅡ支持Altera的最新器件(如APEXⅡ和Stratix系列)或集成度较高的器件,MAX+PLUSⅡ支持Altera的CPLD及低集成度的FPGA,即支持MAX和Classic中的任何系列及FLEX较早的系列、由于实验使用的MAX7000S的EPM7128SLC84-15(宏单元数128,可用门数2500,84引脚封装,5V电源)CPLD,因此,本书的相关实验是基于MAX+PLUSⅡ的,而且MAX+PLUSⅡ的应用和设计流程具有一定的典型性和代表性,所以在此对MAX+PLUSⅡ作一些介绍。
一、下载MAX+PLUSⅡ 软件
MAX+PLUSⅡ是应用比较广泛的EDA软件,实验室的计算机上已经安装有MAX+PLUSⅡ。但是在这个网络时代,如果有计算机的话可以从Altera公司网站随时下载最新版本的软件,如果无需下载可以跳过本节,直接安装软件并阅读如何取得软件的使用授权。
步骤1:下载最新版本的MAX+PLUSⅡ软件,必须链接到Altera公司(www.altera.com)的软件下载网页。但Altera公司的网页改版比较频繁,本书结稿时下载网页是在http:/www.altera.com/support/software/download/sof-download_center.html。在进入软件下载网页后,请点击选择MAX+PLUSⅡBASELINE下载。
步骤2:在选择了MAX+PLUSⅡ的下载连接之后,接着会被要求填写一些注册资料,按要求填写完之后按【Register】注册。
步骤3:在完成了前面的注册之后,才真正的进入了软件下载网页,请点选MAX+PLUSⅡ软件下载,软件大约50MB。如果不是宽待网的话,下载会非常慢(约9个小时)。
二、取得软件的使用授权(即license文件)
在下载MAX+PLUSⅡ软件的步骤3中,也可以看到获取license的信息提示,直接点击并按照以下步骤2 、3和4操作。
步骤1:和软件下载网页类似,本书结稿前Altera公司最新的软件授权网页位置是在http://www.altera.com/support/licensing/lic-index.html。当进入软件授权网页之后,请点选“Free MAX+PLUSⅡ BASELINE Software”。
步骤2:在点选我们想要取得的软件授权之后,会被要求输入您电脑的网卡编号(Network Interface Card,缩写为NIC)。如果不知道该编号,请按步骤3的说明取得这个编号。如果已经知道了这个12位的号码,就请直接输入并按下【Continue】并直接进入步骤4。
步骤3:首先选择【开始】菜单中的【运行】功能项,在出现的对话框中输入“command”并按下【确定】,出现command prompt窗口。然后输入“ipconfig /all
”,Physical Address行显示的12位十六进制数(忽略分隔符号)就是NIC Number,再回到步骤2,完成NIC的输入并按下【Continue】送出。在步骤2中也可以选择输入Hard disk volume serial number的方式取得授权,获得你的Hard disk volume serial number方法是在command prompt窗口输入“dir /p
”,就可以得到Hard disk volume serial number的8位十六进制数。
步骤4:接下来出现注册网页,必须正确填写Email地址,否则将无法收到Altera寄给您的免费授权文件,完成输入后按下【Continue】送出注册资料。
步骤5:Altera在写本书时已经不提供LeonardoSpectrum软件的授权文件,按【Continue】继续。
步骤6:填写Altera的问卷调查,请认真填写问卷并按下页尾的【Finish】完成授权申请。Altera在12小时之内回复您,一般情况下几分钟之内就可以收到Altera的授权Email,邮件的附件就是授权文档(*.dat),请将该文档妥善存放到您的资源管理器中(比如,存放在D:\lincense\*.dat,该文件名通常比较长,将其重命名为license.dat),以备安装MAX+PLUSⅡ后授权使用。
三、安装并设定使用者授权
下载的MAX+PLUSⅡ安装程序再解压缩之后出现标准的安装画面,对经常安装软件读者来说应该不会陌生。建议全部使用安装程序的预设置,即以【Next】或者【OK】来回答安装过程中的所有问题。
安装之后,执行开始菜单中的【MAX+PLUSⅡ 10.1 BASELINE】,或者为了方便将其发送到桌面快捷方式,第一次执行MAX+PLUSⅡ时,会出现图A2.1窗口,请您在软件授权同意对话框内按下【Yes】,表示同意软件的授权内容。接下来程序会询问是否想要知道免费申请使用授权的方法,这里选择【No】直接进入MAX+PLUSⅡ的主窗口。
从MAX+PLUSⅡ的【Options】菜单中选择【License Steup…】项,出现如图A2.2 的软件使用授权对话框。您会发现有许多系列(包括我们要使用的MAX7000系列)处在右侧的未授权列表中,处于未授权状态,利用标准的【Browse】功能来选择我们从Altera公司获得的授权软件“licese.dat”,在指定了软件授权文件之后如图A2.3,检查所需要使用的PLD系列是否正确的出现在左侧的授权列表之中。确认之后按下【OK】,到此就完成了MAX+PLUSⅡ的安装与授权。
四、MAX+PLUSⅡ在Windows2000上的安装设置
在Windows98系统中安装MAX+PLUSⅡ后,仅通过MAX+PLUSⅡ的直接设置就可以使用硬件下载功能。但在Windows2000系统下安装MAX+PLUSⅡ,为了使用ByteBlasterMV下载功能,还必须安装硬件驱动程序,以支持MAX+PLUSⅡ对PC机并口的操作。
具体安装步骤如下:
1. 在Windows2000安装MAX+PLUSⅡ;
2. 选择【开始】、【设置】、【控制面板】;
3. 双击【游戏选项】图标,然后选择【添加】、【添加其它】、【从磁盘安装】命令,再单击【浏览】,浏览驱动器所在目录(MAX+PLUSⅡ的安装目录\drivers\win2000);
4. 选择win2000.inf,单击【确定】;
5. 在“签名数字未找到”对话框中选择“是”;
6. 在“选择一个设备驱动程序”窗口中,选择“Altera ByteBlaster”,并单击“下一步”;
7. 在接下去的“签名数字未找到”对话框中仍选择“是”;
8. 重新启动计算机。
在WinXP/WinNT操作系统下,若要进行下载仍然需要安装驱动程序,安装方法与Win2000类似,在此不再赘述。
A3 MAX+PLUSⅡ设计向导
一、PLD设计流程
安装授权MAX+PLUSⅡ软件后,就可以使用它进行电子系统设计,不论设计是使用图形输入方式还是文本输入方式,其设计流程是通用的,如图A3.1所示。
二、使用原理图的PLD设计
以下使用原理图方式,介绍实现一个PLD的基本设计过程,假设要求使用PLD实现所有基本逻辑门功能,即由一片PLD,实现多片小规模的门电路。
1. 建立工程文件夹
任何一项设计都是一个工程(Project)的概念,一个工程可以包含多个设计文件和输出文件。它不像以前的软件设计仅仅是设计一个文件,由于EDA软件高度集成和发展,几乎所有的软件设计也都采用了工程的概念,初学者一定要注意。
建立一个新工程,首先要为此工程建立一个放置与它相关的文件的文件夹,便于管理工程所有文件,此文件夹被EDA软件默认为工作库(Work Library)。
假设本设计的文件夹取名eda,于E盘(E:/eda)。
注意:文件夹名、即将介绍的工程名及文件名都不能使用汉字,不可带空格,同时最好不用数字打头。
2.新建工程
启动MAX+PLUSⅡ,在File菜单中选择Project,然后选择Name(以后为了简化描述将该过程写为:File→Project→Name,软件熟悉后,很多后面的操作可以使用MAX+PLUSⅡ提供的快捷按钮),如图A3.2所示,出现图中Project Name对话框;在该对话框的驱动器(Drives)中选择e盘;然后在路径(Directories)栏选择建立好的文件eda(注意双击选择,选中该文件夹后文件图标是打开的,许多同学往往没有正确选择路径,最后找不到设计文件);最后在Project Name栏输入工程名,比如gates,如图中所示,和所有软件设计一样工程名应尽量能体现工程的功能。
3.新建设计文件
选File→New,出现图A3.3中的New对话框,如果是新建文本文件,鼠标点击选择Text Editor File;如果是新建波形文件则选择Waveform Editor file(后面建立仿真波形文件,即选此项);如果是新建原理图文件,选择Graphic Editor file,本工程选择原理图方式设计。然后点击OK,出现图A3.4的原理图编辑器窗口,图中对编辑器的每个图标功能加以说明,这些图标在编辑原理图时可能会经常用到。
在图A3.4的编辑窗口任一位置双击鼠标左键或单击右键选择“Enter Symbol”,出现图A3.5所示的输入元件对话框。MAX+PLUSⅡ提供了大量的基本逻辑块电路(图中的prim);宏功能(mf,也包括了许多74系列逻辑器件);兆功能高级模块(Mega_lpm)等等库。如果用户知道库中的元件名,则可以在图中的Symbol Name栏直接输入所需要的元件名(74系列可以在此直接输入系列符号,如74138),比如,如果需要2输入与门可以直接键入AND2,然后单击OK,工作区鼠标所在位置则出现需要的元件符号,如果不知道元件名称,则可以选择对应库,从Symbol Files中选择所需元件。
重复上述过程,输入所有需要的元件,编辑窗口如图A3.6所示。
按鼠标左键将各器件按原理图要求连接起来,双击输入和输出引脚名PIN_NAME使其变黑,再用键盘输入容易区分和理解的输入和输出逻辑变量名。
完成原理图编辑后的图形文件如图A3.7所示。
然后,选File→Save保存文件,MAX+PLUSⅡ自动将文件路径指定到工程文件夹所在路径,而且文件名与工程名相同(一般不要更改文件名),扩展名为gdf。用户只要直接按OK即可。
4.
定目标器件
为了获得与目标器件对应的时序仿真文件,在文件编译前必须选定使用的目标器件,在MAX+PLUSⅡ环境中需选Altera公司的FPGA或CPLD。
选Assign→Device出现图A3.8对话框,从Device Family栏选择目标器件系列,实验使用MAX7000S系列的CPLD;将对话框坐下角的Show Only Fastest Speed Grades栏前的“√”消去,以便显示所有速度级别的器件;然后在Devices列表中选择EPM7128SLC84-15器件,单击OK。
5. 编译
选择MAX+PLUSⅡ→Compiler,此编译器的功能包括了网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和下载文件装配等。
如果编译有错,双击Messages中的错误信息即可定位错误位置并排除,如果不容易解决,可以按照Messages的信息提示排除错误。
6. 建立仿真文件
编译通过后,可以通过MAX+PLUSⅡ测试系统设计的正确性,即逻辑仿真。
首先,要建立仿真文件,选File→New,在New对话框中选择Waveform Editor file项,单击OK,出现波形编辑器窗口如图A3.9所示。图中给出了有关波形编辑的有关图标作用,以及其它和仿真有关的菜单及信息窗口。
然后选Node→Enter Nodes from SNF…,出现图A3.10所示窗口,选List按钮,这时在左列表框将列出该设计所有的信号节点(即输入输出信号),利用中间的“=>”将需要仿真观察的信号选到右边列表中,然后单击OK。所选信号则出现在编辑窗口中,输入变量在上,输出变量在下,如图A3.11。
编辑输入逻辑变量,保存波形文件,保存方法与保存设计的原理图文件一样,MAX+PLUSⅡ指定了默认的路径和文件名,无需修改,直接保存。
7.仿真测试
选择MAX+PLUSⅡ→Simulator,单击弹出的对话框中的Start按钮,仿真结束后,单击Open SCF,打开仿真文件,查看到的最后仿真结果如图A3.11所示。
分析仿真结果的输出和输入逻辑关系是否正确,从图A3.11的仿真波形可见,仿真已经考虑了PLD器件的延时(约15ns)。
8. 锁定引脚
如果仿真结果正确,就可以将设计下载到选定的器件中进行系统测试。如果PLD开发电路系统或者EDA实验板对设计项目的输入输出信号赋予确定PLD器件的确定引脚,或者为了便于布线将输入输出指定到PLD的某些引脚位置,这时就需要通过MAX+PLUSⅡ引脚锁定设置功能将输入输出信号锁定位置,操作方法是:
选择Assign→Pin\Location\Chip选项,弹出如图A3.12所示的对话框,在Node Name中键入待锁定的输入输出信号名,如A或B等,输入变量名正确,在Pin Type中会显示该信号为输入、输出还是双向等,也可以按Search按钮查看本设计的所有输入输出信号。
在Pin下拉列表中选择该信号需要锁定的引脚编号。然后单击右下角Add按钮。按照上述方法锁定所有引脚后,单击OK按钮结束。
MAX+PLUSⅡ的菜单是动态的智能菜单,引脚锁定时,鼠标处于不同状态时,引脚锁定窗口的按钮也是不同的。
为了测量精确的门延时量,可以打开时序分析器,方法是选择MAX+PLUSⅡ→Timing Analyzer项,单击弹出的分析器窗口中的Start(如图A3.13),延时信息即刻显示在图表中,其中最左列是输入信号,上排是输出信号,中间是对应延时量,这个延时量是针对MAX7000S的EPM7128SLC84-15器件的。
9.编程或下载
首先,在实验前使用下载线将实验板与计算机并口连接好,然后上电设计并下载。
选择MAX+PLUSⅡ→Programmer项,如果是初次下载,还没有设置过下载硬件,则弹出如图A3.14右侧的Hardware Setup窗口,在其下拉菜单中选择“ByteBlaster(MV)”编程方式。此编程方式对应计算机的并口下载方式,“MV”是混合电压的意思,主要指对Altera的各类芯核电压(5V、2.5V和1.8V等)的CPLD或FPGA都能由此下载。
硬件设置好后,图A3.14左侧的Programmer窗口中的对应选项变黑(成为可操作状态),如果对CPLD下载,单击Program按钮,如果实验板与连线无误,下载完成后弹出完成提示窗口。
10. 系统调试
设计下载到PLD后,该PLD就具备了设计的功能,设计的输入和输出在PLD的对应引脚位置(本设计没有输入输出锁定引脚)可以通过查看gates.rpt文件得到,该文件还包含了许多器件的使用情况报告,以下仅Copy了其中的输入输出信息。
** INPUTS **
Expanders Fan-In Fan-Out
Pin LC LAB Primitive Code Total Shared n/a INP FBK OUT FBK Name
12 (3) (A) INPUT 0 0 0 0 0 5 0 A
11 (5) (A) INPUT 0 0 0 0 0 3 0 B
** OUTPUTS **
Shareable
Expanders Fan-In Fan-Out
Pin LC LAB Primitive Code Total Shared n/a INP FBK OUT FBK Name
77 123 H OUTPUT t 0 0 0 1 0 0 0 AND2O
74 117 H OUTPUT t 0 0 0 2 0 0 0 NAND2O
73 115 H OUTPUT t 0 0 0 1 0 0 0 NOTO
75 118 H OUTPUT t 0 0 0 2 0 0 0 OR2O
76 120 H OUTPUT t 0 0 0 2 0 0 0 XORO
根据以上信息,可以在实验板上将输入A和B分别通过PLD的引脚12和11输入,要查看输出可以分别从73~77引出,观察实际系统输入输出逻辑是否正确。
如果要查看设计使用PLD的资源情况、引脚信息等,也通过选择MAX+PLUSⅡ→Floorplan Editor项。在这里不再赘述。
11.包装元件入库
用户设计的工程,也可以作为一个元件供其它设计调用,就如同调用MAX+PLUSⅡ库中的元件一样。但必须将该工程包装成一个元件入库。方法如下:
由于MAX+PLUSⅡ的菜单是动态的智能菜单,许多子菜单隐含在其它菜单之中,比如要要包装工程,就必须先打开工程设计文件(即本工程的gates.gdf文件),然后选择File→Create Default Symbol选项,就自动产生了一个包装好的元件(放在工程路径下,文件名为gates.gdf),符号为gates,可以作为一个元件被其它工程调用。打开gates.gdf文件,生成的gates符号如图A3.15所示。
Gates可以看成一个复杂设计的底层元件,在设计顶层文件时,调入元件就可以看到用户库(用户工作路径下)有刚刚生成的gates元件。
到此为止,使用原理图方法设计一个PLD工程的完整过程已经展现给大家。
使用各种硬件描述语言(Hardware Description Language ,HDL))的文本设计方法与上述过程基本类似,仅仅在步骤3的新建设计文件时,有所不同,对于文本设计新建一个文件时,出现文本编辑器,文本的输入和所有文本编辑器输入方法一样,比原理图方法更为简单,当然大家要先熟悉某一种HDL,成为IEEE标准格式的HDL有VHDL和Verilog HDL两种,也是目前使用最多两种HDL。在编辑文本文件之前,最好先建立一个新文件并保存文件,然后再编辑时,编辑器会输入的HDL语法关键词有不同颜色显示,可以帮助检查输入语法错误。