




已阅读5页,还剩284页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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.1.1设计软件流程图使用MAX+PLUS和Quartus软件开发可编程逻辑器件,包括设计输入、项目编译、设计校验及器件编程等过程。如图3.1所示。,图3.1MAX+PLUS和Quartus的设计流程图,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.2MAX+PLUS开发软件3.2.3.1图形设计输入方法(步骤):1:建立新文件(1)在File菜单中选择New,将出现New对话框。(2)在New对话框中选择GraphicEditorFile项,然后按下OK按钮,将会出现一个无标题的图形编辑器窗口。(3)执行filesaveas或保存工具,设置文件名。,图3.10在File菜单中选择New,图3.11New对话框,2:指定设计项目名称(注意:每个设计必须有一个项目名,并且要保证项目名与设计文件名一致。)(1)在File菜单中选择ProjectName项,将出现如图3.9所示ProjectName对话框。(2)在ProjectName框内键入你的设计项目名,如test或带目录的文件名pldtest。(3)在Directories栏中选中max2workchiptrip或其它目录作为当前目录。(4)选择OK按钮,则MAX+PLUS标题条会变成新项目的路径及名称。,图3.9指定项目名对话框,3.输入图元和宏功能符号(Max2workmaxlib子目录下图元和宏功能符号库:Prim:altera的图元库,包括:逻辑门、缓冲器、触发器、锁存器、输入/输出端口等Mf:宏功能模块库,包括:74系列/总线/体系结构/特殊运用宏功能模块库等Mega_lpm兆功能模块库,包括:参数化模块库Lmp/宏功能高级模块(如busmux、csfifo、cadram、parallel-add等)和IP功能模块(如UARTs、FFT、FIR、PCI等)。Edif:edif接口库附常见图元名称:参见PRIM、MF库附常见图元和宏功能符号名称:,Lpm-参数化门单元模块:And与门or或门xor异或门Bustri三态缓冲器clshift逻辑移位器constant常数产生器decode解码器inv反向器busmux总线选择器mux选择器算术运算模块:abs绝对器运算add_sub加/减法器compare比较器mult乘法器存储器模块:ffD触发器latch锁存器romROMshiftreg移位寄存器Csfifio先进先出队列csdpram双口RAMram_dq输入输出分开的参数化RAMram_io输入输出复用的参数化RAM其它功能模块:pll锁相环电路ntscNTSC图象控制信号产生器,图3.12MAX+PLUS图形编辑器窗口,图3.13输入Altera图元,在图形设计文件中输入图元和宏功能符号的步骤如下:1)输入Altera图元的步骤如下:(1)选择工具按钮有效时,在图形编辑器窗口的空白处单击鼠标左键以确定输入位置。(2)在Symbol菜单中选择EnterSymbol或单击鼠标右键并选择EnterSymbol,或双击鼠标左键,将出现一个EnterSymbol对话框,在SymbolLibraries框中双击选“.maxplus2max2libprim”。,(3)所有的Altera图元以列表方式显示出来,选择你想输入的图元,然后双击或选择OK按钮。此时所选中的图元就出现在图形编辑器窗口中,如图3.13所示。只要重复上述三步,就可连续选取图元。,2)输入74系列的符号步骤如下:74系列的符号的输入方法与图元的输入方法相似。(1)当EnterSymbol对话框出现后,在SymbolLibraries对话框中双击选择“.maxplus2max2libmf”路径。(2)在SymbolFiles对话框中选择需要的74系列符号,然后双击或选择OK按钮,所选中的74系列符号就出现在图形编辑器窗口中,如图3.14所示。图中的74138就是所选中的74系列符号。如要连续选取74系列器件,则只要重复上述几步就可以了。,图3.14输入74系列符号,3)输入LPM符号的步骤如下:LPM(LibraryParameterizedMegafunction)符号的输入方法与前两种符号的输入方法相似。(1)在EnterSymbol对话框出现后,在SymbolLibraries框中双击选择“.maxplus2max2libmega-lpm”路径。(2)在SymbolFiles框中选择需要的lpm符号,然后点击OK按钮,或双击选择需要的lpm符号。此时lpm符号就出现在图形编辑器窗口中,并出现输入参数对话框,如图3.15所示。输入需要的参数后点击OK按钮。,图3.15lpm符号输入参数对话框,(3)在图形编辑器窗中双击lpm符号的参数框(位于符号的右上角),也出现lpm符号参数对话框,可输入或改变参数。在PortStatus框中选择Unused,可将不需要的信号去掉。(4)也可利用MegaWizardPlugInManager输入宏功能符号和LPM库函数。如输入一个存储器的步骤如下:在图形编辑器窗口空白处双击鼠标左键,出现EnterSymbol对话框后点击MegaWizardPlugInManager按钮,或在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命名时,可以采用An1.0形式,其中单个信号用A0,A1,A2,An形式。,图3.194位计数器,约翰逊六进制计数器,图3.183线8线译码器,6.图形编辑选项在图形编辑窗口中的Options菜单中列出了一些图形编辑时的选项,如图3.20所示,包括文本的字型(Font)、大小控制(TextSize)、线形(LineStyle)、显示任务、网络控制等,设计时用户可根据需要进行选择。,图3.20图形编辑选项,7.保存文件并检查错误在设计过程中,如需要保存新文件或将文件重新命名,选择File菜单中的SaveAs项,将出现SaveAs对话框,如图3.21所示。在FileName对话框内输入设计文件名,然后点击OK按钮即可保存文件。,图3.21SaveAs对话框,若是为了保证输入逻辑的正确性,可将此逻辑文件保存起来并进行错误检查。其具体操作步骤如下:(1)在File菜单中选择Save移到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。,8.设置定时要求设计人员可以对整个项目设定全局定时要求,如传播延时、时钟到输出的延时、建立时间和时钟频率。(注意:对于FLEX10K、FLEX8000和FLEX6000系列器件,定时要求的设置将会影响项目的编译。)用户可以按如下步骤设置定时要求:(1)在AssignMenu菜单内选择GlobalProjectTimingRequirements项,将出现如图3.36所示GlobalProjectTimingRequirements对话框。(2)在相应的对话框内输入设计人员对项目的定时要求,然后点击OK按钮。,图3.36设置定时要求,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,3.2.4.2运行编译器在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窗口。,3.2.4.3在底层平面图编辑器中观察适配结果(适用于:设计人员自己选择的芯片,且自己分配管脚)可以在底层平面图编辑器(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单元上,也可以将一个已分配的节点或引脚拖回到未分配节点和引脚列表中,或拖到器件的不同位置上。,3.2.4.4引脚锁定(适用于:设计人员自己选择的芯片,且自己分配管脚,在编辑适配结果以后)在前面的图形编辑窗口中仅仅对输入/输出引脚作了名称的定义,但没有对输入/输出引脚规定在器件中的具体引脚号码。规定引脚号码称为引脚锁定,其操作方法如下:(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仿真器提供输入向量,仿真器将产生与这些输入激励信号相对应的输入信号。仿真结果将与实际的可编程逻辑器件在同一条件下的时序关系完全相同。,3.2.5模拟仿真和定时分析1.创建一个仿真器通道文件(1)打开波形编辑器窗口,从File菜单中选择New,在对话框中选择WaveformEditorFile,并从下拉列表中选择.scf扩展名,然后点击OK按钮,即可创建一个新的无标题文件,如图3.43所示。(2)从File菜单中选择EndTime,键入仿真的时长值如1s,然后点击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)保存文件。选择FileSaveAs,在FileName框中自动出现默认的当前项目名,扩展名为.scf,然后点击OK按钮来保存文件,如图3.48所示。,图3.48仿真通道文件,.运行仿真器1)打开仿真器窗口在MAX+PLUS菜单中选择Simulator,即打开仿真器,并自动装载当前项目的仿真器网表文件和上面刚创建的与当前项目同名的仿真器通道文件(.scf),如图3.49所示。,图3.49仿真器窗口,2)设置仿真时间在StartTime对话框中输入仿真器起始时间,在EndTime对话框中输入仿真器终止时间,二者都应处于.scf文件所设置的时间范围内,如按前面的设置应小于等于1s,并且终止时间应大于起始时间。,3)进行仿真按下Start按钮,即开始仿真当前项目。在仿真过程中进度指示条将朝着100%的方向移动,仿真过程在后台进行,仿真输出逻辑电平将记录在.scf文件中。如果.scf文件所在的波形编辑器窗口是打开的,则可以看到仿真输出波形的更新过程,但这会降低仿真速度。,3.分析仿真结果在仿真器窗口中选择OpenSCF,即打开当前项目的.scf文件,使用波形编辑器窗口周围的图形缩、放、前景按钮及滚动条可详细观察波形。如果输出结果不正确,就要对设计进行修改,直到满足设计要求为止。有经验的设计人员都要用多组输入来多次仿真他们的设计,以得到期望的设计结果。这就要求重新编辑修改输入激励信号波形并重复仿真该设计项目。,4.定时分析1)启动定时分析工具编译完成后,设计人员可以利用定时分析器来分析设计项目的性能。定时分析器提供了三种分析模式,如表3.1所示。,表3.1定时分析器的三种分析模式,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命令,将出现HardwareSetup窗口,如图3.55所示。(5)在HardwareType下拉条中选择ByteBlaster。(6)指定配置时使用的并行口,如LPT1。(7)点击Program按钮,开始对JTAG器件进行编程。若器件、电缆或电源有问题,则产生错误警告信息;若编程成功,则点击OK按钮。,4.设置在线编程链(1)在JTAG菜单中打开MultiDeviceJTAGChain并选择MultiDeviceJTAGChainSetup项,进行多个器件的JTAG链的设置。该对话框如图3.56所示。(2)选择SelectProgrammingFile,选出所需要的编程文件。在ProgrammingFileName框内显示出你选择的编程文件。,图3.56设置在线编程链,(3)点击Add按钮。(4)如果使用多个器件,重复(2)、(3)步,并要确保与电路板上的顺序相同。(5)完成设置后,点击OK按钮。(6)按下Program按钮,开始对JTAG器件链进行编程。,5.利用ByteBlaster在线配置FLEX系列器件设计人员可以在MAX+PLUS中,通过ByteBlaster对多个FLEX器件进行在线配置,过程如下:(1)首先编译一个项目,MAX+PLUS编译器将自动为FLEX器件产生一个SRAM目标文件(.sof)。(2)将ByteBlaster一端与微机的并行口相连,另一端10针阴极头与含有可编程逻辑器件的PCB板上的阳极头插座相连。该PCB板还必须为ByteBlaster电缆提供电源。,(3)在MAX+PLUS菜单中打开编程器窗口。在Options菜单中选择HardwareSetup命令,在该窗口中选择Byteblaster并设定相应的LPT口。(4)如果只需要配置一个FLEX器件,首先检查在编程器窗口中的编程文件和器件是否正确。如果不正确,在File菜单中选择SelectProgrammingFile命令来改变编程文件。,(5)如果需要配置一个含多个FLEX器件的FLEX链,在FLEX菜单中打开MultiDeviceFLEXChain,然后选择MultiDeviceFLEXChainSetup,接着按设计人员电路板上的顺序添加FLEX编程文件。选定全部文件后,点击OK按钮。(6)在编程器窗口中点击Configure按钮。除此之外,设计人员还可以用MultiDeviceJTAGChain来配置多个FLEX器件,也可以用AlteraEPROM,或者用微处理器来配置FLEX器件,更详细的内容可参看第5章。,3.3Quartus开发软件,3.3.1Quartus的安装1.推荐的PC机系统配置(1)奔腾或更好的PC机。(2)256MB以上的有效内存,不低于128MB的物理内存。(3)1.5GB以上的硬盘空间。,(4)Windows98、Windows2000或WindowsNT3.51、WindowsNT4.0操作系统。(5)17英寸显示器。,2.安装Quartus分为商业版和基本版,安装方法基本相同,这里仅介绍基于PC机在Windows98平台上Quartus1.0版本的安装过程。(1)插入Quartus安装光盘自动运行后,或在资源管理器中双击Install.exe,出现如图3.57所示界面。,图3.57Quartus安装界面,(2)选择InstallQuartusSoftware,安装向导完成后选择Next,然后按屏幕提示进行操作,如果在任一步选择Cancel将退出安装。安装过程中有进度显示,并对Altera公司的一些器件进行简要介绍。安装完毕后,提示是否查看Readme.txt文件,是否运行Quartus1.0,都选中后点击Finish按钮,就可阅读Readme.txt文件的信息。阅读完后关闭Readme.txt文件就开始运行Quartus1.0,如图3.58所示。,图3.58安装完毕后的界面,3.第一次运行Quartus安装好后,第一次运行Quartus时还需做一些工作,才能保证该软件功能的正常使用。(1)在Quartus软件目录中双击Quartus图标,或者在Windows98的开始菜单内运行程序项中的Quartus1.0项。(2)设置授权码的过程是:在Quartus管理器界面,选择菜单命令Tools/LicenseSetup,通过“.”按钮选择License.dat文件或直接在LicenseFile对话框中输入带全路径名的License.dat文件名,如图3.59所示。,(3)设置好授权码文件后关闭对话框,就会回到Quartus管理器界面进行设计了。如果不设置授权码,则仿真等功能就不能使用。,图3.59设置授权码文件,3.3.2设计输入Quartus软件的设计方法在很多方面与MAX+PLUS软件是相同或相似的,对于相同或相似的部分,在本节只作简单介绍(前提是考虑到读者已经具备了一定的MAX+PLUS软件基础)。Quartus的软件设计流程如图3.60所示。,图3.60Quartus的软件设计流程,1.Quartus支持多种设计输入方法(1)Quartus本身具有的编辑器,原理图式图形设计输入,文本编辑输入(如AHDL、VHDL、Verilog)和内存编辑输入(如Hex、Mif)。(2)第三方EDA工具编辑的标准格式文件,如EDIF、HDL、VQM。(3)采用一些别的方法优化和提高输入的灵活性,如混合设计格式,它利用LPM和宏功能模块来加速设计输入。(4)对应的设计输入文件如图3.61所示。,图3.61设计输入文件,图3.62Quartus管理器窗口,启动Quartus。在Windows的程序管理器窗口中用鼠标左键双击Quartus图标,或在开始菜单内选择程序项中的Quartus组内的Quartus1.0项,开始运行Quartus,管理器窗口被打开,如图3.62所示。其中的项目导航窗口、状态窗口和信息窗口可通过点击其上一排中相应的快捷按钮打开或关闭。,2.建立新设计项目Quartus编译器的工作对象与MAX+PLUS一样也是项目,所以在进行一个逻辑设计时,首先要指定该设计的项目名称,对于每个新项目应该建立一个单独的子目录。如果该子目录不存在,Quartus将自动创建,以后所有与该项目有关的文件都将存放在这个子目录下。Quartus软件的项目包括所有的设计文件、配置文件、仿真文件、系统设置及该设计的层次信息。下面以一个自上而下的设计项目为例进行说明。指定项目名称的步骤如下:,(1)在File菜单中选择NewProjectWizard项,第一次可能会出现介绍页,点击Next按钮,将出现NewProjectWizard对话框。在相应的对话框中输入项目的目录、名称及顶层实体名,如Filter,缺省情况下输入的项目名同时出现在顶层实体名对话框中,顶层实体名也可与项目名不同,如图3.63(a)所示。,(2)点击Next按钮,出现NewProjectWizard第二页。点击AddAll按钮,可增加所有的设计文件到项目。本例中由于Filter为新项目,因此内容列举为空,如果设计人员已经预先输入了设计文件和其它源文件,就可以通过为文件名的浏览(.)按钮选择文件,然后增加到项目,如图3.63(b)所示。(3)点击Next按钮,出现NewProjectWizard概要。点击Finish按钮,则Filter出现在项目导航窗口层次栏中。,3.建立一个图表模块文件图表模块编辑器既可以编辑图表模块,又可以编辑原理图。图表模块编辑是顶层设计的主要方法,原理图编辑是传统的设计输入方法。设计人员可以利用Quartus提供的LPMs、宏功能等函数以及用户自己的库函数来设计。Quartus还提供“智能化的模块链接和映射”功能。,图表模块的设计流程一般包括以下几步:(1)产生一个新的模块设计文件。首先画出图表模块或输入设计单元符号,然后输入接口和参数信息并连接各个设计单元(利用单连线、总线等)。(2)保存设计,文件的后缀名为.bdf。(3)底层模块可以是用户产生的HDL文件或图形编辑文件。,图3.63NewProjectWizard对话框(a)项目目录、名称及顶层实体名;(b)增加文件到项目,图3.63NewProjectWizard对话框(a)项目目录、名称及顶层实体名;(b)增加文件到项目,图3.64产生一个新的文件,(4)顶层模块设计可以产生设计单元。1)用模块编辑器产生一个新的文件产生一个新的图表模块/原理图文件的方法是依次选择FileNewBlockDiagram/SchematicFile,如图3.64所示。点击OK按钮,然后点击SaveAs,在文件名对话框中自动出现Filter,如有必要也可自己输入其它名称再保存。,2)用模块编辑器设计模块(1)从工具栏中产生模块的方法如图3.65(a)所示。模块属性对话框如图3.65(b)所示。(2)在模块属性对话框中点击General,输入模块名如taps,缺省名可不变。(3)点击I/Os,可输入端口名并选择相应的端口类型,然后点击Add按钮添加。接下来可依次重复输入其它端口,也可一次输入所有输入端口,中间用逗号隔开。,图3.65用模块编辑器设计模块,图3.65用模块编辑器设计模块,(4)点击“确定”按钮,用鼠标右键点击模块,在弹出的对话框中选择AutoFit,模块中的数据都可看见,如图3.66所示。采用同样的操作方法可创建其它模块。,图3.66完整模块图,3)输入图元Quartus软件提供各种逻辑功能符号,包括图元(Primitive)、LPM(LibraryofParameterizedModules)函数和宏功能(Macrofunction)符号。其.bdf文件既能包含模块符号,又能包含原理图符号,供设计人员在图形模块编辑器文件中直接使用。如输入一个D触发器,其过程如下:,(1)选择工具按钮有效时,在图形模块编辑器窗口的空白处单击鼠标左键以确定输入位置。(2)然后选择InsertSymbol,或双击鼠标左键,将出现一个Symbol对话框。在符号库Libraries框中点击“+”按钮,扩展d:quartuslibraries文件夹,同样扩展primitivesstorage文件夹。,图3.67Symbol对话框,(3)在storage文件夹中选择dff图元,也可直接在图元名称对话框中输入dff,在Symbol对话框中就出现dff图元的预览。点击OK按钮后,在所希望的地方点击左键,即可插入dff图元。只要重复上述三步,就可连续选取图元,如图3.67所示。,4)输入宏功能符号利用MegaWizardPlugInManager输入宏功能符号和LPM库函数。如输入一个乘法器的步骤如下:(1)在图3.68所示的Symbol对话框中点击MegaWizardPlugInManager,出现第一页,选中Createanewcustommegafunctionvariation,然后点击Next按钮。(2)在AvailableMegafunctions列举中点击“+”按钮,扩展arithmetic文件夹,然后选择LPM-MULT。,(3)在右边的对话框中输入设计人员所希望的输出文件名和类型,如mult.v和AHDL,如图3.68所示。然后连续点击Next按钮,在其后的dataainputbus宽度对话框中输入8,databinputbus宽度对话框中输入3,其它为缺省值,再点击Finish按钮,一个新符号出现在Symbol对话框中。(4)点击OK按钮,在所希望的地方点击左键插入mult符号,最后保存文件。,图3.68输入宏功能符号,5)改变图形模块编辑器显示选项选择ToolsOptions,Options对话框被打开,在Category项下选中Block/SymbolEditor,选择General,然后根据设计人员的要求打开或关闭选项。选择Colors和Fonts,分别设置颜色和字体选项,然后点击OK按钮。6)给引脚命名根据3)中输入图元符号的方法,输入“输入”和“输出”引脚。双击所选引脚符号,出现PinProperties,在General条中的Pinname(s)中输入引脚名,然后点击OK按钮,再用同样的方法对所有引脚命名。,4.智能连接符号和模块在模块编辑器的.bdf文件中能用“智能”选择工具连接符号和模块,包括节点、总线和管道(管道是代表进出模块的一个或多个信号的总线组)。当鼠标位于一个符号的引脚上或者模块的边沿时,“智能”连接工具自动变成十字形的画线指针。例如:当鼠标位于一个符号的引脚上时,它变成直角节点工具指针;当位于一个模块的边沿上时,它变成直角总线工具指针。,1)连接符号和模块在工具条中点击直角总线工具按钮,如图3.69所示,点击鼠标左键选择总线开始点clk引脚,按住左键拖动鼠标至结束点taps模块边沿放开,映射符号自动地在taps模块边沿的总线端出现。映射符号的作用是映射模块的I/Os端口的信号到该总线。当画一条节点或总线到已经存在的节点或总线时,会自动出现“连接点”。,连接不同模块时,两边端口的名字相同的话就不用标注出来,一个管道可以连接模块之间所有的普通I/O。Quartus软件能自动将连接在一起的模块进行连接,或者在总线和模块的I/Os端口信号之间进行连接。因此,总线就像大量信号的管道。直角节点工具的使用方法与直角总线工具的使用方法一样。,图3.69智能连接符号和模块,2)查看管道属性选择总
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 货物运输合同风险防范实务指南
- 基坑施工安全风险监控方案
- 土地规划与农业资源利用合同
- 2025年成人高考《语文》古代文化常识试题库解析
- 业务合作协议指导说明
- 2025年大学辅导员招聘考试题库:学生理论试题
- 2025年护士执业资格考试题库:护理科研方法与实践护理信息学跨学科知识试题
- 现代企业物流配送方案与优化策略
- 电商客服绩效激励方案设计
- 办公室电子设备采购与安装合同
- 网信专员考试题及答案
- 挖煤专业毕业论文
- 第四讲-正确认识中国经济热点问题-2025秋版本-建设更高水平平安中国国家安全
- 配电柜组装基本知识培训课件
- 林业安全知识培训教育课件
- 建筑设计公司结构设计师工作手册
- 2025年青海省事业单位招聘考试卫生类护理学专业知识试题
- 宝宝呛奶科普课件
- 安全注射标准WST856-2025学习解读课件
- Z世代对消费场所视觉对比度
- 语言认同建构机制-第1篇-洞察及研究
评论
0/150
提交评论