版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章Altera可编程逻辑器件开发软件3.1概述3.2MAX+PLUSⅡ开发软件3.3QuartusⅡ开发软件3.1概述
Altera公司在推出各种可编程逻辑器件的同时也在不断升级其相应的开发工具软件。其开发工具软件已从早期的A+PLUS、MAX+PLUS发展到目前的MAX+PLUSⅡ、Quartus、QuartusⅡ。MAX+PLUSⅡ和QuartusⅡ具有完全集成化易学易用的可视化设计环境,还具有工业标准EDA工具接口,并可运行在多种操作平台上。
MAX+PLUSⅡ和QuartusⅡ提供了一种与结构无关的设计环境,设计人员无须精通器件的内部结构,只需运用自己熟悉的输入工具(如原理图输入或高级行为描述语言)进行设计,就可通过MAX+PLUSⅡ和QuartusⅡ把这些设计转换为最终结构所需要的格式。有关结构的详细知识已装入开发工具软件,设计人员无须手工优化自己的设计,因此设计速度非常快。图3.1MAX+PLUSⅡ和QuartusⅡ的设计流程图3.1.1设计软件流程图使用MAX+PLUSⅡ和QuartusⅡ软件开发可编程逻辑器件,包括设计输入、项目编译、设计校验及器件编程等过程,如图3.1所示。MAX+PLUSⅡ和QuartusⅡ提供了全面的逻辑设计能力,设计人员可将文本、图形和波形等设计方法自由组合,建立起层次化的单器件或多器件设计。编译过程完成最小化逻辑综合、适配设计项目于单个器件或多个器件以及形成编程和配置数据等工作。设计校验包括功能仿真、时序仿真、影响速度的关键路径的延时预测以及多种系列器件混合使用的多器件仿真。3.1.2MAX+PLUSⅡ开发软件简介1.特点
MAX+PLUSⅡ是MultipleArrayMatrixandProgrammableLogicUserSystem的缩写,它提供了与结构无关的设计环境,支持FLEX、MAX及Classic系列器件,目前已升级至10.1版本。
MAX+PLUSⅡ具有开放的界面,可与其它工业标准的EDA设计输入、综合及校验工具相连接。提供与结构无关的设计环境,支持多平台工作,既可以在Windows下运行,也可在SunSPACStations、HP9000Series700/800和IBMRISCSystem/6000工作站上运行。
MAX+PLUSⅡ提供丰富的逻辑功能库供设计人员调用,其中包括74系列全部器件的等效宏功能库和多种特殊的宏功能(MacroFunction)模块以及参数化的宏功能(Magefunction)模块。MAX+PLUSⅡ还具有开放核的特点,允许设计人员添加自己的宏功能模块。充分利用这些逻辑功能模块,可以大大减轻设计的工作量,成倍缩短开发周期。MAX+PLUSⅡ软件支持各种HDL语言设计输入,包括VHDL、VerilogHDL和Altera自己的硬件描述语言AHDL。2.设计流程使用MAX+PLUSⅡ的设计过程包括以下几步,若任一步出错或未达到设计要求则应修改设计,然后重复以后各步,如图3.2所示。图3.2MAX+PLUSⅡ的设计流程1)输入设计项目逻辑设计的输入方法有原理图形输入(.gdf)、文本输入(.vhd)、波形输入(.wdf)及第三方EDA工具生成的设计网表文件输入(.sch、.edf、.xnf)等。输入方法不同,生成设计文件的名称后缀就不同。2)编译设计项目首先,根据设计项目要求设定编译参数和编译策略,如选定器件、锁定引脚、设置逻辑综合方式等。然后对设计项目进行网表提取、逻辑综合、器件适配,并产生报告文件(.rpt),延时信息文件(.snf)和器件编程文件(.pof,.sof,.jed),供分析、仿真和编程使用。3)校验设计项目设计项目校验方法包括功能仿真、模拟仿真和定时分析。功能仿真是在不考虑器件延时的理想情况下仿真设计项目的一种项目验证方法,称为前仿真。通过功能仿真可以验证一个项目的逻辑功能是否正确。模拟仿真(时序仿真)是在考虑设计项目具体适配器件的各种延时的情况下仿真设计项目的一种项目验证方法,称为后仿真。时序仿真不仅测试逻辑功能,还测试目标器件最差情况下的时间关系。通过时序仿真,在设计项目编程到器件之前进行全面检测,以确保在各种可能的条件下都有正确的响应。定时分析用来分析器件引脚及内部节点之间的传输路径延时、时序逻辑的性能(如最高工作频率、最小时钟周期等)以及器件内部各种寄存器的建立保持时间。4)编程验证设计项目用MAX+PLUSⅡ编程器通过Altera编程硬件或其它工业标准编程器,将经过仿真确认后的编程目标文件编入所选定的Altera可编程逻辑器件中,然后加入实际激励信号,测试是否达到设计要求。3.1.3QuartusⅡ开发软件简介
Altera的新一代开发软件QuartusⅡ支持APEX20K、APEXⅡ、Excalibur、Mercury以及Stratix等新器件系列。为了缩短设计周期和降低设计复杂度,QuartusⅡ含有工作组计算、集成逻辑分析功能、EDA工具集成、多过程支持、增强重编译和IP集成等特性。
QuartusⅡ软件加强了网络功能,它具有最新的Internet技术,设计人员可以直接通过Internet获得Altera的技术支持。3.1.4多平台及其它EDA工具
Altera致力于提供电路设计人员都非常熟悉的逻辑开发环境。通过EDIF网表文件、SRAM目标文件(.sof)、参数化的模块库(LPM)、VerilogHDL、VHDL及DesignWare组件来共享信息,MAX+PLUSⅡ和QuartusⅡ软件可与Cadence、MentorGraphics、OrCAD、Synopsys、Synplicity、ExemplarLogic及Viewlogic等许多公司提供的多种EDA工具接口。
MAX+PLUSⅡ编译器可以工作于PC机及在各种工作站平台上运行,使其成为业界唯一具有与平台和结构无关的可编程逻辑设计环境。Altera与业界处于领先地位的EDA工具厂商组成ACCESS联盟,确保了AlteraEDA工具与这些支持Altera器件的EDA工具之间顺畅接口。
QuartusⅡ软件与其它设计工具之间的联系更加紧密,其它工具能够直接调用QuartusⅡ工具进行设计编辑,QuartusⅡ也能调用其它工具进行综合仿真。3.2MAX+PLUSⅡ开发软件3.2.1MAX+PLUSⅡ的安装1.推荐的PC系统配置(1)奔腾Ⅱ或更好的PC机。(2)256MB以上的有效内存,不低于128MB的物理内存。(3)500MB以上的硬盘空间。(4)Windows95、Windows98、Windows2000或WindowsNT3.51、WindowsNT4.0操作系统。(5)17英寸显示器。2.版本
MAX+PLUSⅡ软件按使用平台可分为PC机版和工作站版,按使用对象可分为商业版、基本版和学生版。商业版:支持全部的输入方式,可以对设计电路进行功能分析、时序分析,并能将设计结果装载到Altera公司的各种芯片中。商业版软件运行时需要一个授权码和一个并口硬件狗。
基本版(BASELINE):免费软件,在商业版上作了一些限制,支持30000门以下所有设计,支持原理图、AHDL语言,支持波形仿真、时间分析、编程下载,不支持VHDL语言,不支持某些器件等,约40MB。基本版不需要并口硬件狗,只需要向Altera公司申请一个基本版授权码即可。学生版(E+MAX):免费软件,功能与BASELINE版相同,但只支持MAX系列,约20MB。若要安装学生版,可以向Altera公司大学项目部申请一个学生版授权码。3.安装
MAX+PLUSⅡ几种版本的安装方法基本相同,这里仅介绍基于PC机在Windows98平台上MAX+PLUSⅡ10.0版本的安装过程。(1)插入MAX+PLUSⅡ安装光盘并自动运行后,出现如图3.3所示界面,或在资源管理器中双击Setup.exe。图3.3MAX+PLUSⅡ安装界面(2)选择Full/Custom/FLEXlm项,即开始安装商业版;选择BASELINE/E+MAX项,则安装基本版或学生版。(3)安装向导完成后选择Next,然后按屏幕提示进行操作,如果在任一步选择Cancel将退出安装。安装过程中有进度显示,并对Altera公司的一些器件进行简要介绍。安装完毕后,提示是否打开Read.me文件,选择“是”可仔细阅读其中包含的一些重要信息。阅读完后关闭Read.me文件,出现开始菜单中的Altera文件夹,如图3.4所示。图3.4开始菜单的MAX+PLUSⅡ图3.5授权协议框文件夹4.第一次运行MAX+PLUSⅡ
安装好后,第一次运行MAX+PLUSⅡ时还需做许多工作,才能保证该软件的正常运行。(1)在MAX+PLUSⅡ软件目录中,双击MAX+PLUSⅡ10.0图标,或者在Windows98的开始菜单内选择程序项中的Altera组内的MAX+PLUSⅡ10.0项,开始运行MAX+PLUSⅡ。第一次运行时,屏幕上会出现关于授权协议的提示窗口,如图3.5所示。(2)阅读完授权协议信息后,选择Yes,出现防止复制警告信息。若选择No,则退出MAX+PLUSⅡ。
(3)在复制警告信息框中选择Yes按钮,则显示任何获得基本版授权码的帮助信息。若有硬件狗,则选择“否”,并将硬件狗插在并口(打印机口)上。(4)在http://www.altera.com上申请授权码,将获得的授权码文件License.dat拷贝到\maxplus2文件夹里(也可拷贝到别的路径下)。(5)设置授权码的过程是:在MAX+PLUSⅡ界面中,选择菜单命令Options/LicenseSetup,出现如图3.6所示对话框。通过Browse按钮选择License.dat文件,或直接在LicenseFileorServerName对话框中输入带全路径名的License.dat文件名。(6)设置好授权码文件后,选择OK按钮,就会回到MAX+PLUSⅡ管理器界面中进行设计了。如果不设置授权码,则图3.6所示LicenseSetup对话框中的右边框中的功能就不能使用。图3.6设置授权码文件图3.7MAX+PLUSⅡ的组成3.2.2操作环境1.MAX+PLUSⅡ的组成
MAX+PLUSⅡ由设计输入、项目处理、项目校验和器件编程等四部分组成,如图3.7所示,所有这些部分都集成在一个可视化的操作环境下。
2.MAX+PLUSⅡ管理器窗口
MAX+PLUSⅡ管理器窗口包括项目路径、工作文件标题条、MAX+PLUSⅡ菜单条、快捷工具条和工作区等几部分。设置好授权码后,运行MAX+PLUSⅡ即进入MAX+PLUSⅡ管理器窗口,如图3.8所示。图3.8MAX+PLUSⅡ管理器3.MAX+PLUSⅡ在线帮助
MAX+PLUSⅡ提供了强大的在线帮助功能。通过使用在线帮助,用户可以获得设计中所需要的最新的全部信息。在线帮助可以通过使用功能键或鼠标进行。按F1键可以获得对话框内容、高亮度菜单命令或弹出式内容的帮助信息;按Shift+F1键或点击快捷工具按钮即进入在线帮助状态,此时点击屏幕上任何部件或条目,都可获得有关该项的帮助信息。3.2.3设计输入在Windows的程序管理器窗口中用鼠标左键双击MAX+PLUSⅡ图标,或在“开始”菜单内选择MAX+PLUSⅡ项,开始运行MAX+PLUSⅡ,管理器窗口被打开。图形设计输入方法1.指定设计项目名称
MAX+PLUSⅡ编译器的工作对象是项目,所以在进行一个逻辑设计时,首先要指定该设计的项目名称,对于每个新的项目应该建立一个单独的子目录,如果该子目录不存在,MAX+PLUSⅡ将自动创建,以后所有与该项目有关的文件都将存在这个子目录下。初学者切记,每个设计必须有一个项目名,并且要保证项目名与设计文件名一致。指定项目名称的步骤如下:(1)在File菜单中选择ProjectName项,将出现如图3.9所示ProjectName对话框。(2)在ProjectName框内键入你的设计项目名,如test或带目录的文件名pld\test。(3)在Directories栏中选中\max2work或其它目录作为当前目录。(4)选择OK按钮,则MAX+PLUSⅡ标题条会变成新项目的路径及名称。图3.9指定项目名对话框2.建立新文件(1)在File菜单中选择New,如图3.10所示,将出现New对话框,如图3.11所示。(2)在New对话框中选择GraphicEditorFile项,然后按下OK按钮,将会出现一个无标题的图形编辑器窗口,如图3.12所示,图中标明了每个按钮的功能。通过点击图形编辑器标题条中的放大按钮,可使图形编辑器窗口放至最大。图3.10在File菜单中选择New图3.11New对话框图3.12MAX+PLUSⅡ图形编辑器窗口3.输入图元和宏功能符号
MAX+PLUSⅡ为实现不同的逻辑功能提供了大量的图元和宏功能符号(Primitive&Macrofunction)库,供设计人员在图形编辑器文件中直接使用。它们的分类信息放在Max2work\maxlib\子目录下。各个子目录存放的符号说明如下:·Prim:Altera的图元(基本逻辑块)。·Mf:74系列逻辑等效宏库。·Mega-lpm:参数化模块库、宏功能高级模块(如busmux、csfifo、cadram、parallel-add等)和IP功能模块(如UARTs、FFT、FIR、PCI等)。·edif:edif接口库。图3.13输入Altera图元在图形设计文件中输入图元和宏功能符号的步骤如下:1)输入Altera图元(1)选择工具按钮有效时,在图形编辑器窗口的空白处单击鼠标左键以确定输入位置。(2)在Symbol菜单中选择EnterSymbol或单击鼠标右键并选择EnterSymbol,或双击鼠标左键,将出现一个EnterSymbol对话框,在SymbolLibraries框中双击选择“..\maxplus2\max2lib\prim”。(3)所有的Altera图元以列表方式显示出来,选择你想输入的图元,然后双击或选择OK按钮。此时所选中的图元就出现在图形编辑器窗口中,如图3.13所示。只要重复上述三步,就可连续选取图元。2)输入74系列的符号74系列的符号的输入方法与图元的输入方法相似。(1)当EnterSymbol对话框出现后,在SymbolLibraries对话框中双击选择“.\maxplus2\max2lib\mf”路径。(2)在SymbolFiles对话框中选择需要的74系列符号,然后双击或选择OK按钮,所选中的74系列符号就出现在图形编辑器窗口中,如图3.14所示。图中的74138就是所选中的74系列符号。如要连续选取74系列器件,则只要重复上述几步就可以了。图3.14输入74系列符号3)输入LPM符号
LPM(LibraryParameterizedMegafunction)符号的输入方法与前两种符号的输入方法相似。(1)在EnterSymbol对话框出现后,在SymbolLibraries框中双击选择“.\maxplus2\max2lib\mega-lpm”路径。(2)在SymbolFiles框中选择需要的lpm符号,然后点击OK按钮,或双击选择需要的lpm符号。此时lpm符号就出现在图形编辑器窗口中,并出现输入参数对话框,如图3.15所示。输入需要的参数后点击OK按钮。图3.15lpm符号输入参数对话框(3)在图形编辑器窗中双击lpm符号的参数框(位于符号的右上角),也出现lpm符号参数对话框,可输入或改变参数。在PortStatus框中选择Unused,可将不需要的信号去掉。(4)也可利用MegaWizardPlugInManager输入宏功能符号和LPM库函数。如输入一个存储器的步骤如下:在图形编辑器窗口空白处双击鼠标左键,出现EnterSymbol对话框后点击MegaWizard
PlugInManager按钮,或在File菜单中选择MegaWizardPlugInManager项,然后选中Createanewcustommegafunctionvariation,再点击Next按钮。在AvailableMegafunctions
列举中点击“+”按钮,扩展storage文件夹,然后选择LPM-ROM,在右边的对话框中输入你所希望的输出文件名和类型,如rom和AHDL,如图3.16所示。在其后的addressinputbus宽度输入8,qoutputbus宽度输入4,输出符号名为rom,其它为缺省值,然后点击OK按钮。在所希望的地方点击左键插入rom符号。一个新名为rom的符号出现在图形编辑器窗中,双击rom符号,还可对具体参数进行编辑。用户以后就可以直接调用该符号了。图3.16MegaWizardPlugInManager窗口4.连线如果需要连接两个端口,可将鼠标移到其中一个端口,这时鼠标自动变为“+”形状,然后可按以下步骤操作:(1)一直按住鼠标的左键并将鼠标拖到第二个端口。(2)放开左键,则一条连接线被画好了。(3)如果需要删除一根连接线,单击这根连接线并按Del键即可,如图3.17所示。图3.17连线图5.为引脚和节点命名1)放置输入引脚和输出引脚放置输入引脚和输出引脚的方法与图元的输入方法相似,即在图形编辑器窗口的空白处单击鼠标左键以确定输入位置,然后在Symbol菜单中选择EnterSymbol或双击鼠标左键,将出现一个EnterSymbol对话框。只要在EnterSymbol对话框中键入Input(Output),然后选择OK按钮,符号INPUT(OUTPUT)就出现在图形编辑器窗口中。如果要重复放置同一符号或器件,用复制的方法,可提高图形输入的效率。一种是利用edit中的copy命令进行复制,另外一种方法是将鼠标放在所要复制的符号或器件上,按下Ctrl键和鼠标左键不放,拖曳鼠标至所需要的位置,这样就完成了符号或器件的复制。2)为引脚命名在引脚上的PIN-NAME处双击鼠标左键,然后输入指定的名字。3)为连线命名点击鼠标左键选中需命名的线,然后输入名字。对n位宽的总线A命名时,可以采用A[n1..0]形式,其中单个信号用A0,A1,A2,…,An形式。练习3.1输入3线-8线译码器3线—8线译码器如图3.18所示,其中A、B、C、G1表示输入引脚,Y0N、Y1N、…、Y7N表示输出引脚。练习3.2输入4位计数器4位计数器的设计图形如图3.19所示,在图中对每个符号的意义都进行了说明。图3.183线—8线译码器图3.194位计数器6.图形编辑选项在图形编辑窗口中的Options菜单中列出了一些图形编辑时的选项,如图3.20所示,包括文本的字型(Font)、大小控制(TextSize)、线形(LineStyle)、显示任务、网络控制等,设计时用户可根据需要进行选择。图3.20图形编辑选项7.保存文件并检查错误在设计过程中,如需要保存新文件或将文件重新命名,选择File菜单中的SaveAs项,将出现SaveAs对话框,如图3.21所示。在FileName对话框内输入设计文件名,然后点击OK按钮即可保存文件。图3.21SaveAs对话框若是为了保证输入逻辑的正确性,可将此逻辑文件保存起来并进行错误检查。其具体操作步骤如下:(1)在File菜单中选择Save&Check命令项,该文件就被保存起来,同时MAX+PLUSⅡ编译器窗口打开。编译器网表提取器模块检查该文件的错误,更新层次结构的显示,同时给出错误和警告数目的信息等,如图3.22所示。图3.22MAX+PLUSⅡ编译器窗口及消息处理器窗口(2)选择“确定”按钮。如果Save&Check命令执行成功,无错误和警告信息,就选择编译器标题条右侧的关闭按钮或双击编译器标题条左侧的编译器图标,关闭编译器窗口,返回到图形编辑器窗口。(3)如果编译器发出了错误和警告信息,可在消息处理器窗口中点击Message按钮选择一条消息,通过选择定位(Locate)或双击该条消息来找到消息的产生地方。用户还可选择HelponMessage功能得到有关的解释,这样就可以定位设计文件中的错误并加以改正。接下来再次执行Save&Check命令,直到无错误和警告信息。如果消息处理器窗口没有自动显示出来,可选择菜单命令MessageProcessor来打开消息处理器窗口。8.创建一个默认的逻辑符号对于一个经过保存且检查没有错误的设计文件,可以创建一个代表该文件的符号文件(.sym)。该符号就像其它符号(如74138)一样,可被其它图形设计文件(.gdf)调用。(1)在File菜单中选择CreateDefaultSymbol项,即可创建一个默认的逻辑符号。该符号可被高层设计调用。(2)若选择File菜单中的CreateDefaultIncludeFile项,则可创建一个默认的逻辑文件(.inc)供其它AHDL文本设计文件调用。(3)可以通过选择File菜单中的Symbol命令编辑所选符号。图3.23模12同步计数器m12.gdf9.关闭文件如果要关闭文件,选择File菜单中的Close命令,或用鼠标左键单击图形编辑器右上角的关闭按钮来关闭图形编辑器窗口。练习3.3建立、输入图3.23所示的模12同步计数器文件m12.gdf。要求通过Save&Check命令的执行,并形成默认符号m12.sym。
练习3.4修改并完善如图3.24所示的电路,并形成默认符号m60.sym。图3.24同步脉冲分配器PD.gdf文本设计输入方法
MAX+PLUSⅡ支持AHDL、VHDL和VerilogHDL等硬件描述语言。AHDL是AlteraHardwareDescriptionLanguage的缩写,它是一种高级硬件行为描述语言,该语言可以使用布尔方程、算术关系运算表达式、真值表、条件语句等方式进行描述,适合于大型的、复杂的状态机设计。
VHDL和VerilogHDL是符合IEEE标准的高级硬件行为描述语言,也都适合于大型的、复杂的设计。这些语言都是用文本来进行设计,它们的输入方式既有共同之处,又各有特点,设计人员可根据实际情况选择使用。例如,利用AHDL语言进行文本设计7段数码管的方法如下:(1)在File菜单中选择ProjectName项,键入设计项目名称,如led\7segm,然后点击OK按钮。(2)在File菜单中选择New,然后选择TextEditorFile,点击OK按钮后打开一个无标题的TextEditor窗口。若有必要,可点击Maximize按钮,使文本编辑器窗口变为最大。(3)在File菜单中选择SaveAs,然后在FileName框内键入7segm.tdf,点击OK按钮,这时文本编辑就变成了以7segm.tdf为文件名的编辑窗,在该窗口中就可以输入AHDL语言程序了。(4)AHDL语言的输入格式如图3.25所示。在AHDL文件的开头是一个以Subdesign开头的说明输入和输出的说明区,紧接着是文件名7segm,特别要注意的是必须保证这里的文件名与(3)中的文件名一致,接下来的括号中是输入或输出引脚说明。四个二进制输入是i0,i1,i2,i3;7段码的输出是a,b,c,d,e,f,g,这两行后面的INPUT、OUTPUT表示数据流向,信号和数据流向用冒号隔开,信号间用逗号分开,每行用分号结束。接下来的是以Begin开头的功能描述,内容可以是布尔代数、条件语句或真值表等,此例选择真值表输入。用字符串Table为先导,第一行为输入信号对应的七段码的真值表说明,从第二行开始是真值表的值。若7段码为共阳极,则低电平驱动数码管;若为共阴极,则高电平驱动数码管。本例选择共阴极。用“EndTable;”结束真值表输入,最后用“End;”结束AHDL语言程序。图3.257段LED的译码器7segm.tdf(5)保存并检查语法错误,在File菜单中选择Save&Check命令项,直到无错误和警告信息,并切换回文本编辑窗口。(6)创建一个默认的逻辑符号。在File菜单中选择CreateDefaultSymbol项,并点击OK按钮,就产生了7segm.sym符号文件,供将来在顶层图形文件中调用。(7)选择File菜单中的Close命令,关闭7segm.tdf。一个用AHDL语言编写的设计文件就完成输入了。创建顶层设计文件
MAX+PLUSⅡ支持层次化设计输入方法,其主要思想是:(1)当前设计项目文件为顶层设计文件。(2)顶层设计文件中调用的符号所代表的文件为底层设计文件。(3)顶层设计文件可通过打包(即在File菜单中选择CreateDefaultSymbol项)的方法降为底层设计文件,供其它顶层设计文件调用。(4)在同一设计项目中,允许顶层及底层设计单向调用底层设计符号,不允许顶层文件与符号文件之间及符号文件与符号文件之间的直接相互调用或间接相互调用,也不允许顶层文件或任一符号文件自身递归调用。(5)在同一设计项目中,顶层设计文件名及各底层设计符号所对应的设计文件名必须是唯一的。例如,不允许同时存在7segm.gdf和7segm.tdf两个设计文件。(6)在同一设计项目中的各个设计文件都可以重新编辑、修改、保存、打包。在重新打包之后,应在调用该符号文件的上一层设计文件中更新该符号并保存。(7)硬件描述语言设计文件通过调用包含文件的方法实现层次化设计输入,此时应通过建立默认符号的方法形成顶层文件。顶层设计文件就是把一个设计的各个模块放在一起,形成一个便于阅读的图形形式。如图3.26所示,该电路的模块都是采用前面所创造的符号,每个模块都包含着各自的实现电路。双击各个模块就显示各自的实现电路。图3.26顶层设计文件层次显示层次显示方式就是以一个层次树的形式显示整个项目和电路的设计文件。打开层次显示的方法是从MAX+PLUSⅡ菜单中选择HierarchyDisplay项,一个项目的层次就显示出来了,图3.27为图3.26顶层设计文件的层次显示。层次中的每个文件都可以通过双击文件名打开,并带到前台来显示。图3.27层次显示上面介绍的几种设计输入方法各有优缺点,适用于不同的场合,设计人员可根据需要灵活使用,使设计达到最佳效果。另外,有些命令除了菜单项外还有快捷键方式,使用快捷键可提高速度,在实际操作中可慢慢熟练掌握。编辑用户库
MAX+PLUSⅡ允许设计人员对用户库进行编辑。在Options菜单中选择UserLibraries...,这时就会出现用户库编辑框。如果想要加入一个新的用户库,可以在Directoryname输入框中直接键入用户库所在的路径和名称,然后点击Add按钮,或者通过Directories和Drives对话框确定所要加入的用户库。如果想要改变用户库在列表中的先后次序,可以通过点击Up或Down按钮来完成。Delete按钮用于删除已选中的库。点击OK按钮即完成用户库的编辑。3.2.4设计项目的编译使用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)。下面是使用MAX+PLUSⅡ编译器编译的过程。编译前准备1.打开编译器窗口(1)在MAX+PLUSⅡ菜单内选择Compiler项,则出现编译器窗口,如图3.28所示。(2)选择Start按钮即可开始编译,MAX+PLUSⅡ编译器将检查项目是否有错,并对项目进行逻辑综合,然后配置到一个Altera器件中,同时将产生报告文件、编程文件和用于时间仿真用的输出文件。(3)但是在开始编译前,还必须设定一些其它的选项。图3.28编译窗口2.选择一个器件首先,设计人员需要为项目指定一个器件系列,然后设计人员可以自己选择某个具体的器件,也可以让编译器在该器件系列内自动选择最适合设计人员项目的器件。确定器件系列的步骤如下:(1)在Assign菜单内选择Device项,将出现Device对话框,如图3.29所示。(2)在DeviceFamily框中选择一个器件系列。(3)在Devices框中选择某一器件或选择AUTO,让MAX+PLUSⅡ为你选择一个器件。(4)点击OK按钮。图3.29选择器件3.打开设计规则检查工具编译时,可选的设计规则检查(DesignDoctor)工具将检查项目中所有设计文件,以发现在器件编程时可能存在的可靠性不好的逻辑。打开DesignDoctor并为其指定一系列设计规则的步骤如下:(1)从Processing菜单中选择DesignDoctor项,在菜单中该选项的边上就出现一个确认标记,并且DesignDoctor的图标将显示在Complier窗口的LogicSynthesizer模块下方。(2)从Processing菜单中选择DesignDoctorSetting项,如图3.30所示。(3)对于MAX7000系列,选择EPLDRules(EPLD规则),然后点击OK按钮。(4)若不再需要设计规则检查,就再次从Processing菜单中选择DesignDoctor项,即关闭设计规则检查工具。图3.30设计规则检查设置4.打开保密位
MAX+PLUSⅡ允许设计人员为项目中的所有器件指定默认的保密位设置,保密位能防止一个器件被探测(beinginterrogated)或被无意地重新编程。(1)在Assign菜单中选择GlobalProjectDeviceOptions菜单,出现如图3.31所示对话框。(2)如有必要,选中SecurityBit(保密位),然后点击OK按钮。
图3.31保密位设置5.管脚分配
Altera
推荐让编译器自动为设计人员的项目进行管脚分配,但如果设计人员需要自己分配管脚时,请按以下步骤进行:(1)首先确定设计人员已经选择了一种器件。(2)在AssignMenu菜单中选择Pin/Location/Chip项,出现如图3.32所示对话框。图3.32管脚分配(3)在NodeName框内输入管脚的名字。(4)在ChipResource对话框内选择管脚并输入管脚的序列数。(5)点击Add按钮。(6)设计人员分配的管脚将出现在左下方框内。(7)点击OK按钮。6.选择一种全局逻辑综合方式设计人员可以为设计项目选择一种逻辑综合方式,以便在编译过程中指导编译器的逻辑综合模块的工作。默认的逻辑综合方式是常规(NORMAL),该方式的逻辑综合优化目标是让整个设计占用最少的逻辑单元。选择全局逻辑综合方式的步骤如下:(1)在AssignMenu菜单内选择GlobalProjectLogicSynthesis项,将出现如图3.33所示的GlobalProjectLogicSynthesis对话框。图3.33选择全局逻辑综合方式(2)在GlobalProjectSynthesisStyle下拉列表中选择设计人员需要的方式。缺省(Default)的逻辑综合方式是NORMAL。综合方式FAST可以改善项目性能,但通常使设计人员的项目配置变得比较困难。综合方式WYSIWYG(所见即所得)的逻辑综合量最小。(3)可以在0~10之间移动Optimize(优化)栏中的滑块,移到0时,最优先考虑占用器件的面积;移到10时,系统的运行速度得到最优先考虑。(4)对MAX器件进行多级综合。对于MAX(乘积项)器件,设计人员可以选择多级综合,充分利用所有可使用的逻辑选项。这种逻辑综合方式用于处理含有特别复杂的逻辑项目,而且配置时不需要用户干涉。对于FLEX器件,这个选项自动有效,如图3.34所示。图3.34多级综合方式7.FLEX器件的进位/级联链进位链提供逻辑单元之间非常快的向前进位功能。利用级联链可以实现扇入很多的逻辑函数。如选择FAST综合方式,则进位/级联链选项自动有效。按如下步骤可人工选择该选项是否有效:图3.35FLEX器件的进位/级联链(1)在GlobalProjectLogicSynthesis对话框内选择DefineSynthesisStyle项,将出现如图3.35所示DefineSynthesisStyle窗口。(2)如需使用进位链功能,则从CarryChain下拉菜单中选择Auto。
(3)如需使用级联链功能,则从CascadeChain下拉菜单中选择Auto。图3.36设置定时要求8.设置定时要求设计人员可以对整个项目设定全局定时要求,如传播延时、时钟到输出的延时、建立时间和时钟频率。对于FLEX10K、FLEX8000和FLEX6000系列器件,定时要求的设置将会影响项目的编译。用户可以按如下步骤设置定时要求:(1)在AssignMenu菜单内选择GlobalProjectTimingRequirements项,将出现如图3.36所示GlobalProjectTimingRequirements对话框。(2)在相应的对话框内输入设计人员对项目的定时要求,然后点击OK按钮。9.打开功能仿真器与定时模拟器网表文件提取器
MAX+PLUSⅡ支持编译器功能仿真(前仿真)和模拟仿真(后仿真)。若要进行功能仿真,则须选择Processing菜单中的FunctionalSNFExtractor命令,打开功能仿真器网表文件提取器;若要进行定时模拟仿真,则须选中Processing菜单中的TimingSNFExtractor命令,打开定时模拟器网表文件提取器,如图3.37所示。图3.37功能仿真器与定时模拟器网表文件提取器
MAX+PLUSⅡ编译器能创建一个仿真/模拟器网表文件(.snf),该文件包含了许多逻辑信息和时间信息,并被用作MAX+PLUSⅡ的模拟器(Simulator)和定时分析器(TimingAnalyzer)的输入。定时模拟器网表文件是一个二进制文件,它包含了模拟、延时预估和定时分析所需要的逻辑与定时信息。10.指定在报告文件中需要产生的部分
MAX+PLUSⅡ编译器适配(Fitter)模块产生报告文件(.rpt),它显示出所编译的项目使用器件资源情况。用户可以为编译器指定报告文件中应当包含的信息,操作步骤如下:(1)在Processing菜单中选择ReportFileSettings项,将出现ReportFileSettings对话框,如图3.38所示。(2)默认情况下,报告文件中所有部分都被打开。如果某些部分还没有打开,就选中ALL项,然后点击OK按钮。图3.38运行编译器在Processing菜单下,还有一些会对编译产生一定影响的选项,如图3.39所示。运行编译器的过程如下:(1)在编译器(Compiler)窗口中选择Start开始编译。在编译器编译设计项目期间,所有的信息、错误和警告将在自动打开的信息处理窗口中显示出来。如果有错误发生,选中该错误信息,图3.39设置选项对编译的影响然后按下locate按钮,就可找到该错误在设计文件中所处的位置,通过点击信息处理器窗口中的HelponMessage按钮,显示该信息产生的原因和解决该问题应做的工作。当编译器的Partitioner(划分)和Fitter(适配)模块处理项目时,Stop按钮将会变成Stop/ShowStatus按钮。(2)此时,若选择编译器窗口中的Stop/ShowStatus按钮,Partitioner/FitterStatus对话框就会显示出来。该对话框中列出设计项目中的所有芯片以及当前对它们进行适配的状态,如图3.40所示。图3.40划分和适配状态(3)在Partitioner/FitterStatus对话框中选择ContinueCompilation按钮继续进行编译。编译是在后台进行的,对于小项目编译时间很短,但是,如果对一个比较大或者复杂的项目进行编译,所需时间就较长,用户可以在开始编译后转到别的应用程序继续工作。编译结束后,那些由编译器产生的代表输出文件的图标将会出现在各模块框的下面,用户可以通过双击适当的图标来打开这些输出文件。(4)阅读报告文件。报告文件一般包含两种类型的信息:项目信息(如器件列表、项目编译信息、文件层次结构信息)和器件信息(如资源使用、布线资源、逻辑单元互连等)。用户可直接从编译器窗口中打开当前编译所产生的报告文件。打开报告文件的方法是在Compiler窗口中的报告文件图标上双击鼠标左键,报告文件就显示在文本编辑器窗口中。阅读完报告文件后,关闭文本编辑器并回到Compiler窗口中,然后关闭Compiler窗口。在底层平面图编辑器中观察适配结果可以在底层平面图编辑器(FloorplanEditor)中观察编译器的划分和适配结果,并对项目的器件资源进行编辑和修改。1.打开底层平面图编辑器窗口打开底层平面图编辑器窗口的方法是在MAX+PLUSⅡ菜单中选择FloorplanEditor项,底层平面图编辑器被打开并显示出当前设计项目所选定的器件,如图3.41所示。图3.41底层平面图编辑器2.选择视图显示方式底层平面图编辑器提供两种显示方式,即器件视图和逻辑阵列块(LAB)视图。器件视图显示器件封装的所有引脚以及它们的功能。LAB视图显示器件内部所有的逻辑阵列块结构,对于某些器件封装LAB视图还显示出引脚的位置。用户可通过选择菜单命令Layout/ViewDevice来选择器件视图,通过选择菜单命令Layout/ViewLAB来选择逻辑阵列块视图。用户还可以通过双击视图区的方法在器件视图和逻辑阵列块视图之间切换。3.显示最后一次编译所生成的底层平面图在Layout菜单下选择LastCompilationFloorplan项,底层平面图编辑器将显示由最后一次编译所生成的不可编辑(只读)视图,该视图被存储在适配文件中。任何不合法的分配都将被高亮度显示在未分配的节点和引脚列表中。4.编辑适配结果在底层平面图编辑器中编辑适配结果的方法称为后配置。该方法是在底层平面图编辑器中选择菜单Assign中的BackAnnotate(回注编译结果,即将上一次产生的器件及资源情况拷贝到原始的设计中),然后可对回注结果进行编辑、修改;再通过选择Layout菜单中的CurrentAssignmentsFloorplan项,即允许设计人员在底层平面图编辑器中编辑修改当前的分配(存放在分配与配置文件(.acf)中)。底层平面图编辑器提供项目中未被分配的节点和引脚名字列表,每个名字边上都带有一个把柄,将这一把柄用鼠标拖到器件视图或逻辑阵列块视图中的单个引脚、逻辑单元或I/O单元上,也可以将一个已分配的节点或引脚拖回到未分配节点和引脚列表中,或拖到器件的不同位置上。引脚锁定在前面的图形编辑窗口中仅仅对输入/输出引脚作了名称的定义,但没有对输入/输出引脚规定在器件中的具体引脚号码。规定引脚号码称为引脚锁定,其操作方法如下:(1)在底层平面图编辑器中(两种视图的任何一种)用鼠标的左键选中输入或输出引脚符号,在Assign下拉菜单中选择Pin/Location/Chip项,出现Pin/Location/Chip对话框;或者用鼠标的右键选中输入或输出引脚符号,出现下拉菜单,在Assign中选择Pin/Location/Chip项,这样也会出现Pin/Location/Chip对话框,如图3.42所示。图3.42引脚锁定(2)在ChipResource窗口中选中Pin,键入要定位的引脚号码,然后在Pintype中选择输入或输出。如果输入的号码不是I/O引脚,返回将会出现错误信息。(3)如有必要,可选用AssignDevice项重新规定器件,然后再次执行Save&Compile命令,完成配置过程。3.2.5模拟仿真和定时分析设计输入和编译仅仅是整个设计过程的一部分,成功的编译只能保证为项目创建了一个编程文件,并不能保证该项目将完全按照所期望的那样工作。仿真的目的就是为了对所设计项目的正确与否进行验证,在项目编程到器件之前进行全面检测,以确保所设计的功能在各种可能的条件下都是正确的。仿真是整个设计过程中很重要的一环,除非是设计人员特别熟悉的小设计,可以跳过这一过程,对于新的、复杂的大设计都必须进行仿真。仿真为设计人员提供最快最容易的项目验证方法,既省时又省力,否则器件编程完后,在实际电路工作中出现问题,然后再对整个设计进行修改,那就比较麻烦了。许多初学者误以为学习仿真是一个很慢很难的过程而不愿意去学,其实,学习用MAX+PLUSⅡ进行仿真与学习设计输入和编译一样容易。仿真包括功能仿真和模拟仿真。功能仿真又称前仿真,是在不考虑器件延时的理想情况下仿真设计项目的一种验证方法。通过功能仿真可验证一个项目的逻辑功能是否正确。模拟仿真(时序仿真)又称后仿真,是在考虑设计项目的具体适配器件的各种延时情况下仿真设计项目的一种项目验证方法。时序仿真不仅可测试逻辑功能,还可测试目标器件在最差情况下的时间关系。在模拟仿真过程中,需要给MAX+PLUSⅡ仿真器提供输入向量,仿真器将产生与这些输入激励信号相对应的输入信号。仿真结果将与实际的可编程逻辑器件在同一条件下的时序关系完全相同。1.创建一个仿真器通道文件(1)打开波形编辑器窗口,从File菜单中选择New,在对话框中选择WaveformEditorFile,并从下拉列表中选择.scf扩展名,然后点击OK按钮,即可创建一个新的无标题文件,如图3.43所示。(2)从File菜单中选择EndTime,键入仿真的时长值如1μs,然后点击OK按钮,则设置了仿真文件的结束时间,如图3.44所示。图3.43波形编辑器窗口图3.44设置结束时间(3)从Options菜单中选择GridSize,键入时间轴网格大小值如20ns,然后点击OK按钮,则设定了时间轴网格大小,通常用网格大小来表示信号状态的基本维持时间,如图3.45所示。如有必要,从Options菜单中选择ShowGrid,竖直网线就会以20ns的间隔显示在波形编辑器窗口中。图3.45设置时间轴网格(4)从Node菜单中选择EnterNodesfromSNF,或在窗口内的空白区单击鼠标右键,则出现EnterNodesfromSNF对话框,如图3.46所示(前提要求是已对设计项目进行了输入和编译)。图3.46节点输入对话框(5)如仅选择Type中的Inputs和Outputs项,点击List按钮,则在AvailableNodes&Groups栏内列出所有的Inputs和Outputs节点。(6)按住Ctrl键,点击AvailableNodes&Groups栏中所需要观察的节点,或者按住鼠标左键,在节点上拖动可连续选择节点,然后选择右箭头,则将已选中的节点拷贝到SelectedNodes&Groups栏。(7)点击OK按钮,所选的节点刷新波形编辑器。在这里,所有未编辑的输入节点波形都默认为低逻辑电平,而所有输出和隐含节点波形都默认为未定义(X)逻辑电平,如图3.47所示。(8)对波形编辑器中的节点可以进行添加和重新排列顺序,用鼠标点击后,就可拖到不同的位置,也可以按Delete键将节点删除。图3.47编辑仿真器通道文件节点波形(9)编辑输入节点波形。通过编辑输入节点的激励波形为仿真器提供输入向量。在对某一项目进行仿真时,根据项目设计输入的原理,仿真器对输入节点的逻辑电平进行计算,会得出隐含节点和输出节点的逻辑电平。因此,根据项目设计的要求,设计人员可对每一个输入节点的激励波形自己进行编辑。在图3.46中,左边的一些工具按钮就是编辑波形的,首先用鼠标选中要编辑的输入节点名(全选该节点的波形)或节点中的一段波形,然后根据需要点击左边的高、低电平或时钟工具按钮,可得到任意的数字信号,完成激励波形的输入。(10)保存文件。选择File\SaveAs,在FileName框中自动出现默认的当前项目名,扩展名为.scf,然后点击OK按钮来保存文件,如图3.48所示。图3.48仿真通道文件2.运行仿真器1)打开仿真器窗口在MAX+PLUSⅡ菜单中选择Simulator,即打开仿真器,并自动装载当前项目的仿真器网表文件和上面刚创建的与当前项目同名的仿真器通道文件(.scf),如图3.49所示。图3.49仿真器窗口2)设置仿真时间在StartTime对话框中输入仿真器起始时间,在EndTime对话框中输入仿真器终止时间,二者都应处于.scf文件所设置的时间范围内,如按前面的设置应小于等于1μs,并且终止时间应大于起始时间。
3)进行仿真按下Start按钮,即开始仿真当前项目。在仿真过程中进度指示条将朝着100%的方向移动,仿真过程在后台进行,仿真输出逻辑电平将记录在.scf文件中。如果.scf文件所在的波形编辑器窗口是打开的,则可以看到仿真输出波形的更新过程,但这会降低仿真速度。3.分析仿真结果在仿真器窗口中选择OpenSCF,即打开当前项目的.scf文件,使用波形编辑器窗口周围的图形缩、放、前景按钮及滚动条可详细观察波形。如果输出结果不正确,就要对设计进行修改,直到满足设计要求为止。有经验的设计人员都要用多组输入来多次仿真他们的设计,以得到期望的设计结果。这就要求重新编辑修改输入激励信号波形并重复仿真该设计项目。4.定时分析1)启动定时分析工具编译完成后,设计人员可以利用定时分析器来分析设计项目的性能。定时分析器提供了三种分析模式,如表3.1所示。表3.1定时分析器的三种分析模式分析模式说明延迟矩阵分析多个源节点和目标节点之间的传播延迟路径
时序逻辑电路性能
分析时序电路的性能,包括限制性能的延迟,最小的时钟周期和
最高的电路工作频率
建立/保持矩阵
计算从输入引脚到触发器、锁存器和异步RAM的信号输入所需的最少的建立时间和保持时间2)传播延迟分析如果在打开定时分析器窗口时DelayMatrix分析模式没有自动打开的话,则在Analysis菜单中选择DelayMatrix项,然后点击Start按钮,则定时分析器立即开始分析设计人员的当前项目并计算项目中每对连接的源节点(输入引脚)和目标节点(输出引脚)之间的最大和最小传播延迟,如图3.50所示。图3.50传播延迟分析3)时序逻辑电路性能分析在Analysis菜单内选择RegisterPerformance项,然后点击Start按钮,就开始进行时序逻辑电路性能分析,如图3.51所示。4)建立和保持时间分析在Analysis菜单中选择Set/HoldMatrix项,然后点击Start按钮,开始进行建立/保持时间分析,如图3.52所示。图3.51时序逻辑电路性能分析图3.52建立和保持时间分析3.2.6器件编程
Altera可编程逻辑器件的编程可通过编程器、JATG在线编程及Altera在线配置等三种方式进行。1.打开编程器窗口首先确认编程器硬件已安装好,在MAX+PLUSⅡ菜单中选择Programmer项,则打开编程器窗口,如图3.53所示。
图3.53编程器窗口2.利用Altera编程器对MAX和EPROM系列器件进行编程(1)在Options菜单内选择HardwareSetup项,然后在HardwareType对话框内的下拉菜单选项中内选择适当的Altera编程连接硬件,最后点击OK按钮,如图3.54所示。图3.54Altera编程器硬件设置窗口(2)在编程器窗口中检查设计人员选择的编程文件和器件是否正确。在对MAX和EPROM器件进行编程时,要用扩展名为.pof的文件。如果选择的编程文件不正确,可在File菜单中选择SelectProgrammingFile命令来选择你的编程文件。(3)将编程目标器件插到编程插座中。(4)点击Program按钮,编程器将检查器件并将设计项目编程到器件中,而且还将检查器件中的内容是否正确。3.通过JTAG实现单器件在线编程一个编程目标文件(.pof)可以通过ByteBlaster或其它连接电缆直接编程到器件中,其过程如下:(1)编译一个项目,MAX+PLUSⅡ编译器将自动产生用于MAX器件的编程目标文件。(2)将ByteBlaster电缆的一端与微机的并行口相连,另一端10针阴极头与装有可编程逻辑器件的PCB板上的阳极头插座相连。该PCB板还必须为ByteBlaster电缆提供电源。
图3.55通过JTAG实现在线编程(3)打开MAX+PLUSⅡ编程器。(4)在Options菜单中选择HardwareSetup命令,将出现H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《AE抠像技术》课件
- 2024年度矿井废弃物处理与生态恢复合同
- 电气专项:企业用电安全管理
- 2024年国际马拉松赛道草坪种植合同
- 2024年度单位与物业公司安保服务合同:确保单位财产安全的合作协议
- 2024年度苗木运输及保险服务合同
- 《食品添加剂的毒性》课件
- 2024年度园林景观电照施工合同2篇
- 2024年度股权投资合同:企业投资与股权转让协议
- 2024中国移动湖北公司春季校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- 家乡介绍山东日照概述课件
- 基于Android的天气预报系统的设计与实现
- 物理化学基本原理
- (完整)中医症候积分量表
- 小学科学教师基本功大赛试题汇总
- 武汉理工大学土力学与基础工程(新)考试答案
- 二次函数的应用(最值问题)说课稿
- 设计行业设计安全培训
- 《脑血管疾病的护理》课件
- 科技畅想未来主题班会 课件
- 储气罐保养记录表
评论
0/150
提交评论