maxplus
- 格式:pdf
- 大小:471.69 KB
- 文档页数:29
第三章 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上面的编译说明没有错误,下面就要进行软件的波形仿真。
Max-Plus代数是一种数学运算方法,它扩展了矩阵运算的性质,将矩阵中的每个元素视为对应路径的最大权重。
这种方法可以应用于各种领域,如系统控制、生产计划、交通运输等。
在Max-Plus代数中,矩阵中的每个元素表示的是路径的最大权重,因此可以通过对矩阵进行运算来获得不同路径的最大权重。
这种运算方法在处理复杂问题时非常有用,因为它可以将问题分解为较小的子问题,并将这些子问题的解组合起来得到最终的解。
Max-Plus代数还具有线性周期性的性质,即对于一个序列,如果其中任何一个元素被另一个元素替换,那么这个新序列仍然具有与原序列相同的线性周期。
这个性质使得Max-Plus代数在处理一些周期性问题时更加有效。
总之,Max-Plus代数是一种非常有用的数学运算方法,它可以扩展矩阵运算的性质,并应用于各种领域。
通过理解Max-Plus代数的概念和性质,可以更好地理解和应用这种方法来解决复杂问题。
1、建立文件夹(中文目录禁止)2、建立新的项目:File→New→Graphic Editor File(图形) / Text Editor File(文本) /Waveform Editor File(波形仿真)3、设计输入:图形方式:单击右键(或双击空白区域)→Enter S ymbol→选择图元路经(prim:基本门电路、输入输出(input、output)、触发器;mf:74系列;lpm:参数可设置)文本方式:(VHDL)备注:图形文件中总线命名原则A[n-1..0],与总线端口连接的实线应为粗线。
4、保存文件:保存在自建的文件夹下→(图形文件:命名不能与被调用模块名字相同,后缀名gdf;文本文件:命名与实体名字相同,后缀名vhd)5、指定项目路径:File→Project→Set Project to Current File(检察项目路径是否为当前文件路径)6、打开编译器MAX+plusII→Compiler→(功能仿真:Processing→Functional SNF Extractor;时间仿真:Processing→Timing SNF Extractor)7、项目编译:点击编译器中Start按钮。
8、错误修改:(查找错误信息,观看错误信息说明,双击红色错误信息,自动定位错误所在位置左右;如有多个错误出现,必须从第一个错误改起)。
9、建立仿真波形文件:File→New→Waveform Editor File10、引入仿真节点:Node→Enter Nodes From SNF→点击List→“=〉”将左侧仿真节点拉到右侧→Ok11、输入节点加信号激励:设置仿真结束时间File→End Time根据仿真项目复杂程度设置,一般项目可设置为10us;选择输入节点→从左侧选取信号激励(如果给某一段时间区域内加激励,可用鼠标左键按住选中一段时间加激励)备注:输入节点激励信号原则,根据设计项目的实际需求加以适当激励,仿真项目中不同功能下输入信号,输出节点不用加激励。
Maxplus II使用教程双击桌面图标:
Maxplus II 打开后的界面:
新建一个空白文档:
新建对话框:
新建一个文本文件:
点击
OK
在空白文档中输入程序:
新建一个图形文件 新建一个文本文件 新建一个波形文件
保存:
保存要注意三个问题:1.保存的位置:最好保存在一个空白的文件夹中。
2.文本文件保存的类型:使用.V做后缀,表示采用的是VerilogHDL编写的程序,采用.vhd 作为后缀是表述使用的是VHDL编写的程序。
3.保存的文件名要与程序模块的名称一致。
保存之后,关键字颜色发生变化:
件设为当前工程。
将文件设为当前工程后就可以进行编译了。
点击 start
位置处。
编译通过后,将程序生成对应的模块。
生产的模块名称和文件的名称是一致的。
生成了模块就可以被其他电路调用。
新建一个文件
试,仿真,看功能有没有错误。
将刚刚程序生产的模块掉出来,
模块所在的位置是你程序所在的文件夹。
模块掉出来后的现象:
添加输入输出管脚。
输入管脚为input输出管脚为output
连线
更改管脚名称。
双击管脚就可以
保存
将当前的图像文件,设为当前工程。
编译当前工程
新建一个波形文件
添加输入输出信号
改变输入信号的值。
仿真
仿真结果:。
点击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%的一个方波。
4.1 MAX+plusⅡ软件安装数字系统的设计离不开EDA软件。
现在有多种支持可编程逻辑器件的开发软件,可分为两类:一类是由芯片制造商提供的,如Altera公司开发的MAX+plusⅡ和QuartusⅡ软件包、Xilinx公司开发的Foundation软件包;另一类是由专业EDA软件商提供的,也称为第三方设计软件,较为著名的有Cadence、Mental、Synopsys等。
芯片商提供的软件比较适合自己的产品,第三方软件往往能够开发多家公司的器件,但需要芯片商提供器件库和适配器软件。
由于MAX+plusⅡ和QuartusⅡ软件包在国内十分流行,而且Altera公司非常支持教育,专门为广大学生和科研人员提供用于学习的开发软件和硬件产品,因此本书以讲解Altera公司的软件为主。
MAX+plusⅡ软件包是Altera公司开发较早的一款软件,其界面友好,集成化程度高、易学、易用,深受业界人士好评。
MAX+plusⅡ配备了适用于各种需要的元件库,包括基本逻辑元件库(如逻辑门、D触发器和JK触发器等)和宏功能元件(几乎包含所有74系列的芯片),非常适合初学者学习,直接输入元件符号,连接成电路,就可仿真出结果,而无需精通器件内部的复杂结构,MAX+plusⅡ能将这些设计转换成系统所需要的格式并自动优化。
MAX+plusⅡ所支持的Altera公司器件有:CLASSIC、MAX3000A、MAX6000、MAX 7000、MAX 7000E、MAX 7000S、MAX 7000AE、MAX 7000B、MAX 8000、MAX 9000、FLEX10K、FLEX10KA、FLEX10KE和ACEX1K系列。
4.1.1 安装Altera公司的MAX+plusⅡ10.2 BASELINE(教育版)软件可以在代理商处获得光盘,也可以到Altera公司的网站上下载,网址是。
其安装步骤如下:1)启动安装向导:运行setup.exe,出现图4-1所示界面。
MAXPLUS + PlusII介绍一、软件简介及安装(一)软件简介Max+plus II教学版软件是免费的,你需要到Altera公司的网页去申请一个授权号(软件安装部分有详细说明)。
其正式(商业)版需要到Altera公司的中国代理购买,它带有一个软件狗,需置于计算机并行口上。
开放版支持仿真和时序分析、VHDL语言设计。
(二)软件的安装该软件运行在Windows95/98操作系统下。
软件的安装步骤如下:1.将光盘插入PC机光驱,假定您的光驱号为E:,2. 运行E:\maxplusII10.0\full\setup.exe文件;3. 运行setup.exe文件后如图1所示;图1 安装启动界面4. 按Next,并选择Yes接受协议,出现图2;图2 安装设计界面图3 安装路径选择界面5. 单击Browse按钮,选择安装路径(假设为d:\),按下Next,直到安装完成。
这时该软件自动在d:\生成maxplus2等文件夹。
6. 将光盘里随机附送的LICENSE.DAT 文件拷贝至安装后的D:\maxplus2软件包根目录下即可。
注意:license.dat文件来自于Altera网站授权或代理商授权。
7. 点击windows程序组下的altera\maxplusII 10.0 图标,启动本软件,如下图4所示。
注意:第一次启动软件会有几个对话窗口,提示没有安装License文件或软件狗,并附有其公司网址及如何申请license授权文件等详细说明。
图4 软件启动界面8. 选择并点击Options\license setup菜单,如下图5所示:图5 第一次进入软件界面单击license setup,使用Browse浏览指出license.dat文件所在路径。
即:当初拷贝license.dat文件后的路径d:\maxplus2\license.dat,如下图6所示。
图6 指定授权文件界面9. 点击ok按钮确认即可,至此你已经成功地完成了整个软件的安装。
注意:本安装过程以其10.0版本为例介绍的,其它版本安装过程类似。
二、软件使用举例:(一)软件设计流程如下图7(二)件使用的以组合逻辑3-8译码器的设计为例做说明。
具体内容参见范例实验一。
图7 CPLD/FPGA设计流程实验一组合逻辑3-8译码器的设计在此以实验一为例详细介绍altera公司max+plusII 10.0版本软件的基本应用,其它实验将不再赘述。
读者在通过本实验后将对max+plusII软件及CPLD/FPGA的设计与应用有一个比较完整的概念和思路。
此书因篇幅有限,仅仅介绍了max+plusII软件的最基本、最常用的一些基本功能,相信读者在熟练使用本软件以后,你定会发现该软件还有好多非常方便、快捷、灵活的设计技巧与开发功能。
由于编者能力有限,不详之处再所难免,我们希望得到你的指正与包含。
一、实验目的:1、通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、初步了解可编程器件设计的全过程。
二、实验步骤:MaxplusII软件的基本操作与应用(一)设计输入:1.软件的启动:进入Altera软件包,打开MAX+plus II 10.0软件,如图1-1所示。
图1-1 进入MAX+plus II 10. 0界面2.启动File \ New菜单,弹出设计输入选择窗口,如下图1-2所示。
或点击下图1-3主菜单中的空白图标,进入新建文件状态。
图1-2 新建文件对话框图1-3 工具栏3、选择Graphic Editor File,单击ok按钮,打开原理图编辑器,进入原理图设计输入电路编辑状态,如下图1-4所示:图1-4 新建图形文件4、设计的输入1)放置一个器件在原理图上a.在原理图的空白处双击鼠标左键,出现窗口,如图1-6,也可单击鼠标右键,出现窗口如图1-5,选择“Enter symbol..”,出现窗口,如图1-6,进入器件选择输入窗口。
图1-5 放置元件图1-6 选择器件窗口b.在“symbol name”提示处(光标处)输入元件名称或用鼠标双击库文件(在提示窗”Symbol Libraries”里的各个文件),在提示窗“Symbol Files”中双击元件或选中元件按下OK即可将该器件放置到原理图中。
c.如果安放相同元件,只要按住Ctrl键,同时用鼠标拖动该元件复制即可。
d.一个完整的电路包括:输入端口INPUT、电路元器件集合、输出端口OUTPUT。
e.下图1-7为3-8译码器元件安放结果。
图1-7 3-8译码器的元件布局2)添加连线到器件的管脚上:把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字,按住鼠标右键拖动,即可画出连线。
3-8译码器原理图如图1-8所示。
图1-8 3-8译码器原理图3)标记输入/输出端口属性分别双击输入端口的“PIN-NAME”,当变成黑色时,即可输入标记符并回车确认;输出端口标记方法类似。
本译码器的三输入断分别标记为:A、B、C;其八输出端分别为:D0、D1、D2、D3、D4、D5、D6、d7。
如下图1-9所示。
图1-9 管教命名4)保存原理图单击保存按钮图标,对于新建文件,出现类似文件管理器的图框,请选择保存路径、文件名称保存原理图,原理图的扩展名为.gdf,本实验中取名为test1.gdf。
5)点击File\Project\set project to current file设置此项目为当前文件,如下图1-10所示。
注意,此操作在你打开几个原有项目文件时尤为重要,否则容易出错。
图1-10 设计当前工程图此时在软件窗口的顶层有路径指示,见下图1-11图1-11 当前路径指示至此,你已完成了一个电路的原理图设计输入的整个过程。
(二)电路的编译与适配1、选择芯片型号选择当前项目文件欲设计实现的实际芯片进行编译适配,点击Assign\Device菜单选择芯片,如下图1-12对话窗所示。
如果此时不选择适配芯片的话,该软件将自动把所有适合本电路的芯片一一进行编译适配,这将耗费你许多时间。
该例程中我们选用CPLD 芯片来实现,如用7000S系列的EPM7128SLC84-6芯片;同样也可以用FPGA芯片来实现,你只需在下面的对话窗口中指出具体的芯片型号即可。
图1-12 CPLD器件选择窗口注意:EPM7128SLC84-15和EPF10K1084-4不是快速芯片,要将提示窗“Show Only Faster Speed Grades”前面的“√”去掉。
2、编译适配启动MAX+plus II \ Compiler菜单,或点击主菜单下的快捷键,打开编译窗口。
按Start开始编译,并显示编译结果,生成下载文件。
如果编译时选择的芯片是CPLD,则生成* ・pof文件;如果是FPGA芯片的话,则生成* ・sof文件,以备硬件下载编程时调用。
同时生成* ・rpt报告文件,可详细查看编译结果。
如有错误待修改后再进行编译适配,如下图1-13所示。
注意,此时在主菜单栏里的 Processing菜单下有许多编译时的选项,视实际情况选择设置。
图1-13 编译窗口如果说你设计的电路顺利地通过了编译,在电路不复杂的情况下,就可以对芯片进行编程下载,直到设计的硬件实现,至此你已经完成了一个EDA的设计与实现的整个过程。
如果你的电路有足够的复杂,那么其仿真就显得非常必要。
(三)电路仿真与时序分析MaxplusII教学版软件支持电路的功能仿真(或称前仿真)和时序分析(或称后仿真)。
众所周知,开发人员在进行电路设计时,非常希望有比较先进的高效的仿真工具出现,这将为你的设计过程节约很多时间和成本。
由于EDA工具的出现,和它所提供的强大的(在线)仿真功能迅速地得到了电子工程设计人员的青睐,这也是当今EDA (CPLD/FPGA)技术非常火暴的原因之一。
下面就MaxplusII软件的仿真功能的基本应用在本实验中作一初步介绍,在以后的实验例程中将不在一一介绍。
首先我们介绍功能仿真,即前仿真。
1、编译选择a.选择MAX+plus II \ Compiler菜单,进入编译功能。
b. 此时主菜单已改变如下图1-14。
点击主菜单“Processing”,“Functional SNFExtractor”,如下图1-14。
图1-14 选择仿真类型菜单c. 此时编译窗口改变如下图1-15。
这时下一步做的仿真是功能仿真。
图1-15 功能仿真2、添加仿真激励信号波形a.启动MaxplusII\Wavefrom editor菜单,进入波形编辑窗口,如下图1-16。
图1-16 波形编辑窗口b.将鼠标移至空白处并单击右键,出现如下图1-17所示对话窗口。
图1-17 调入设计管脚c.选择Enter nodes from snf选项并按左键确认,出现下图1-18所示对话筐,单击和按钮,选择欲仿真的I/O管脚。
图1-18 加入要仿真的管脚d.单击OK按钮,列出仿真电路的输入、输出管脚图,如下图1-19所示。
在本电路中,3-8译码器的输出为灰色,表示未仿真前其输出是未知的。
图1-19 仿真前波形e.调整管脚顺序,符合常规习惯,调整时只需选中某一管脚(如)并按住鼠标左键拖止相应位置即可完成。
如图1-20所示。
图1-20 调整管脚顺序f.准备为电路输入端口添加激励波形,如下图1-21所示。
选中欲添加信号的管脚,窗口左边的信号源即刻变成可操作状态,如箭头和圆括弧所示。
根据实际电路要求选择信号源种类,在本电路中我们选择时钟信号就可以满足仿真要求。
图1-21 编辑输入管脚波形g.选择仿真时间:视电路实际要求确定仿真时间长短,如下图1-22所示。
在当前主菜单“File”的下拉菜单中选中“End Time”,出现如图1-22中箭头所指的窗口,在提示窗“Time”中输入仿真结束时间,即可修改仿真时间。
在本实验中,我们选择软件的默认时间1us就能观察到3-8译码器的8个输出状态。
图1-22h.为A、B、C三输入端口添加信号:先选中A输入端“”,然后再点击窗口左侧的时钟信号源图标“”添加激励波形,出现下图1-23对话窗口。
图1-23 设计输入波形i.在本例程中,我们选择初始电平为“0”,时钟周期倍数为“1”,(时钟周期倍数只能为1的整数倍)并按OK确认。
经上述操作我们已为A输入端添加完激励信号,点击全屏显示如下图1-24所示。
图1-24 设计引脚A为时钟j.根据电路要求编辑另外两路输入端口的激励信号波形,在本实验中,3-8译码器的A、B、C三路信号的频率分别为1、2、4倍关系,其译码输出顺序就符合我们的观察习惯。
按上述方法为B、C两路端口添加波形后单击左边全屏显示图标“”,三路激励信号的编辑结果为下图1-25所示。