MAX+PLUSⅡ(MultipleArraymatriXProgrammableLogicUserSystemII)是Altera公司提供的完善的、高度集成的EDA设计工具,其集成设计输入编辑器、HDL综合器、仿真器、适配器(或布局布线器)、下载器等等工具于一体,且支持第三方的综合和仿真工具。MAX+PLUSⅡ界面友好、使用方便、具有完整的工程文档管理和在线访问功能,被誉为最易学习用的EDA软件,目前已发行到了10.2版本。
MAX+PLUSⅡ能完成Altera公司的可编程逻辑器件(ProgrammableLogicDevice,缩写为PLD)开发所需的几乎全部工作。提供了一种与结构无关的设计环境,设计者无需精通PLD内部的复杂结构,只需运用熟悉的输入方式(如原理图输入或HDL)即可进行电子系统设计,运用MAX+PLUSⅡ提供的快速处理和器件编程功能就可以由PLD实现设计。
QuartusⅡ是Altera公司继MAX+PLUSⅡ之后推出的新一代的功能更强大的EDA软件,QuartusⅡ完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL与Verilog源程序的综合器,QuartusⅡ还可以直接调用第三方的综合工具,如LeonardoSpectrum、SynplifyPro、FPGACompilerⅡ等,这些综合器有着更好的综合效果。QuartusⅡ同样具备仿真功能,也支持第三方的仿真工具,如Modelsim。
步骤2:在选择了MAX+PLUSⅡ的下载连接之后,接着会被要求填写一些注册资料,按要求填写完之后按【Register】注册。
步骤3:在完成了前面的注册之后,才真正的进入了软件下载网页,请点选MAX+PLUSⅡ软件下载,软件大约50MB。如果不是宽待网的话,下载会非常慢(约9个小时)。
在下载MAX+PLUSⅡ软件的步骤3中,也可以看到获取license的信息提示,直接点击并按照以下步骤2、3和4操作。
在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.在“选择一个设备驱动程序”窗口中,选择“AlteraByteBlaster”,并单击“下一步”;
7.在接下去的“签名数字未找到”对话框中仍选择“是”;
8.重新启动计算机。
在WinXP/WinNT操作系统下,若要进行下载仍然需要安装驱动程序,安装方法与Win2000类似,在此不再赘述。
以下使用原理图方式,介绍实现一个PLD的基本设计过程,假设要求使用PLD实现所有基本逻辑门功能,即由一片PLD,实现多片小规模的门电路。
任何一项设计都是一个工程(Project)的概念,一个工程可以包含多个设计文件和输出文件。它不像以前的软件设计仅仅是设计一个文件,由于EDA软件高度集成和发展,几乎所有的软件设计也都采用了工程的概念,初学者一定要注意。
假设本设计的文件夹取名eda,于E盘(E:/eda)。
注意:文件夹名、即将介绍的工程名及文件名都不能使用汉字,不可带空格,同时最好不用数字打头。
重复上述过程,输入所有需要的元件,编辑窗口如图A3.6所示。
按鼠标左键将各器件按原理图要求连接起来,双击输入和输出引脚名PIN_NAME使其变黑,再用键盘输入容易区分和理解的输入和输出逻辑变量名。
完成原理图编辑后的图形文件如图A3.7所示。
选择MAX+PLUSⅡ→Compiler,此编译器的功能包括了网表文件提取、设计文件排错、逻辑综合、逻辑分配、适配(结构综合)、时序仿真文件提取和下载文件装配等。
如果编译有错,双击Messages中的错误信息即可定位错误位置并排除,如果不容易解决,可以按照Messages的信息提示排除错误。
编译通过后,可以通过MAX+PLUSⅡ测试系统设计的正确性,即逻辑仿真。
选择MAX+PLUSⅡ→Simulator,单击弹出的对话框中的Start按钮,仿真结束后,单击OpenSCF,打开仿真文件,查看到的最后仿真结果如图A3.11所示。
分析仿真结果的输出和输入逻辑关系是否正确,从图A3.11的仿真波形可见,仿真已经考虑了PLD器件的延时(约15ns)。
如果仿真结果正确,就可以将设计下载到选定的器件中进行系统测试。如果PLD开发电路系统或者EDA实验板对设计项目的输入输出信号赋予确定PLD器件的确定引脚,或者为了便于布线将输入输出指定到PLD的某些引脚位置,这时就需要通过MAX+PLUSⅡ引脚锁定设置功能将输入输出信号锁定位置,操作方法是:
选择Assign→Pin\Location\Chip选项,弹出如图A3.12所示的对话框,在NodeName中键入待锁定的输入输出信号名,如A或B等,输入变量名正确,在PinType中会显示该信号为输入、输出还是双向等,也可以按Search按钮查看本设计的所有输入输出信号。
首先,在实验前使用下载线将实验板与计算机并口连接好,然后上电设计并下载。
硬件设置好后,图A3.14左侧的Programmer窗口中的对应选项变黑(成为可操作状态),如果对CPLD下载,单击Program按钮,如果实验板与连线无误,下载完成后弹出完成提示窗口。
设计下载到PLD后,该PLD就具备了设计的功能,设计的输入和输出在PLD的对应引脚位置(本设计没有输入输出锁定引脚)可以通过查看gates.rpt文件得到,该文件还包含了许多器件的使用情况报告,以下仅Copy了其中的输入输出信息。
**INPUTS**
ExpandersFan-InFan-Out
PinLCLABPrimitiveCodeTotalSharedn/aINPFBKOUTFBKName
12(3)(A)INPUT0000050A
11(5)(A)INPUT0000030B
**OUTPUTS**
Shareable
77123HOUTPUTt0001000AND2O
74117HOUTPUTt0002000NAND2O
73115HOUTPUTt0001000NOTO
75118HOUTPUTt0002000OR2O
76120HOUTPUTt0002000XORO
根据以上信息,可以在实验板上将输入A和B分别通过PLD的引脚12和11输入,要查看输出可以分别从73~77引出,观察实际系统输入输出逻辑是否正确。
如果要查看设计使用PLD的资源情况、引脚信息等,也通过选择MAX+PLUSⅡ→FloorplanEditor项。在这里不再赘述。
用户设计的工程,也可以作为一个元件供其它设计调用,就如同调用MAX+PLUSⅡ库中的元件一样。但必须将该工程包装成一个元件入库。方法如下:
Gates可以看成一个复杂设计的底层元件,在设计顶层文件时,调入元件就可以看到用户库(用户工作路径下)有刚刚生成的gates元件。
到此为止,使用原理图方法设计一个PLD工程的完整过程已经展现给大家。
使用各种硬件描述语言(HardwareDescriptionLanguage,HDL))的文本设计方法与上述过程基本类似,仅仅在步骤3的新建设计文件时,有所不同,对于文本设计新建一个文件时,出现文本编辑器,文本的输入和所有文本编辑器输入方法一样,比原理图方法更为简单,当然大家要先熟悉某一种HDL,成为IEEE标准格式的HDL有VHDL和VerilogHDL两种,也是目前使用最多两种HDL。在编辑文本文件之前,最好先建立一个新文件并保存文件,然后再编辑时,编辑器会输入的HDL语法关键词有不同颜色显示,可以帮助检查输入语法错误。