第3章 MAXPLUS软件的使用(第4节 1)
- 格式:doc
- 大小:270.00 KB
- 文档页数:3
第三章 MAX+PLUSⅡ的基本使用3.1概述MAX+PLUSⅡ开发系统是易学易用的完全集成化的EDA设计开发环境。
目前已发行10.1 版本。
该软件与LATTICE公司的iSPEXPERT及XILINX的FOUNDATION等软件一样都是CPLD/FPGA的基本开发环境,是CPLD开发所必须的,它包含了开发CPLD器件的全过程。
本章将以MAX+PLUSⅡ的基本使用为基础介绍CPLD器件的开发方法,主要目的是利用最小的篇幅介绍开发CPLD 器件的全过程,因此不可能面面具到,只能介绍最常用、最基本的特性。
但CPLD器件及其开发系统又是极其复杂的,因此在学习使用时应注意如下特点:1、 M AX+PLUSⅡ的使用与学习一定要与CPLD硬件的学习相结合。
2、 注意学习软件与动手练习相配合,只有多动手设计与调试才能真正掌设计思想与设计方法。
3、 多参考相关的书籍或MAX+PLUSⅡ的帮助系统。
4、 在学习过程中要与数字电路、计算机语言等课程进行比较,找出相同点与不同点,进行比较、类比地学习。
5、 概念的区分与使用:(1) 器件与符号:如在数字电路中7400为一个器件,在MAX+PLUSⅡ中器件一般被CPLD器件专用,而MAX+PLUSⅡ中调用的中小规模的器件都称为符号。
本文中有时出于习惯,也会在该使用“符号”的地方而使用“器件”名称 ,因此在碰到像“器件”、“符号”这样的词,一定要注意上下文的联系。
(2) 模块与符号:传统习惯,一般是将一个电路抽象后形成模块,利用模块进行更高层次的设计。
而在MAX+PLUSⅡ中电路抽象后形成的模块依然称为“符号”。
因此在见到“模块”与“符号”这样的词语时,也要注意上下文的联系。
6、 通过本章学习,逐步掌握层次电路的设计,设计过程的功能仿真和时序仿真,同时学会低层编辑,利用硬件实验系统进行硬件的验证。
MAX+PLUSⅡ与其它软件相比具有使用简单,操作灵活,支持得器件多,设计输入方法灵活多变等特点,掌握了MAX+PLUSⅡ后,对学习其它的EDA软件会有很大的帮助。
Maxplus使用说明一、软件的安装在光盘中提供了Maxplus10.2的安装程序和license.dat。
在文件夹中双击autorun.exe,然后出现如下的界面:然后再点击Install下面的最上面的那个,然后点击安装。
在安装好了之后,要安装license.dat,如下操作:菜单->Options->license Setup,出现如下的界面:然后点击Browse选择license.dat的存放路径,然后点击OK。
这样就可以了。
二、Maxplus使用方法使用Maxplus主要是为了完成对程序的仿真以及配合JTAG对芯片进行烧写。
下面将给出操作步骤。
(一)、新建文件图1如图1所示,点击File-〉New或是直接点击快速菜单下面的新建菜单,可以得到图2的界面。
图2其中,第一个是生成图形编辑文件,就是顶层文件是模块形式的;第二个是生成单个模块的文件,由它可以设计实现某个功能的单独模块;第三个是生成语言编辑的文件,就是用VHDL、Verilog HDL或是.mif文件;最后一个是生成波形仿真文件的。
一般情况下我们先可以选择第一个和第三个的其中一个就可以了。
下面就先选择第三个,得到如图3界面。
图3(二)、文件的编写下面编写一个简单的程序,实现数a和b的与,如图4所示:图4在文件写好后,点击保存,得到如下的界面:图5这里要注意的是保存的时候,要注意文件中的实体名和上面要写的File Name 要相同,所以上面的File Name那个地方要写上example,在Automatic Extension 里面选择.vhd,Directories选择保存文件的路径。
保存好了之后,为了保证文件的编译正确,要指定一下路径:菜单->File->Project->Set Project to Current File,如图6所示:图6这样就可以指定文件所在的路径了。
(三)、文件的编译文件写好保存后,要进行编译,可以如下操作:菜单->Max+plus II->Compiler,或是直接点击,可以得到下面的界面:图7点击Start进行进一步的编译,出现下界面:图8上面的编译说明没有错误,下面就要进行软件的波形仿真。
3.4.2 使用VHDL语言设计例Max+plus2软件支持VHDL语言描述被设计电路的逻辑功能,如下举例说明如何使用该语言设计逻辑电路。
例一:设计一个加法器第一步:进入Max+plus2软件环境第二步:建立项目名称,选择File/Project/Name菜单第三步:建立新文件,选择File/New菜单,进入文本编辑器(Text Editor File)窗口第四步:输入VHDL语言编写的源程序,如图3.4.1所示,这是对一个加法器进行的描述。
输入完毕后存盘。
图3.4.1第五步:选择Assign/Device菜单,选定器件。
第六步:选File/Project/Save & Comlile菜单,编译该VHDL源文件若有错误则改错,然后再编译,直至无错编译成功第七步:选Max+plus2\Waveform Editor菜单,进入波形编辑窗口,编辑输入波形如图3.4.2所示。
图3.4.2第八步:选择Max+plus2/Simulator菜单,仿真结果如图3.4.3所示。
图3.4.3用VHDL语言描述的电路同样可以使用File/Create Default Symbol菜单,将该电路转换成一个单元电路,在图形编辑器中调用该单元电路就象调用其它单元电路一样方便、简单,见图3.4.4。
图3.4.4例二:设计一个十进制加法计数器第一步:进入Max+plus2软件环境第二步:建立项目名称,选择File/Project/Name菜单第三步:建立新文件,选择File/New菜单,进入文本编辑器(Text Editor File)窗口第四步:输入VHDL语言编写的源程序,这是对一个十进制加法计数器的行为描述。
输入完毕后存盘。
十进制加法计数器的源程序:LIBRARY ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity count10 isport(clk,reset,en: in std_logic;qa,qb,qc,qd: out std_logic);end count10;architecture behave of count10 issignal count_4: std_logic_vector(3 downto 0);beginqa<=count_4(0);qb<=count_4(1);qc<=count_4(2);qd<=count_4(3);process(clk,reset)beginif (reset='0') thencount_4<="0000";elsif(clk'event and clk='1') thenif(en='1') thenif(count_4="1001") thencount_4<="0000";elsecount_4<=count_4+'1';end if;end if;end if;end process;end behave;第五步:选择Assign/Device菜单,选定器件。
附一:MAX+PLUS Ⅱ的基本使用一、概述Altera 公司的 MAX+PLUS Ⅱ开发系统是一个完全集成化、易学易用的可编程逻辑器件软件设计环境,可以在多种平台上运行,具有操作灵活、支持器件多、设计输入方法灵活多变的特点,是用户设计、开发以Altera PLD 器件为核心的软件开发工具。
MAX+PLUS Ⅱ是Multiple Array Matrix and Programmable Logic User System 的缩写,软件版本分基本版、商业版和学生版,学生版软件在功能上与商业版类似,仅在可使用的芯片上受到限制。
MAX+PLUS Ⅱ的9.x 版和10.x 版均可安装在WIN95或WIN98/2000操作系统上,其中9.x 版需32MB 内存、1GB 以上硬盘,10.x 版需64MB 内存、2GB 以上硬盘。
MAX+PLU SⅡ的设计过程可用图1-1-1表示:二、AX+PLUS Ⅱ的常用设计输入方法多种,主要包括原理图设计输入方式、文本设计计输入 MAX+PLUS Ⅱ的原理图设计输入是最为直接的一种设计输入方式,使用这种方式输入设计效率较低,但容易实现仿真,便于信号的观察以及电路的调整。
MAX+PLUS Ⅱ的文本输入和编译系统支持VHDL、Verilog 和AHDL (Al 形设计输入 MAX+PLUS Ⅱ中提供了直观的、易于理解的波形输入方式,可以设计组分配逻 图1-1-1 MAX+PLUS Ⅱ设计流程图M MAX+PLUS Ⅱ软件的设计输入方法有输入方式、波形设计输入方式、底层设计输入方式等。
设计人员可以根据自己的实际情况灵活选择使用。
1.原理图设MAX+PLUS Ⅱ提供了丰富的库单元供设计者调用,.mf 库几乎包含了所有的74系列器件,.prim 库提供了数字电路中所有的分离器件,包括多种特殊的逻辑宏功能和新型的参数化的兆功能模块。
2.文本设计输入tera 硬件描述语言)编写的HDL 设计文件。
MAX+PLUSⅡ软件的使用一、 实训目的1.掌握图形设计方法;2.熟悉MAX+PLUSⅡ软件的使用及设计流程;二、实训器材PC机一台\示波器、JH5006实验箱、下载电缆一根(已接好)、导线若干和示波器。
三、实训要求1.要求复习《数字电路》中与本章相关的知识;2.熟悉VHDL教材中的关于逻辑门电路和各类触发器的VHDL描述方法;3.正确地进行VHDL程序设计;4. Max+开发系统的操作与应用四、实训原理与内容因为本实验中下载电缆使用的时Altera公司的ByteBlaster下载电缆,它通过并口与计算机相连,在Windows95/Windows98下可直接使用,但在Windows2000下需要进行以下设置后才可使用。
具体步骤如下:1、选择控制面板中的增加或删除硬件选项进入增加或删除硬件向导;2、选择next按钮两次,进入选择一个硬件器件窗口中,在器件中选择增加一个新的器件,然后选择next按钮;3、在接下来的窗口中选择“我想从列表中选择一个新的硬件”,然后选择next按钮;4、在硬件类型窗口中选择“Sound,video and game controllers”,然后选择next按钮;5、出现的“选择一个器件驱动”窗口中选择右下脚的“have disk…”按钮;6、在弹出的“Install from disk”窗口中选择browse按钮,在弹开的窗口中选择maxplusⅡ安装目录下的Drivers\win2000\win2000.inf文件,然后选择OK 按钮;以下按照Windows向导进行操作即可,最后需要重新启动计算机。
五、实训步骤利用FPGA工具进行原理图输入设计的优点是,设计者能利用原有的电路知识迅速入门,完成较大规模的电路系统设计,而不必具备许多诸如编程技术、硬件语言等新知识。
MAX+plusII提供了功能强大,直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于各种需要的元件库,其中包含基本逻辑元件库(如与非门、反向器、D触发器等)、宏功能元件(包含了几乎所有74系列的器件),以及功能强大,性能良好的类似于IP Core的巨功能块LPM库。
3.5 用AHDL 语言设计数字系统AHDL 语言是ALTERA 公司开发的高效、易学的硬件描述语言,在max+plus2 软件中使用它比VHDL 语言更有效。
3.5.1 AHDL 简介一个AHDL 逻辑设计至少必须包含一个分设计段(Subdesign Section) 和一个逻辑设计段(Logic Section),其它段和语句是可选择的,AHDL的设计文件是用Max+Plus n软件的文本编辑器编写的源程序(*.tdf)下面介绍AHDL 的一些语句。
( 1) 常数叙述语句该语句可以用一个字符串代表数字、算数表达式例:CONSTANT UPPER_LIMIT = 130;CONSTANT BAR = 1 + 2 DIV 3 + LOG2(256);CONSTANT FOO = 1;CONSTANT FOO_PLUS_ONE = FOO + 1;(2) 定义函数语句该语句可以定义一个在分设计中使用函数,例:DEFINE MAX(a,b) = (a > b) ? a : b;SUBDESIGN(dataa[MAX(WIDTH,0)..0]: INPUT; datab[MAX(WIDTH,0)..0]: OUTPUT;)BEGINdatab[] = dataa[];END;此例中MAX 函数保证最小的数据位宽度。
(3) 参数叙述语句该语句可以声明参数化巨功能模块和宏功能模块的一个或几个参数例:PARAMETERS(FILENAME = "myfile.mif", -- optional default value follows "=" signWIDTH,AD_WIDTH = 8,NUMWORDS = 2UD_WIDTH);(4) 函数描述语句共有 4 种形式的逻辑函数可以供用户调用,它们是:Megafunction —具有复杂逻辑功能的巨功能模块,放在mega_LPM 库中,可以供用户调用Primitive —一些基本逻辑功能函数,可以直接调用Macrofunction —具有高水平的逻辑宏功能模块,共有300 多种,放在max2lib 子目录中State Machi ne ——种具有多个状态的时序电路,可以形成符号图形,用户可以调用以上几种逻辑功能函数都可以以逻辑函数名和符号图形的方式被调用,在AHDL 源文件中调用时要首先进行声明,见如下例子。
第3章 MAX+PLUSII软件的使用MAX+PLUSII软件是一个功能强大,容易使用的软件包,它可以以图形方式、文字输入方式(AHDL、VHDL和VERILOG)、和波形方式输入设计文件,可以编译并形成各种能够下装到EPROM和各种ALTERA器件的文件,还可以进行仿真以检验设计的准确性,下面举例说明该软件的使用。
3.1 MAX+PLUSII软件3.1.1 功能简介(1) 原理图输入(Graphic Editor)MAX+PLUSII软件具有图形输入能力,用户可以方便的使用图形编辑器输入电路图,图中的元器件可以调用元件库中元器件,除调用库中的元件以外,还可以调用该软件中的符号功能形成的功能块.图形编辑器窗口见图3.1.1.图3.1.1 图形编辑器窗口(1)硬件描述语言输入(Text Editor)MAX+PLUSII软件中有一个集成的文本编辑器,该编辑器支持VHDL,AHDL和Verilog硬件描述语言的输入,同时还有一个语言模板使输入程序语言更加方便,该软件可以对这些程序语言进行编译并形成可以下载配置数据,文本编辑器窗口见图3.1.2。
图3.1.2 文本编辑窗口(2)波形编辑器(waveform Editor)在进行逻辑电路的行为仿真时,需要在所设计电路的输入端加入一定的波形,波形编辑器可以生成和编辑仿真用的波形(*.SCF文件),使用该编辑器的工具条可以容易方便的生成波形和编辑波形。
波形编辑器窗口如图3.1.3所示。
使用时只要将欲输入波形的时间段用鼠标涂黑,然后选择工具条中的按钮,例如,如果要某一时间段为高电平,只需选择按钮”1”。
图3.1.3 波形编辑器窗口还可以使用输入的波形(*.WDF文件)经过编译生成逻辑功能块,相当于已知一个芯片的输入输出波形,但不知是何种芯片,使用该软件能力可以解决这个问题,设计出一个输入和输出波形相同CPLD电路。
(3)管脚(底层)编辑窗口(Floorplan Editor)该窗口用于将已设计好逻辑电路的输入输出节点赋予实际芯片的引脚,通过鼠标的拖拉,方便的定义管脚的功能。
点击OK 按钮即可编辑源程序。
下一步进行汇编进入如图所示的界面,点击START按钮如果没有错误提示,则按下述进行,否则把错误改正过来,并重汇编,只到出现没有错误为止。
下一步为选则波形,按上述界面操作再把输入输出信号通过上述界面把它们调出。
先点击LIST按钮,再点击=>按钮,最后点击OK按钮各个按钮的含义如下:fe;其中starting value 填写时钟开始的值;increment by 填写每一个时钟的增量值,如上述界面中,若其值为1,则下一个时仲值为53,若填写值为2,则下一个时钟值为54;Multiplied By 其含义为时钟为默认时钟的多少倍;若为1则如原时钟一样,若填写2,则时钟为原来的2倍;例如,若时钟周期为10ns,则Multiplied By填写为1时,则该时钟周期为10ns, 若Multiplied By填写为2时,则该时钟周期为20ns,给一组信号赋一个初值,点击此按钮,出现如下界面输入这一组信号的值;当所有输入信号值均以赋值后,点击右上角的关闭出现如下所示的界面点击yes按钮;出现如图所示界面,点击ok按钮;再按下述操作,即选则max+plus菜单下的simulator菜单出现如下所示的界面然后点击start按钮,出现如下界面点击确定按钮,出现如下界面点击open scf按钮,就会出现仿真波形了。
如下图所示。
Max+plus 还支持文件形式的波形输入方式,方法如下:以实体名命名,但扩展名为vec扩展名为vec的文件要求存放在与实体相同的文件夹中;其内容为如下:outputs 输出信号名1 输出信号名2 输出信号名n;start 时间;--时间的单位为纳秒(ns)stop 时间;INTERV AL 时间;INPUTS 输入信号名;PA TTERN具体的信号值;如下述为一个半加器的具体实例,该半加器实体名为aaa则以aaa.vec存盘的波形的描述为:outputs s co ; --输出信号为s和coSTART 0 ; --开始时间为0纳秒STOP 5600 ; --结束时间为5600INTERV AL 5; --间隔时间为5纳秒,即每一个图案维持5纳秒INPUTS a ; --输入信号为aPA TTERN --图案0 1 0 1 0 1 0 1; - --图案的具体值,如间隔时间为5纳秒相配合,即为0值维持5纳秒,1值维持5纳秒,0值维持5纳秒,1值维持5纳秒,即构成了一个周期为10纳秒的占空比为50%的一个方波。
MAX+PLUSII软件的安装与使用Altera公司的MAX+PLUS II 开发系统是一个完全集成化、易学易用的可编程逻辑设计环境,它可以在多种平台上运行。
它所提供的灵活性和高效性是无可比拟的。
其丰富的图形界面,辅之以完整的、可即时访问的在线文档,使设计人员能够轻松、愉快地掌握和使用MAX+PLUSII软件。
一、A X+PLUSII开发系统特点。
1.开放的界面Altera的工作与EDA厂家紧密结合,使MAX+PLUSII软件可与其它工业标准的设计输入.综合与校验工具相连接。
设计人员可以使用Altera或标准EDA设计输入工具来建立逻辑设计,使用MAX+PLUSII编译器(Compiler)对Altera器件设计进行编译,并使用Altera 或其它EDA校验工具进行器件或板级仿真。
目前,MAX+PLUSII支持与Cadence、Exemplarlogic、Mentor Graphics、Synopsys、Synplicity、Viewlogic和其它公司的EDA工具的接口。
2.多平台MAX+PLUSII软件可基于486、奔腾PC机的WINDOWS NT 3.51或4。
0、WINDOWS 95、WINDOWS 98下运行,也可在Sun SPAC Stations,HP9000 Series 700/800和IBM RISC System/6000工作站上运行。
3.完全集成化MAX+PLUS II的设计输入、处理与校验功能全部集成在统一的开发环境下,这样可以加快动态调试,缩短开发周期。
4.丰富的设计库MAX+PLUSII提供丰富的库单元供设计者调用,其中包括74系列的全部器件和多种特殊的逻辑宏功能(Macro—Function)以及新型的参数化的兆功能(Mage—function)。
调用库单元进行设计,可以大大减轻设计人员的工作量,也可成倍地缩短设计周期。
5.模块化工具设计人员可以从各种设计输入、处理和校验选顼中进行选择从而使设计环境用户化,必要时,还可以根据需要添加新功能。
3.4 VHDL语言
在第一章我们详细介绍了VHDL语言,世界各大半导体公司开发的设计软件都支持该语言,MAX+PLUS II软件也支持该语言,下面介绍VHDL语言是如何在MAX+PLUS II软件中使用的。
3.4.1 MAX+PLUS II与VHDL语言
(1)支持VHDL的库
max+plus2软件具有如下标准库支持VHDL语言:
(2)用MAX+PLUS II编译VHDL语言
编译器自动的编译在当前项目(Project)中的VHDL设计文件,但应该遵守如下约定:1)可以直接编译VHDL设计文件
2)如果必要将项目名称更换到现行文件(File/Project/set Project to Current File 菜单
3)指定VHDL格式
4)在Interface菜单进行VHDL网表阅读器设置
5)选择VHDL1987或VHDL1993
6)若在设计文件中使用了用户自己的库,还需要在网表阅读器中设置库名
7)使用File/Project/ Save & Compile菜单进行编译
(3)使用MAX+PLUS II中提供的模板
文本编辑器有一个模板可以帮助书写VHDL源程序,只要将光标放在需要加入模板的地方,打开模板对话框选择摸板内容就可以了。
(4)VHDL语言使用步骤:
第一步:选File/Project/Name菜单建立项目名
第二步:选File/New菜单,并选text Editor条目,进入文本编辑窗,然后输入电路设计文件如图3.4.1所示
图3.4.1
第三步:选File/Project/Save & Check 菜单将文件存盘并检查文件的正确性
(文件应以扩展名*.VHD存盘)
第四步:选Assign/Device菜单,在指定器件窗口指定MAX7000系列,并选EPM7128CLC84-7器件
第五步:选Assign/Global Project Logic Synthesis菜单,指定逻辑综合的类型为FAST
第六步:选max+plus2/Floorplan Editor 菜单,将设计文件的输入和输出引脚赋予实际器件,若不进行本步骤,软件会自动指定设计文件输入和输出引脚和实际器件引脚之间的对应关系。
第七步:选File/Project/Save & Compile 菜单,编译设计文件
第八步:选max+plus2/Time Analyzer 菜单,在Delay Matrix 查看时间特性
第九步:若有下载硬件,就可以选max+plus2/Programmer菜单进行配置下载,然后在硬件环境中观察设计的正确性,若无硬件环境就只能进行功能仿真,进行第十一步
第十步:选max+plus2/waveform Editor菜单,编辑输入信号波形(在波形编辑窗口,选Node/Enter Nodes from SNF菜单将输入和输出端口凋入,然后再编辑)
第十一步:选max+plus2/Simulator 菜单进行行为访真
第十二步:观察仿真结果,研究设计的正确性
说明:
* 若使用已经编写完毕的文件,选File/Open打开文件后,一定用File/Project/Set Project to Current file菜单将当前打开的文件设置为当前项目。
* 分设计题目必须和文件名称相同。
* 在VHDL中调用ALTREA函数
In the following example, two Component Instantiation Statements are used to create an instance of a DFF primitive and a 74151b macrofunction.
如下是一个例子,该例子中使用了基本逻辑模块DFF和老的宏功能模块74151b。
LIBRARY altera;--调用ALTERA库
USE altera.maxplus2.ALL;
LIBRARY ieee; --调用IEEE库
USE ieee.std_logic_1164.ALL;
ENTITY compinst IS
PORT
(
data, clock, clearn, presetn : IN STD_LOGIC;
q_out : OUT STD_LOGIC;
a, b, c, gn : IN STD_LOGIC;
d : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
y, wn : OUT STD_LOGIC
);
END compinst;
ARCHITECTURE a OF compinst IS
BEGIN
dff1 : DFF PORT MAP (d =>data, q => q_out, clk => clock, clrn => clearn, prn => presetn);
mux : a_74151b PORT MAP (c, b, a, d, gn, y, wn);
END a;。