Altera MAX+plus II 介绍
一、软件功能简介
MAX+plusⅡ(Multiple Array and Programming Logic User System)开发工具
是美国Altera 公司推出的一种EDA 工具,具有灵活高效,使用便捷,易学易用
的特点。Altera 公司在推出各种CPLD 和FPGA 的同时也在不断地升级相应的开
发工具软件,已从早期的第一代A+plus、第二代MAX+plus 发展到目前的第三
代MAX+plus II 和第四代Quartus。使用MAX+plus Ⅱ软件,设计者无需精通器
件内部的复杂结构,只需熟悉所用的设计输入工具,如硬件描述语言、原理图等
进行输入,MAX+plusⅡ自动将设计转换成目标文件下载到器件中去。
MAX+plusⅡ开发系统具有以下特点。
(1)多平台系统 MAX+plusⅡ的设计输入、处理与校验功能一起提供了全集
成化的可编程开发工具,可以加快动态调试,缩短开发周期。
(2)开放的界面 MAX+plusⅡ可与其它工业标准的设计输入、综合和校验工
具链接。具有EDIF,VHDL,Verilog HDL 以及其他的网表接口,便于与许多公
司的EDA 工具接口,包括Cadence,Mentor,Synopsys,Synplicity,Viewlogic
等公司提供的EDA 工具的接口。
(3)模块组合式工具软件MAX+plusⅡ具有一个完整的可编程逻辑设计环境,
包括设计输入、设计处理、设计校验仿真和下载编程四个模块,设计者可以按设
计流程选择工作模块。
(4)与结构无关 MAX+plusⅡ支持Altera 的Classic、MAX5000、MAX7000、
FLEX8000、FLEXlOK 等可编程器件系列,提供工业界中唯一真正与结构无关的
可编程逻辑设计环境。
(5)硬件描述语言 MAX+plusⅡ支持各种HDL 硬件设计输入语言,包括VHDL、
VerilogHDL 和Altera 的硬件描述语言AHDL。
二、软件的安装使用说明
MAX+plus II 教学版软件是免费的,你需要到Altera 公司的网页去申请一
个License.dat 授权文件(软件安装部分有详细说明),也可使用随机光盘的
License.dat 授权文件(此文件就在光盘中的Altera MAX+plusII 10.0 文件下)。其
商业版需要到Altera 公司的中国代理购买,它带有一个软件狗,需置于计算机的
并行口上。教学版软件同样支持功能仿真和时序分析,并且同样支持VHDL 语
言设计。该软件可运行在Windows9X/2000/NT 及WindowsXP 操作系统下。
MAX+plusII 10.0 版本推荐PC 机的配置如为:333MHz 奔腾以上CPU、64M 以
上有效内存、600M 以上的硬盘。
1、 软件的安装
注意:本安装过程以10.0 版本为例介绍,其它版本安装过程类似。
⑴ 将光盘插入PC 机光驱,假定您的光驱号为G:,
⑵ 运行G:\MAX+plusII 10.0\setup.exe 文件,按提示进行安装;
⑶ 安装过程中阅读完授权窗口信息后,选择YES 接受协议,再选择适当的安装
方式,教学版软件请选择: full installation 模式安装,若改变安装目录及路径请按
Browse 按钮修改,一般选择默认安装即可。软件安装完毕后,readme 文件将自
动出现,它包含一些重要信息,请仔细阅读,该软件要通过License 文件设置以
后方可使用(见下一节介绍)。
2、软件的第一次使用与设置
MAX+plusII 10.0 软件安装完毕后,第一次运行软件必须进行license.dat 文件的
设置,否则其大部分功能用户不能正常使用。下面我们将license.dat 文件的安装
方法简单介绍如下。
1)、将光盘里随机附送的license.dat 文件拷贝至安装后的MAX+plus2 软件包根
目录下。注意:license.dat 文件来自于Altera 网上授权或代理商提供。也可使用
随机光盘提供的License.dat 授权文件(此文件就在光盘中的Altera MAX+plusII
10.0 文件夹下)。
2)、点击windows 程序组下的altera\ MAX+plusII 10.0 ,启动本软件。注意:第一次启动软件会有几个对话窗口,提示没有安装License 文件或软件狗,并附
有其公司网址及如何申请license 授权文件等详细说明。
3)、软件启动以后选择主菜单栏的Option \License Setup 选项,弹出如下对话框,
点击 “Browse”;
4)、通过浏览,在如下对话框中指出您保存的License.dat 文件的所在硬盘位置
(路径),点击OK 确认即可。这样您的MAX+plusII 软件就可以正常使用了。
license.Dat 文件生效后,对话框底部的System lnfo 中就有你的硬盘ID 信息了,
如下图所示。至此您已成功地完成了整个软件的安装。
说明:一般免费注册申请的License.dat 文件只能用六个月的时间,如果到期的
话,您可以用同样的方法再次申请,如果您使用的通用License.dat 文件(此文件
就在光盘中的Altera MAX+plusII 10.0 文件下),就不存在上述问题了,如果您在
安装和使用本软件中遇到问题,请及时与我们联系。
三、可编程逻辑器件设计流程简介
可编程逻辑器件CPLD/FPGA 的设计是指利用开发软件和编程工具对器件
进行开发的过程。
可编程逻辑器件的设计流程包括设计准备、设计输入、设计处理(项目编译)、
仿真和定时分析、器件编程下载(设计实现)四个步骤。
三、MAX+plus II 可编程设计流程
1) 设计准备在对可编程逻辑器件的芯片进行设计之前,首先要进行方案论证、
系统设计和器件选择等设计准备工作。设计者首先要根据任务要求,如系统所完
成的功能及复杂程度,对工作速度和器件本身的资源、成本及连线的可布通性等
方面进行权衡,选择合适的设计方案。
在前面已经介绍过,数字系统的设计方法通常采用从顶向下的设计方法,也是基
于芯片的系统设计的主要方法,它首先从系统设计入手,在顶层进行功能划分和
结构设计,采用硬件描述语言对高层次的系统进行描述,并在系统级采用仿真手
段,验证设计的正确性,然后再逐级设计在低层的结构。
由于高层次的设计与器件及工艺无关,而且在芯片设计前就可以用软件仿真手段
验证系统方案的可行性,因此自顶向下的设计方法,有利于在早期发现结构设计
中的错误,避免不必要的重复设计,提高设计的一次成功率。自顶向下的设计采
用功能分割的方法从顶向下逐次进行划分,这种层次化设计的另一个优点是支持
模块化,从而可以提高设计效率。
2)设计输入
设计者将所设计的系统或电路以开发软件要求的某种形式表现出来,并送入
计算机的过程称为设计输入。设计输入通常有以下几种方式。
1).原理图输入方式
2).硬件描述语言输入方式
3).波形输入方式
4).层次化设计输入方式
4、项目编译(设计处理)
这是器件设计中的核心环节。在设计处理过程中,编译软件将对设计输入文
件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动进行适配,最后
产生编程用的编程文件。
1).语法检查和设计规则检查
设计输入完成之后,在编译过程首先进行语法检验,如检查原理图有无漏连
信号线,信号有无双重来源,文本输入文件中的关键字有无输入错误等各种语法
错误,并及时列出错误信息 报告供设计者修改;然后进行设计规则检验,检查
总的设计有无超出器件资源或规定的限制 并将编译报告列出,指明违反规则情
况以供设计者纠正。
2).逻辑优化和综合
化简所有的逻辑方程或用户自建的宏,使设计所占用的资源最少。综合的目
的是将多个模块设计文件合并为一个网表文件,并使层次设计平面化(即展平)。
3).适配和分割
确定优化以后的逻辑能否与器件中的宏单元和I/0 单元适配,然后将设计
分割为多个便于适配的逻辑小块形式映射到器件相应的宏单元中。如果整个设计
不能装入一片器件时,可以将整个设计自动分(分割)成多块并装入同一系列的多
片器件中去。
划分(分割)工作可以全部自动实现,也可以部分由用户控制,还可以全部由
用户控制进行。划分时应使所需器件数目尽可能少,同时应使用于器件之间通信
的引线端子数目最少。
4).布局和布线
布局和布线工作是在设计检验通过以后由软件自动完成的,它能以最优的方
式对逻辑元件布局,并准确地实现元件间的互连。布线以后软件会自动生成布线
报告,提供有关设计中各部分资源的使用情况等信息。
5).生成编程数据文件
项目编译的最后一步是产生可供器件编程使用的数据文件。对CPLD 来说,是产
生熔丝图文件,即JEDEC 文件(电子器件工程联合制定的标准格式,简称JED 文
件);对于FPGA 来说,是生成位数据文件(BitstreamGeneration)。
4、仿真和定时分析(项目校验):
设计项目的校验包括设计项目的仿真(功能仿真)、定时分析两个部分。一
个设计项目在编译完成后只能为项目创建一个编程文件,但并不能保证是否真正
达到了用户的设计要求,如逻辑功能和内部时序要求等。所以在器件编程之前应
进行全面模拟检测和仿真调试,以确保其设计项目在各种可能的情况下正确响应
和正常工作,这就是项目校验(仿真调试)的必要性。
MAX+plusⅡ提供的设计校验过程包括仿真和定时分析,项目编译后,为确保设
计无误,再用专门软件进行仿真。如果发现了错误,则对设计输入进行部分修改
直至无误。
1)仿真(Simulation) MAX+plusII Simulator(仿真器)具有很强的灵活性,可以控制
对单个器件或多个器件设计的仿真。该模拟程序使用编译过程中生成的二进制模
拟网表文件,对一个设计实现功能仿真和时序仿真。
设计者可以直接用矢量输入语言来定义输入激励,也可以用MAX+plus ⅡWave
Editor 直接绘制波形。仿真结果在WaveEditor 或TextEditor 窗口显示,也可作为
波形或文本文件打印出来。
2)定时分析(TimingAnalysis) MAX+plus TimiⅡ ngAnalyzer(定时分析程序)能按
矩阵方式计算设计中点到点的延时,确定在器件引线端上要求的上升和保持时
间,估计最大时钟频率。MAX+plusⅡ设计输入工具与定时分析程序综合在一起,
允许在设计文件中简单地指定起始和终点标记,或者用FloorplanEditor(平面图编
辑器)来确定最短和最长的传播延时。
五、器件编程下载
在以上步骤都正确实施并完全通过以后,我们就可以将我们设计的项目(最
终的数据编程文件)下载到器件中去,然后加入实际的激励信号进行测试,在我
们的目标系统中进行产品级使用了。如果还未最终达到我们的设计目的,则需返
回以上步骤查找设计问题直至无误。至此,我们已经完整的完成了可编程逻辑器
件的产品级设计流程,相信用户通过对以上步骤的了解,对可编程逻辑器件的设
计有了一定的概念和了解。(有关器件下载编程配置的详细使用说明见
MAX+plusII 软件设计与应用举例章节。)
六、可编程逻辑常用设计输入法介绍
MAX+plus II 的设计输入方法有多种,主要包括文本设计输入、原理图输入、
波形设计输入、层次设计输入和平面图设计输入等多种方式,另外,还可以利用
第三方EDA工具生成的网表文件输入,该软件可接受的网表有EDIF格式、VHDL
格式及Verilog 格式。设计者可根据实际情况灵活地使用最适合自己的设计方法。
下面我们将用几种最常见的输入法加以介绍。
1、原理图设计输入法
这是一种最直接的输入方式,它使用软件系统提供的元器件库及各种符号和
连线画出原理图,形成原理图输入文件。这种方式大多用在对系统及各部分电路
很熟悉的情况,或在系统对时间特性要求较高的场合。当系统功能较复杂时,原
理图输入方式效率低,它的主要优点是容易实现仿真,便于信号的观察和电路的
调整。
1)、软件的启动:进入Altera 软件包,打开MAX+plus II 10.0 软件,如下图所示。
2)、启动File \ New 菜单,弹出设计输入方式选择窗口,如下图所示:
3)、选择Graphic Editor File,单击OK 按钮,打开原理图编辑器,进入原理图设
计输入电路编辑状态,如下图所示:
4)、放置一个器件在原理图上
a.在原理图编辑器的空白处双击鼠标左键或单击鼠标右键,在弹出的快捷菜单
中选择Enter Symbol,出现下图;
b.在上图光标处可直接输入元件名称或用鼠标点取元器件库中的所需元件,按下
OK 即可输入元器件,下面我们将以3-8 译码器为例加以说明。
c.如果安放相同元件,只要按住Ctrl 键,用鼠标拖动所选中的元件复制到指定位
置即可。
d.一个完整的电路包括:输入端口INPUT、电路元器件集合、输出端口OUTPUT。
下图为3-8 译码器的电路元件安放结果。
5)添加连线:
把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字连线状态,按住鼠标
左键拖动,即可画出连线,如果放开鼠标左键则一条连线就画好了(一条连线也
可叫做一个节点,在原理图编辑中节点是以线出现的)。3-8 译码器原理图如下图
所示。
6)标记输入/输出端口属性
分别双击输入端口的“PIN-NAME”,当其变成黑色时,即可输入标记符名称并回
车确认;输出端口标记方法类似。本译码器的三输入断分别标记为:A、B、C;
其八输出端分别为:D0、D1、D2、D3、D4、D5、D6、d7。如下图所示。注意,
端口名字不能为空。
7)保存原理图
单击保存按钮图标,对于新建文件,出现类似文件管理器的图框,请选择保存路
径和文件名称,原理图的扩展名为*.gdf 。
8)点击File\Project\set project to current file 设置此项目为当前文件,如下图所示。
注意:此操作尤为重要,否则容易出错。
至此,你已完成了电路原理图设计输入的整个过程。当然在使用这种输入法的时
候,有很多小技巧,如总线的使用等,这里将不再作详细介绍。
2、文本设计输入(VHDL)法简介
文本设计输入法,这种输入法就是将电子电路的设计以文字(专用计算机语
言)或文件的形式表现出来,即硬件描述语言,它可分为普通硬件描述语言和行
为描述语言。普通硬件描述语言有ABEL-HDL、CUPL 等,它们支持逻辑方程、
真值表、状态机等逻辑表达方式。行为描述语言是目前常用的高层次硬件描述语
言,有VHDL 和Verilog-HDL 等,它们都已成为IEEE 标准,并且有许多突出的
优点:如语言与工艺的无关性,可以使设计者在系统设计、逻辑验证阶段便能确
立方案的可行性;如语言的公开可利用性,使它们便于实现大规模系统的设计等;
同时硬件描述语言具有较强的逻辑描述和仿真功能,而且输入效率高,在不同的
设计输入库之间转换和移植非常方便,通用性很强。因此,运用VHDL、
Verilog-HDL 硬件描述语言设计已是当前的趋势,下面我们将以VHDL 语言为例
作一简单介绍。
1)、在主菜单上选择File\New 或点击新建快捷图标,在弹出的菜单中选择TextEditer File,按下OK 按钮, 即可输入文本,现已“Adder”加法器为例,进行VHDL
语言设计输入,在下面的文本编辑器中输入该描述语言,如下图所示。
2)、设计输入完成以后,在主菜单上选择File \Save 或点击保存文件快捷图标,
弹出如下对话框,请注意文件格式。
3)、选择文件类型为 •VHD 硬件描述语言,输入文件名称“adder”,点击OK 按
钮保存文件。再选择file/project/set project to current file 设置这个项目为当前的项
目文件。
4)、编译我们所设计的项目,从下图可以看出其编译没有任何错误,可以说明此
版本软件支持VHDL 硬件描述语言设计输入,有兴趣的读者可以对该项目试着
仿真一下,以得到进一步的验证。
3、波形输入法简介
波形输入主要用于建立和编程波形设计文件以及输入仿真向量和功能测试
向量,从而达到对电路的设计实现。
波形设计输入适合用于时序逻辑和有重复性的逻辑函数。系统软件可以根据
用户的输入 输出波形自动生成逻辑关系。
波形编辑功能还允许设计者对波形进行拷贝、剪切、粘贴、重复与伸展,从
而可以用内部节点、触发器和状态机建立设计文件,并将波形进行组合,显示各
种进制的状态值,还可以通过将一组波形重叠到另一组波形上,对两组仿真结果
进行比较。下面我们将以一个非门为例加以简单说明。
1)、按下图方式打开新建波形文件窗口;
2)、按下图方式分别输入“input/output”管脚名称in 和out;
3)、按下图方式打开波形编辑窗口,用户可以发现当您选中其输入或输出端
口标记时,左边快捷工具栏的波形编辑工具被激活,这时我们就可以来按电路要
求编辑电路波形了。
4)、按下图所示,添加逻辑波形。可以看出下面的输入输出波形结构实际上
就是非门这个电路用波形的形式来描绘和表现的;
5)、保存文件,注意选择.wdf 扩展名,如下图所示。再选择file/project/set
project to current file 设置这个项目为当前的项目文件。
6)、编译我们所设计的项目,从下图可以看出 ,编译完全正确,没有语法
错误,这说明MAX+plus II 软件支持波形设计输入。
说明:有兴趣的读者可以试着把该项目仿真一下,有关编译和仿真的详细说
明请参考MAX+plus II 软件设计与应用举例章节。在这里提醒读者一下,用波形
编辑设计输入时,如果要仿真,请关闭上面所有窗口,然后再选择File\open 打
开.sym 文件(即该项目自动生成的图形文件)后再进行仿真,如下图所示。具
体仿真方法请参考有关章节介绍。
4、层次化设计输入法简介:
当设计一个结构较复杂的系统时,采用层次化的设计方法,使系统设计变得
简洁和方便。层次化设计是分层次、分模块进行设计描述。描述器件总功能的模
块放在最上层,称为顶层设计;描述器件的某一部分功能的模块放在下层,成为
底层设计。这种分层次的关系就类似于软件设计分主程序和子程序的关系。层次
化设计的优点其一是支持模块化,底层模块可反复被调用,多个底层模块可分别
由不同的设计者同时设计,从而提高了设计效率。其二是设计方法较自由,可以
采用自上而下或自下而上的设计方法。其三是同一个设计项目的各个模块可以用
不同的设计输入法来实现,团队之间的合作就更加方便灵活,各自的模块可以用
自己最熟悉的设计方法(语言)来编写程序而相互不约束。
下面我们以一位全加器的设计为例,简单介绍一下层次化的设计方法。一位全加
器的整个设计过程包括两个模块:底层半加器模块(H_adder.vhd)、顶层全加器
模块(F_adder.gdf)。读者可以看出这两个模块是分别由VHDL 语言和原理图两
种方法来设计实现的。
1)、编写底层半加器模块H_adder.vhd,程序清单如下:
2)、将半加器项目编译,并创建缺省符号H_adder.sym 。
3)、采用图形输入法输入顶层的图形文件F_adder.gdf。F_adder.gdf 是全加器设
计中的顶层图形文件,调用了前面创建的符号H_adder.sym 和一个两输入或门,
组成一个设计实体,全加器顶层设计原理图如下图所示。
原理图绘制完成后,就可以在项目的层次显示窗口中观察F_adder 的层次结构。
选择菜单MAX+plus II\Hierarchy Display(层次显示)或点击其工具栏快捷按钮
,打开层次显示窗口,显示出F_adder 设计项目的层次树形结构,如下图所
示。在上面的层次显示窗口中可以看出全加器的顶层设计是一个.gdf 的图形文
件,底层是两个用VHDL 语言编写的文本文件,只要我们双击这两个模块,就
可以看到我们底层设计的文本程序清单。通过以上的学习,相信用户对可编程逻
辑器件设计的灵活性更加值得青睐。
五、MAX+plus II 软件设计与应用举例
说明:本书将以本例程为例详细介绍altera 公司MAX+plusII 10.0 版本软件的基
本应用,其它实验将不再赘述。读者通过对本实验的应用举例后将对MAX+plusII
软件及CPLD/FPGA 的设计与应用有一个比较完整的概念和思路。此书因篇幅有
限,仅仅介绍了MAX+plusII 软件的最基本、最常用的一些基本功能,相信读者
在熟练使用本软件以后,你定会发现该软件还有好多非常方便、快捷、灵活的设
计技巧与开发功能。由于编者能力有限,不详之处再所难免,我们希望得到你的
指正与包涵。
1、项目的设计输入
各种设计输入法的详细使用请参考“设计输入方法介绍”章节。
下面我们以3-8 译码器为例加以说明:
1、打开MAX+plus II 10.0 软件,用原理图方式设计的译码器电路如下:
2、保存原理图,本实验中命名为test1.gdf。
3、点击File\Project\set project to current file 设置此项目为当前文件,如下图所示。
注意,此操作在你打开几个原有项目文件时尤为重要,否则容易出错。
2、项目的编译与适配
1.选择芯片型号
选择当前项目文件欲设计实现的实际芯片进行编译适配,点击Assign\Device
菜单选择芯片,如下图对话框所示。如果此时不选择适配芯片的话,该软件将自
动把所有适合本电路的芯片一一进行编译适配,这将耗费你许多时间。该例程中
我们选用CPLD 芯片来实现,如用7000S 系列的EPM7128SLC84-6 芯片;同样
也可以用FPGA 芯片来实现,你只需在下面的对话窗口中指出具体的芯片型号即
可。
2、编译适配
启动MAX+plus II \ Compiler 编译器菜单,按Start 开始编译,并显示编译结
果,生成下载文件。如果编译时选择的芯片是CPLD,则生成 .pof 文件;如果
是FPGA 芯片的话,则生成 .sof 文件,以备硬件下载编程时调用。同时生成 .rpt
报告文件、.sym 符号文件等,可详细查看编译结果。如有错误待修改后再进行
编译适配,如下图所示。注意,此时在主菜单栏里的 Processing 菜单下有许多编
译时的设置选项,视实际情况选择设置。
如果说你设计的电路顺利地通过了编译,在电路不复杂的情况下,就可以对
芯片进行编程下载和使用,直到设计的硬件实现,如果你的电路有足够的复杂,
那么其仿真就显得非常必要。
3、项目的功能仿真与时序分析
MAX+plus II 教学版软件支持电路的功能仿真(或称前仿真)和时序分析
(或称后仿真)。众所周知,开发人员在进行电路设计时,非常希望有比较先进
的高效的仿真工具出现,这将为你的设计过程节约很多时间和成本。由于EDA
工具的出现,和它所提供的强大的(在线)仿真功能迅速地得到了电子工程设计
人员的青睐,这也是当今EDA(CPLD/FPGA)技术非常火爆的原因之一。下面
就MAX+plusII 软件的仿真功能的基本应用在本实验中作一初步介绍,在以后的
实验例程中将不在一一介绍。
一)添加仿真激励信号波形
1.启动MAX+plusII\Wavefrom editor 菜单,进入波形编辑窗口,如下图所示。
2、将鼠标移至空白处并单击鼠标右键,出现如下图所示对话窗口。
3、选择Enter nodes from snf 选项并按左键确认,出现下图所示对话筐,单
击和按钮,选择欲仿真的所有I/O管脚。
评论
查看更多