Alter公司的MAX+plusⅡ是一个高度集成化的可编程逻辑器件开发系统,可以开发Alter公司的MAX系列和FLEX系列的可编程器件。该系统的主要特点如下:
① 支持多种设计输入方式。如:原理图、VHDL语言、AHDL语言、波形图等。同时还支持主流的第三方EDA工具,如:Synopsys、Cadence、ViewLogic、Synplicity、Mentor和Model Technology等等。
② 提供完善的功能仿真,同时还提供精确的时间仿真。
③ 该系统把设计输入、功能仿真、时间仿真、设计编译以及器件编程集成于统一的开发环境下,从而更方便、更快捷。
④ MAX+plusⅡ开发系统还具有编译快捷,设计实现优化的功能。
MAX+plusⅡ
MAX+PLUSII PC版可以在以下几种操作系统下运行:Windows NT 4.0/Windows 98/Windows 2000/Windows XP。表4.1中列出了用于不同器件所需的有效内存。
表4.1 MAX+PLUSII系统所需的存储器 器件系列 ACEX1K MAX7000 MAX9000 FLEX6000 FLEX8000 FLEX10K 最小内存/MB 256 48 64 32 64 32 64 32 256 128 物理RAM/MB 128 16 2)安装MAX+PLUSII10.2 PC版
下面介绍MAX+PLUSII PC版在Windows 98操作系统下的安装过程。若在其他操作系统下安装,可参照此方法操作。
(1)将MAX+PLUSII10.2安装光盘放入光驱,安装窗口将自动出现图4.1所示的界面。
图4
你可以选择MAX+PLUSII 10.2安装类型如下:Custom、BASELINE、Programmer Only和ACCESS Key Guidelines。开始安装之前,你还可以阅读Help文件、Read Me文件、License Agreement文件和ACCESS Key Guidelines。单击任一安装选项,即开始安装。安装过程中按照屏幕上的提示进行操作。
(2)安装好后, 双击MAX+plusII图标或在“开始”菜单内选择MAX+plusII项,开始运
行MAX+plusII。第一次运行MAX+plusII时,将会出现授权协议对话框,仔细阅读后,按下Yes按钮。
(3)系统若没有安装Software guard(软件狗),则在接受授权协议后,将出现如图4.2所示的MAX+plusII版权保护对话框,若希望查看如何获得License的信息,则单击按钮‘是(Y)’,否则单击按钮‘否(N)’。
4.2 MAX+plusII版权保护对话框
(4) 选择菜单命令Option/License Setup,则弹出License Setup对话框,如图4.3所示。单击System Info 按钮,弹出System Info对话框,记录硬盘的驱动序列号,然后通过访问Altera公司的网站: 获得授权文件。
图4.3 License Setup对话框
(5) 收到Altera公司的授权文件后,将复制到MAX+plusII的安装目录,打开
MAX+plusII,按照步骤(4)打开License Setup对话框,在“License File or Server Name”对话框中填入文件的路径及文件名,单击OK按钮。至此,MAX+plusII安装完毕。
MAX+plusⅡ开发系统设计入门
MAX+plusⅡ开发系统的工程管理器集成了开发Altera公司生产的各种器件的全部功能,主要包括工程项目管理、设计输入、功能仿真、时序仿真、设计约束等等。MAX+plusⅡ开发系统的工程管理器的用户主界面如图4.4所示。在“MAX+plusⅡ”菜单下给出了MAX+plusⅡ软件的主要功能,各项的具体含义如下:
·Hierarchy Display:显示当前项目层次图。 ·Graphic Editor:原理图编辑器。 ·Symbol Editor:图形符号编辑器。 ·Text Editor:文本编辑器。
·Waveform Editor:波形编辑器。供仿真阶段用,或用于编辑波形图输入文件。 ·Floorplan Editor:引脚平面编辑器。可以观察编译后器件内的资源,如逻辑单元、I/O单元、LAB行或列以及引脚。
·Compiler:编译窗口。
·Simulator:仿真窗口。
·Timing Analyzer:定时分析窗口。 ·Programmer:器件编程(下载)窗口。
·Message Processor:信息窗口。给出处理过程中的一些系统信息。
MAX+plusⅡ的设计过程主要由设计输入、项目编译、项目校验和器件编程四部分组成。
图4.4 MAX+plus II主界面
1)设计输入
(1)建立设计输入文件
我们先以原理图文件输入方式为例进行介绍: ① 为本项目工程设计建立文件夹 任何一项设计都是一项工程(Project),最好为此项工程单独建立一个文件夹以存放与此工程相关的所有文件。假设本项设计的文件夹取名为myproject,路径为:c:\\baseline\\myproject。
② 打开MAX+plusⅡ,选择菜单命令File/New,弹出新文件对话框(New),如图4.5所示。
图4.5 新文件对话框
③ 在新文件对话框(New)中,选择图形编辑器,单击OK按钮,弹出一个无名称的图形编辑窗口,此时界面将转变为图形编辑器菜单,如图4.6所示。在图形编辑器的左侧为绘图工具,其功能见图4.6的标注。
选择 添加文本
画正交线
画对角线
画弧线 画圆
放大视图
缩小视图 与 窗口适配 连接点断接
拖动功能打开
拖动功能关闭
图形编辑窗
口绘图区域
图4.6 MAX+plus II图形编辑器
④ 编辑图形文件
以设计一个十进制加法计数器为例,介绍编辑一个原理图文件的步骤。 首先是添加元件和宏功能符号:
a.在选择工具按钮有效时,在图形编辑器的绘图区域,单击鼠标左键,将出现一个闪烁的黑点,该点为添加元件和宏功能符号的位置。
b. 选择菜单命令Symbol/Enter Symbol项目,或者在确认添加元件位置双击左键,系统将弹出输入元件Enter Symbol对话框,如图4.7所示。元件库列表Symbol Libraries提供了一系列的元件库:
·prim:基本元件库,主要存放的是基本器件(基本门电路、各种触发器、输入输出引脚及直流电源和地)。
·mf:宏功能库,主要放置74系列逻辑宏功能符号。
·mega_lpm:参数化模块库,主要放置参数化宏功能模块(能够根据不同的参数来产生同一类的不同功能的模块)。
·edif: 主要放置工业标准器件。
图4.7 输入元件对话框
c.选择Enter Symbol对话框中元件库列表中的一个元件库,双击鼠标左键,将更新符号元件列表Symbol Files中的元件。在本例中选择mf库,并选择74160(同步十进制加法计数器),单击OK按钮,带红色边框的74160符号显示在原理图绘图区。
d.重复上述操作,在Prim库中分别选择Vcc,GND,INPUT,OUTPUT元件输入到绘图区。 e.若需要相同的元器件,用鼠标选定已有的元器件,在工具栏上选择复制,粘贴图标,即可复制出该元器件。
其次是元件的移动操作:
添加元件后若需要重新调整元件位置,则方法如下: a.在绘图工具栏中选定选择按扭。
b.移动光标到需要移动的目标文件外围虚线区域内,当光标以箭头形式出现时,单击鼠标确定,选定的器件将被红线所包围。按下左键并保持按下状态,拖动鼠标到目的位置,释放左键,则完成对器件的一次拖动。
c.如果需要同时移动多个目标,则可在欲移动的目标外围按左键,拖动鼠标,将出现一个选择框,当目标完全处于选择框内时释放左键,则目标被红线包围。拖动方法同上。
接着是连线及旋转操作:
如果需要将两个元件输入输出端相连,则将鼠标移动到其中一个元件的输入或输出端上,这时鼠标指示符自动变为“+”形状,然后可按下述步骤操作:
a.按住鼠标左键,光标将由小“+”,变成大“+”,拖动鼠标到另一个元件的输入或输出端上,释放左键,则一条连接线被画好了。
b.如果要删除某条连接线,可单击那根连线使其变为高亮线,然后按键盘上的Del键或在Edit菜单中选择Cut项即可。
c.如果要旋转某器件,右键单击欲旋转的元件,则该元件的外围变为红线,在弹出菜单中选择Rotate项目,再选择旋转角度即可。在本例中绘制的原理图如图4.8所示。
图4.8 十进制计数器
再接着是引脚的命名:
在引脚命名之前,输入输出引脚名均为系统默认的PIN_NAME,为了进行编译,须要重命名。把鼠标移PIN_NAME上,双击鼠标,原引脚名变为黑色,直接输入新的引脚名。如图4.9所示。
图4.9 标记引脚后的电路图
最后是保存文件:
原理图编辑完成后,选择命令菜单File/Save,保存新建的文件,在弹出的文件目录对话框中选择本设计的项目文件夹c:\\baseline下的myproject (步骤(1)中所建),在文件名对话框中输入文件名,如counter10.gdf,点击OK按钮,完成保存,如图4.10所示。
图4.10 Save As对话框
若采用VHDL或Verilog HDL语言文本设计输入进行逻辑电路的设计,则其输入文件的创建方式如下。这里以VHDL语言为例说明在MAX+plusⅡ系统下进行文本输入的方法。
① 创建VHDL设计工程
在MAX+plusⅡ系统的主界面下,在文件File菜单中选择工程名Project Name,并在对话框中输入工程名。
② 编辑VHDL源程序文件
在文件File菜单中选择New选项,在弹出的新文件对话框中选择文本编辑器Text Editor file,单击OK,系统会自动打开文本编辑器。在文本编辑器中输入VHDL源程序。然后,在File菜单选择保存文件Save选项,在打开的对话框中输入文件名。注意,此文件名必须与VHDL源代码中的实体名一致,后缀名为.vhd。
(2)将设计项目设置成工程文件(Project)
为了使MAX+plusⅡ能对输入的设计项目按设计者的要求进行各项处理,必须先将设计文件,如十进制计数器counter10.gdf,设置为工程(Project)。如果设计项目由多个设计文件组成,则应该将它们的主文件,即顶层文件设置成Project。如果要对其中某一底层文件进行单独编译、仿真和测试,也必须首先将其设置成Project。
将设计项目(如counter10.gdf)设置成Project的步骤如下:
① 如图4.11所示,选择命令菜单File/Project中的Set Project to Current File命令,即将当前设计文件设置成Project。选择此项后可以看到标题栏显示出所设文件的路径,如图4.12所示。这点很重要,此后的设计中应该特别关注此路径的指向是否正确。
图4.11 将当前设计文件设置成工程文件
图4.12 将当前设计文件设置成工程文件后
② 如果设计文件未打开,可如图4.12所示,选择命令菜单File/Project中的Name命令,则弹出工程项目名对话框,如图4.13所示。在Directries小窗口中找到设计文件
图4.13 工程项目名对话框
的目录c:\\baseline\\myproject,在其Files小窗口中双击设计文件counter10.gdf,此时即选定此文件为本次设计的工程了。
2) 编译设计项目
MAX+plusⅡ编译器可以检查项目中的错误并进行逻辑综合,生成仿真、定时分析和器件编程所需要的文件。
MAX+plusⅡ编译器既能接受多种输入文件格式,又能输出多种文件格式。其能接受的设计文件包括:①MAX+plusⅡ自己的图形文件(.gdf)、AHDL文件(.tdf)、VHDL文件(.vhd);②第三方EDA工具输入文件,如:EDIF文件(.edf)、库映射文件(.lmf)、OrCAD文件(.sch)、Xilinx文件(.xnf)以及赋值和配置文件(.acf)。MAX+plusⅡ编译器的输出文件包括设计校验文件、MAX+plusⅡ的模拟器网表文件(.snf)、第三方EDA工具所用的网表文件(.vo)和标准格式的SDF文件(.sdo).另外还可以输出可编程文件,包括用于编程器下载的目标文件(.pof)、用于在线配置的SRAM目标文件(.sof)和JEDEC文件(.jed)。
编译的步骤如下: (1)选择目标器件
为了获得与目标器件对应的、精确的时序仿真文件,在对文件编译前必须选定最后实现本项目的目标器件,在MAX+plusⅡ环境中需选Altera公司的FPGA或CPLD。
① 选择命令菜单Assign/Device/,将弹出Device对话框如图4.14所示。
图4.14 选择实现本项设计的目标器件
② 在对话框的Device Family列表中选择所需要的器件系列,Device列表中选择所需的器件。当改变不同系列的器件后, Device列表中器件型号也将发生相应的变化。为了选择所有速度级别的器件,应将列表框下方标有“Show Only Fastest Speed Grades”选项的“√”消去。在本例中选择FLEX10K系列中的EPF10K10LC84-4。单击OK按钮。
如果不能确定所需的器件型号,可在列表中不选择具体器件,选择AUTO Device,则编译系统将进行自动的器件选择。
(2)引脚锁定
编译器既可以自动为项目设定引脚,也可以根据使用者的需要自行设置引脚,但一定要注意先选器件再设置引脚。这里假设根据实际需要将计数器的端口CLK、QA、QB、QC、QD和RCO分别与目标器件EPF10K10LC84-4的第6、7、8、9、10和11脚相接,操作如下:
① 选择命令菜单中的Assign/Pin/Location/Chip,或者用鼠标右键单击引脚符号,在出现的下拉菜单中选Assign/Pin/Location/Chip,弹出Pin/Location/Chip对话框。
② 在Node Name栏输入端口名,在Pin下拉列表中选择引脚号,在Pin Type中选定引脚类型。单击ADD按钮,重复上述操作,完成所有端口的引脚锁定,如图4.15所示。
图4.15 计数器引脚锁定
③ 单击OK按钮,如果输入的引脚号不是器件的I/O引脚,系统将给出错误信息。 ④ 在File菜单中选择Save项,保存设计文件。
(3)编译文件
① 选择命令菜单MAX+plusⅡ/Compiler,弹出Compiler对话框如图4.16所示。此编译器的功能包括编译网表文件提取(Compiler Netlist Extractor)、数据库建立(Database Builder)、逻辑综合(Logic Synthesizer)、逻辑分区(Partitioner)、适配(Fitter)、时序仿真文件提取(Timing SNF Extractor)、编程下载文件装配(Assembler)等。
图4.16 对工程文件进行编译、综合和适配等操作
② 单击Start按扭开始编译。如果发现错误,系统会给出相应的错误信息,排除错误后再次编译。
3)设计校验
设计项目编译完成之后,能否实现所要求的逻辑功能,还需要进一步检验。MAX+plusⅡ支持功能仿真和时序仿真两种仿真形式,功能仿真可以验证项目的逻辑功能是否正确;时序仿真不仅可以验证项目的逻辑功能是否正确,还可测试器件最差情况下的时间关系。
在仿真时,需要加入激励信号,该激励信号可以用MAX+plusⅡ软件中的波形编辑器编辑波形文件,也可以先用文本编辑器按软件给定的语法规则编辑成文本文件,再转换成波形文件,也可二者结合进行。常用的方法是对时钟或简单的波形信号用波形编辑器输入,而较复杂的信号则用文本编辑器生成。在同一条件下,时序仿真的仿真结果与实际的可编程器件的时序关系完全相同。
下面仍以counter10.gdf文件为例,介绍如何进行时序仿真。
(1)创建仿真波形文件
① 选择命令菜单MAX+plusⅡ/Waveform Editor,弹出一个Untitled-Waveform Editor无标题的波形编辑窗口。
② 输入信号节点。选择菜单命令Node/Enter Nodes from SNF,弹出Enter Nodes from SNF对话框。单击List按钮,则Avaliable Nodes & Groups栏中列出所有信号节点。单击向右箭头(=>),把选中的需要观察的节点送到Selected Nodes & Groups 栏中,如图4.17所示。单击OK按钮,即可看见输入、输出信号出现在波形编辑窗口中。此时波形编辑窗口中,所有编辑的输入节点的波形都默认为逻辑低电平;输出和隐埋节点波形都默认为不定状态。
图4.17 列出并选择需要观察的信号节点
③ 设置波形参量。在为波形编辑窗的计数器的输入信号CLK设定必要的测试时钟之前,首先需设定相关的仿真参数。如图4.18所示,在Option菜单中消去网格对齐项Snap to Grid前面的“√”,以便能够任意设置输入电平位置,或设置输入时钟信号的周期。
图4.18 在Option菜单中取消Snap to Grid 的选择
④ 设定仿真时间。选择命令菜单File/End Time项,在弹出的对话框中输入适当的仿真时间域。如可选50us以便有足够长的观察时间。
⑤ 编辑输入信号波形。如图4.19的标注,利用时钟周期赋值功能键为输入时钟信号CLK设定周期(这里设定周期为100ns),以便仿真后能测试 QA、QB、QC、QD和RCO输出信号。
将某段总线拖黑,由此按钮赋值 放大缩小 赋值‘0’ 赋值‘1’ 赋值不定值‘X’ 赋值高阻值‘Z’ 赋值取反 时钟周期赋值 总线顺序赋值 总线赋值 FSM状态赋值 图4.19 为输入信号设定测试波形
⑥ 波形文件存盘。选择命令菜单File/Save as,弹出Save as对话框,其中波形文件名是默认的(这里是counter10.scf),按下OK按钮即可。 (2)运行仿真器
选择命令菜单MAX+plusⅡ/Simulator,单击弹出的仿真器对话框中的Start按钮,如图4.20所示。仿真结束后,将弹出仿真信息提示对话框,单击确定按钮。
图4.20 运行仿真器
(3) 观察仿真结果
如果当前设计的波形编辑器已打开,在屏幕上选择波形编辑器,则在编辑器上可以看到仿真结果。否则就在仿真窗口单击Open SCF按扭即可打开当前波形文件。图4.21是仿真运算完成后的时序波形。注意,刚进入图4.21的窗口时,应将最下方的滑块拖向最左侧,以便观察到初始波形。由十进制计数器的逻辑功能可知图4.21中的时序波形是正确的。图中还可以进一步了解信号的延时情况。图4.21中右侧的竖线是测试参考线,其上方标出的450.8ns是此线所在的位置,它与鼠标箭头间的时间差显示在窗口上方的“Interval”小窗
中。
图4.21 十进制计数器的仿真波形
(4) 时序仿真的定时分析
为了精确测量计数器输入输出之间的延时,可打开时序分析器。选择Max+plusII/Timing Analyzer项,弹出Timing Analyzer窗口,如图4.22所示。单击Timing Analyzer窗口中的Start按钮,延时信息即刻显示在图表Delay Matrix中。其中左排的列表是输入信号,上排列出输出信号,中间是对应的延时量,这个延时量是针对所选定的目标器件的。
图4.22 打开延时时序分析窗
4)器件编程
MAX+plusⅡ提供了多种对器件编程方式,比较常用的方式是利用ByteBlaster编程电缆对MAX系列器件进行编程或对FLEX系列器件进行配置。具体步骤如下:
(1)ByteBlaster编程电缆的一端与微机的并行口相连,另一端10针编程头与装有可编程逻辑器件的PCB板上的编程插座相连。该PCB板还必须为ByteBlaster编程电缆提供电源。
(2)选择菜单命令MAX+plusⅡ/Programmer,系统将弹出编程对话框,所选择的器件不同,对话框相对应的有效按钮也不同。在本例中选择的器件是EPF10K10LC84-4,编程对话框如图4.23所示。
图4.23 编程对话框
(3)选择Options/Hardware Setup,弹出Hardware Setup窗口,如图4.24所示。在其下拉菜单中选择ByteBlaster(MV)编程方式,单击OK按钮。
此编程方式对应计算机的并行口下载通道,“MV”是混合电压的意思,主要指对Altera的各类芯核电压(如5V、2.5V、1.8V等)的FPGA/CPLD都能由此下载。此项设置只在初次装软件后第一次编程前进行,设置确定后就不必重复设置了。
图4.24 设置编程下载方式
(4)下载。单击Programmer 对话框中的Configure按钮,向EPF10K10LC84-4下载配置文件counter10.sof,如果连线无误,应出现报告配置完成的信息提示。
到此为止,完整的原理图输入的设计流程已经结束。
因篇幅问题不能全部显示,请点此查看更多更全内容