第4章补充(QuartusII操作-详细)_第1页
第4章补充(QuartusII操作-详细)_第2页
第4章补充(QuartusII操作-详细)_第3页
第4章补充(QuartusII操作-详细)_第4页
第4章补充(QuartusII操作-详细)_第5页
已阅读5页,还剩157页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章补充(QuartusII操作-详细)第一页,共162页。3.1数字系统设计流程3.2常用的PLD设计EDA工具软件3.3QuartusⅡ简介3.3设计实例3.5设计输入3.6设计的编译3.7设计的仿真验证3.8时序分析3.9器件编程3.10仿真工具ModelSim3.11QuartusⅡ软件使用技巧3.12仿真中应注意的问题

第3章QuartusII集成开发工具2第二页,共162页。3.1数字系统设计流程一、设计输入二、设计处理三、模拟仿真四、编程下载内容概要3第三页,共162页。3.1数字系统设计流程图3-1数字系统设计流程分析系统功能和性能要求1划分功能模块2设计各子模块3各子模块进行综合、优化、仿真3对系统模拟仿真5自上而下的方式如果仿真结果与预期要求不符,应修改设计,再重新仿真!4第四页,共162页。3.1数字系统设计流程图3-2用PLD实现数字系统的设计流程模拟仿真设计输入图形HDL文本网表输入设计处理综合优化器件适配布局、布线功能仿真(前仿真)时序仿真(后仿真)在线测试下载编程12335第五页,共162页。3.1数字系统设计流程(1)图形输入(GraphicDesignEntry)图形化、最直接的输入方式采用自顶向下逻辑分块的方法优点:适合描述连接关系和接口关系;便于进行接口设计和引脚锁定;容易实现仿真,便于观察信号;执行效率高、运行速度快。缺点:输入效率较低;不便于描述复杂逻辑功能。1.设计输入将设计者所设计的电路以开发软件要求的某种形式表达出来,并输入到软件中。6第六页,共162页。3.1数字系统设计流程(2)HDL文本输入优点:适于描述复杂逻辑功能;便于设计的保存、移植和复用;结果易仿真,便于观察;适于规范、易于语言描述、易于综合、速率较低的电路。缺点:依赖于好的综合器;描述连接关系和接口关系不直观。7第七页,共162页。3.1数字系统设计流程(3)标准EDA设计输入(StandardEDADesignEntry)可直接移植其它EDA工具设计的电路,无须重新输入可接受的网表有EDIF、VHDL、VerilogHDL格式网表输入时,两个系统中采用的库必须一一对应但仿真时信号不易于观测PLD器件的设计往往采用层次化的设计方法:将系统划分为几个功能模块;描述系统总功能的模块放置在最上层,称为顶层设计,一般用图形文件表示各子模块间的连接关系和芯片内部逻辑与管脚的接口关系;描述系统最基本功能的模块放置在最下层,称为底层设计,一般用HDL语言描述各子模块的逻辑功能。

网表输入8第八页,共162页。3.1数字系统设计流程(1)综合和优化综合:将模块化设计产生的多个文件合并为一个网表文件,并使设计层次平面化,即将逻辑描述转换成一些基本模块(如触发器、逻辑门等)。优化:进行逻辑化简,去除冗余项,尽量减少器件资源的耗用。(2)器件适配(映射)将设计分为多个适合具体器件内部逻辑资源实现的逻辑小块的形式。(3)布局和布线布局:将已分割的逻辑小块放到器件内部逻辑资源的具体位置,使易于连线,且连线最少;布线:利用器件的布线资源完成各功能块之间和反馈信号之间的连接。(3)生成编程文件生成供器件编程使用的数据文件——编程目标文件。2.设计处理从设计输入文件到熔丝图文件(CPLD)或位流文件(FPGA)的编译过程。9第九页,共162页。3.1数字系统设计流程(1)功能仿真(前仿真)在设计输入阶段进行,不考虑信号时延的仿真——主要验证功能是否正确。(2)时序仿真(后仿真)在选择了具体器件、并完成了布局布线后进行的含有定时关系的仿真——主要验证功能和时序是否正确。(3)在线测试当器件编程后,利用实验手段在线测试器件的功能和性能指标。3.模拟仿真用户可在设计过程的每个阶段对每个模块或整个系统进行模拟仿真。10第十页,共162页。3.1数字系统设计流程两种编程方式:在系统编程(ISP,In-SystemProgrammable):PLD不必从电路板上取下来,通过下载电缆利用计算机直接对器件进行编程,使器件、电路板或整个电子系统的逻辑功能可随时进行修改或重构。电路板上必须预留编程接口(如JTAG接口)。专用的编程器编程:PLD必须从电路板上取下来,插入编程器上的器件插座中,对器件进行编程。

3.编程下载将设计阶段生成的编程目标文件装入到PLD器件中。ISP11第十一页,共162页。3.3QuartusⅡ简介一、QuartusⅡ的设计流程二、QuartusⅡ的图形用户界面三、QuartusⅡ的图形用户界面功能内容概要12第十二页,共162页。3.3QuartusⅡ简介一、QuartusⅡ的设计流程(1)(2)(3)(5)(3)设计要求设计输入功能仿真综合布局布线时序分析时序仿真编程、配置设计修改(6)(7)可以使用QuartusⅡ图形用户界面、EDA工具界面或命令行界面!全编译13第十三页,共162页。3.3QuartusⅡ简介二、QuartusⅡ的图形用户界面2Status窗口3主工作区域3ChangeManager窗口1ProjectNavigator窗口5Messages窗口6Tclconsole窗口14第十四页,共162页。3.3QuartusⅡ简介按F1键,可打开帮助窗口,即时访问对话框上的信息、高亮度的菜单命令或弹出式信息;或按Shift+F1键,鼠标变为一个问号,在图元、宏单元符号等屏幕显示的任何项目上单击鼠标左键,可获得该项目的帮助;或单击工具栏上的帮助按钮,鼠标也会变为一个问号,然后单击想要获得帮助的项目。如何获取在线帮助呢??15第十五页,共162页。3.3设计实例设计要求首先设计一个半加器,然后用半加器构成全加器。16第十六页,共162页。3.3设计实例设计方法:1.首先在资源管理器下创建一个工作目录。2.在QuatusII中创建一个工程,工程名最好与顶层图形文件同名。3.子模块设计:每个模块可以用HDL语言描述(模块名最好与程序文件名同名!),对每个模块进行编译、仿真,通过后然后生成模块符号。3.顶层设计:创建一个顶层图形文件,将各模块符号放到图中,添加输入、输出引脚,连线;编译,仿真。5.给输入、输出引脚分配引脚号码,编程下载。千万记住哦!17第十七页,共162页。3.3设计实例建议:初学QuartusII时,不要直接执行“Processing>StartSimulation”命令,或直接单击工具条上的仿真快捷按钮(因为这样是对已打开且上次刚刚仿真过的文件进行仿真)!而应执行“Processing>SimulationTool”命令,打开仿真器工具窗口,在其中设置仿真类型为Timing或Functional,并确认“Simulationinput”栏中显示的是当前需要仿真的波形文件,再单击“Start”,开始仿真。18第十八页,共162页。3.3设计实例(5)仿真通过后,执行“Create/Update>CreateSymbolFilesforCurrentFile”菜单命令,创建模块符号。

注意:执行“View>FitinWindow”命令,可以使波形缩小到窗口大小,以便于观察整个波形!19第十九页,共162页。3.3设计实例②将未使用引脚指定为输入:然后在Device页面中单击“Device&PinOptions”按钮,打开“Device&PinOptions”对话框;20第二十页,共162页。3.3设计实例选择“UnusedPins”标签,在“Reserveallunusedpins”域中选择“Asinputs,tri-stated”单选钮。不要选其它项!千万不要将未使用引脚指定为输出,否则无法成功下载设计!21第二十一页,共162页。3.3设计实例第5步:给输入、输出引脚分配引脚号码,编程下载(1)对顶层图形文件counter_7seg.bdf进行引脚锁定;执行“Assignnments>AssignmentEditor”菜单命令参见3.6的四、引脚锁定信号名引脚号22第二十二页,共162页。3.5设计输入一、创建工程二、图形设计输入方法三、文本输入方法四、建立存储器编辑文件五、创建顶层图形设计文件内容概要23第二十三页,共162页。3.5设计输入QuartusIITextEditor文本输入AHDL,VHDL,VerilogHDLMemoryEditor存储器输入HEX,MIFSchematicDesignEntry图形设计输入3rd-PartyEDATools第3方EDA工具EDIFHDLVQM(VerilogQuartusMapping)Mixing&MatchingDesignFilesAllowedEDA设计输入方法24第二十四页,共162页。3.5设计输入设计输入文件QuartusIIMemoryEditorQuartusIITextEditorQuartusIIBlockEditorTop-LevelFile.bdf.gdfTop-leveldesignfilescanbe.bdf,.tdf,.vhd,.vhdl,.v,.vlg,.edifor.edf.bsf.vhdBlockFileSymbolFileTextFileTextFile.vTextFileImportedfromthird-partyEDAtoolsMentorGraphics,Synopsys,Synplicity,etc...GeneratedwithinQuartusIIVHDLSchematicSchematic.tdfTextFileAHDLVerilog.edf.edifTextFile.v,.vlg,.vhd,.vhdl,vqmMegaWizard®Manager25第二十五页,共162页。3.5设计输入一、创建工程1.打开创建工程向导执行菜单命令“File>NewProjectWizard”,打开Introduction对话框。单击“Next”。2.选择所建立工程的工作目录,输入工程名称、顶层实体名

工程名称可以是任何名字,建议使用和顶层实体名相同的名字。顶层实体名称必须和顶层文件名字相同!单击“Next”。工作目录和工程名不能有空格和汉字!最好每个工程都有自己的工作目录!26第二十六页,共162页。3.5设计输入3.加入设计文件(必要时)(1)单击Add按钮,从其他工作目录中选择所需要的现成的源文件(只是指向该文件位置);(2)单击“UserLibraryParameters”按钮,可以加入用户自己定义的库函数:选择其路径和文件名,单击“Add”加入。(3)单击“Next”。

第3步也可以略过,以后再创建设计文件,或者以后再用“Project>Add/RemoveFilesinProject…”命令将其他工作目录中的文件添加到本工程中。27第二十七页,共162页。3.5设计输入3.指定第三方对代码进行综合和仿真的工具(需要时)在安装QuartusII软件时,缺省的情况下安装了综合和仿真工具,也可以选择QuartusII软件支持的其它综合或仿真工具。在弹出的对话框中,选择适当的工具,或者什么也不选,单击“Next”。

28第二十八页,共162页。3.5设计输入5.指定目标器件类型在“Family”栏中选择“StratixII”,选择“Yes”单选钮;

单击“Next”;在下一对话框中选择具体的器件型号,然后单击“Next”。

29第二十九页,共162页。3.5设计输入6.完成在最后一步中,显示了在前面几步中所做选择的信息。确认无误后单击“Finish”。

30第三十页,共162页。3.5设计输入执行“Assignments>Settings”菜单命令,弹出“Settings”窗口Files——添加和删除文件;UserLibraries——添加用户库;Device——更改器件系列;EDAToolSettings——设置其它EDA工具;TimingAnalyzer——定时分析设置Simulator——仿真设置:选择功能仿真或时序仿真对工程设置进行修改31第三十一页,共162页。3.5设计输入二、图形设计输入方法图形设计文件的创建利用库函数LibraryFunction(Block)画原理图逻辑门、触发器、引脚和其它基本单元符号Altera兆功能函数(Megafunction)和LPM(LibraryofParameterizedModules,参数化的模型库)为Verilog、VHDL或AHDL设计文件创建符号使用导线和总线连接所有的图形块(Block)图形编辑器(SchematicEditor)的使用创建简单的测试设计文件来理解Altera的兆功能函数PLL,LVDSI/O,Memory创建顶层图形文件便于查看和连接又称为块编辑器(BlockEditor),可以原理图(Schematic)和结构图(BlockDiagram)形式输入和编辑图形设计信息。32第三十二页,共162页。3.5设计输入建立图形设计文件的方法:1.建立一个新文件执行命令,打开“New”对话框;选择“DeviceDesignFiles”标签下的“BlockDiagram/SchematicFile”;单击OK,打开图形编辑器。文件名后缀为.bdf33第三十三页,共162页。3.5设计输入工作区域常用快捷按钮图形编辑器界面34第三十四页,共162页。3.5设计输入2.输入图元和宏功能符号在窗口的空白处双击鼠标左键,或单击符号工具按钮,或选择菜单“Edit>InsertSymbol”,打开“Symbol”对话框;在“Libraries”栏中单击某单元库前的加号,选择所需图元或符号名;单击“OK”。若已知图元或符号在库中的名字,可在“Symbol”对话框的“Name”栏中直接键入名称(如input、output)!35第三十五页,共162页。3.5设计输入当符号放置好后,单击鼠标右键,选择下拉菜单的Properties项,弹出“SymbolProperties”对话框,可修改符号的属性(如实例名、端口状态、LPM的参数等)。36第三十六页,共162页。3.5设计输入QuartusⅡ的模块库(在c:/altera/quartus50/libraries下有3个库):(1)Megafunctions(兆功能函数):包含许多可直接使用的参数化模块arithmetic(参数化累加器、乘法器、比较器、计数器、除法器等)embedded_logic(双端口RAM)gates(参数化与门、或门、三态缓冲器、译码器、多路选择器等)IO(各种I/O接口电路模块)storage(参数化D触发器、锁存器、FIFO、ROM等)丰富的设计库(基本逻辑块、73系列器件、特殊的逻辑宏函数、参数化模块)37第三十七页,共162页。3.5设计输入(2)others(其他库):包括与MAX+PLUSⅡ兼容的所有中规模器件,如73系列器件及特殊的逻辑宏函数如多路选择器,计数器,加法器,比较器,乘法器(3)Primitives(基本单元符号库):包含所有的Altera基本图元buffer:缓冲器logic:各种扇入的与门、或门等;other:电源、地等;pin:input,output,bidirstorage:D触发器、JK触发器、锁存器等38第三十八页,共162页。3.5设计输入3.结构图(BlockDiagram)输入方法自顶向下的设计方法blocktest.bdf39第三十九页,共162页。3.5设计输入3.使用MegaWizardPlug-InManager进行宏功能模块的实例化Altera提供的宏功能模块:LPM:LibraryofParamerterizedModules(如乘法器、累加器);MegaCore(如FFT、FIR等);AMMP(AlteraMegafunctionPartnersProgram),如PCI、DDS

MegaWizardPlug-InManager运行一个向导,用于设置参数值和选择端口三种方法:方法一:执行“Tools>MegaWizardPlug-InManager”菜单命令;方法二:在原理图设计文件的Symbol对话框中单击“MegaWizardPlug-InManager”按钮;方法三:在命令提示符下键入qmegawiz命令。预先设计好的设计模块40第四十页,共162页。3.5设计输入1)(事先在资源管理器下新建一个文件夹)创建一个新的工程(如pipemult.qpf);2)新建一个原理图文件(如pipemult.bdf);3)使用MegaWizardPlug-InManager构建一个88乘法器:(1)执行“Tools>MegaWizardPlug-InManager”菜单命令,弹出一对话框;(2)选择“Createanewcustommegafunctionvariation”选项,单击“Next”按钮,弹出一对话框;(3)在宏功能模块库中选择宏功能模块(LPM_MULT),选择输出文件类型,键入输出文件名(如mult);方法一操作步骤41第四十一页,共162页。3.5设计输入宏功能模块输出文件类型输出文件名42第四十二页,共162页。3.5设计输入(3)单击“Next”,根据需要,设置宏功能模块的端口和参数:

devicefamily:StratixII

output:VerilogHDL

output:mult

dataaportwidth:8

databportwidth:8

2stagepipeline(latency)

generate.v&.bsffiles(5)单击“Finish”,完成宏功能模块的实例化。选中43第四十三页,共162页。3.5设计输入3)将刚创建的宏功能模块添加到原理图中(1)双击原理图文件(如pipemult.bdf)空白处,打开“Symbol”对话框,展开“Project”,选择刚创建的宏功能模块mult,单击“OK”按钮;(2)移动鼠标,将宏功能模块放置到适当位置。44第四十四页,共162页。3.5设计输入5)将其他工作目录中现成的源文件添加到本工程中执行“Project>Add/RemoveFilesinProject”菜单命令,打开Settings对话框,将Lab1中的ram.vhd添加到本工程中。(1)(2)(3)(3)或直接调用c:/…/libraries/megafunctions/storage中的LPM_RAM_DP45第四十五页,共162页。3.5设计输入6)为ram.vhd创建模块符号ram.bsf打开ram.vhd文件,执行“Create/Update>CreateSymbolFilesforCurrentFile”菜单命令。7)将模块符号ram.bsf放置到原理图中

方法同第3步8)建立完整的原理图设计文件(连线、放置引脚、命名)

方法见后面“6.建立完整的原理图设计文件”46第四十六页,共162页。3.5设计输入1)调入宏功能模块符号(1)双击原理图文件空白处,打开“Symbol”对话框;(2)在“Libraries”中选择“c:/altera/quartus50/libraries”下的适当路径,单击所需的宏功能模块;(3)单击“OK”,将此宏功能模块放入原理图中。宏功能模块实例化的另一种方法:在原理图设计文件的Symbol对话框中选择宏功能函数库,直接设置宏功能模块的参数47第四十七页,共162页。3.5设计输入2)设置需要的端口:双击模块右上角的参数设置框,弹出“SymbolProperties”对话框,在“Ports”标签中选择所需的端口名,将其状态设置为“Used”;不用的端口将其状态设置为“Unused”。双击参数设置框,则弹出如何使参数设置框显示出来?48第四十八页,共162页。3.5设计输入3)设置需要的参数:在“Parameters”标签中选择所需的参数名,设置适当的值;单击“确定”。49第四十九页,共162页。3.5设计输入5.从设计文件创建模块——为设计好的工程文件生成一个模块符号文件(BlockSymbolFiles,.bsf),供高层设计调用(1)创建符号执行“Create/Update>CreateSymbolFilesforCurrentFile”菜单命令50第五十页,共162页。3.5设计输入(2)调用符号在原理图中双击鼠标左键,打开“Symbol”对话框;展开“Project”,选择刚创建的模块符号,单击“OK”按钮;移动鼠标,将模块放置到适当位置。51第五十一页,共162页。3.5设计输入(3)编辑符号选中符号,执行“Edit>EditSelectedSymbol”菜单命令,或右击该符号,选择“EditSelectedSymbol”命令,进入符号编辑界面;调整符号中端口的位置或顺序,或调整符号的大小;单击保存按钮,保存修改后的符号;在图形文件中右击该符号,选择“UpdateSymbolorBlock…”命令,更新符号。需要修改符号时52第五十二页,共162页。3.5设计输入6.建立完整的原理图设计文件(连线、放置引脚并命名)(1)连线包括信号线(NodeLine),总线(BusLine)利用窗口左边的工具箱里的折线按钮。当需要连接两个端口时,只需将鼠标移动到其中一个端口上,当鼠标变为十字形状时,一直按下鼠标并拖动到另一端口,松开左键即可。(2)放置输入和输出引脚引脚类型:输入(INPUT),输出(OUTPUT),双向(Bidir)双击鼠标左键,打开“Symbol”对话框,在“Name”框中键入“INPUT”(或“OUTPUT”),选择“OK”。或在primitive的pin库中选择。53第五十三页,共162页。3.5设计输入(3)为引线和引脚命名为引线命名:单击引线,键入节点名。注:对于n位总线,可采用A[n-1..0]的形式命名,如data[7..0]为引脚命名:在引脚的PIN_NAME处双击鼠标左键,此时PIN_NAME反白显示,键入引脚名,回车,则鼠标指针直接跳到下一个引脚,可继续为其他引脚命名。注:输入引脚和输出引脚不仅可以是单一的信号,也可表示一组总线,只需将引脚的名字命名为总线名,如d[7..0]即可。54第五十四页,共162页。3.5设计输入7.保存设计文件用File>SaveAs…命令8.设置图纸大小和方向用File>PageSetup…命令(大小可选择3x5in或A3、A3Long、A5、A6、B5、B6、C5、DL等)将设计文件添加到当前工程中55第五十五页,共162页。3.6设计的编译一、QuartusⅡ的编译器的功能二、编译的步骤三、在底层图编辑器中观察或调整适配结果四、引脚锁定内容概要56第五十六页,共162页。3.6设计的编译一、QuartusⅡ的编译器的功能编译器既能接受多种输入文件格式,又能输出多种文件格式。输入文件图形文件(.bdf);文本文件,如:VerilolgHDL文件(.v),AHDL文件(.tdf),VHDL文件(.vhd);波形输入文件(.wdf)第三方EDA工具输入文件,如EDIF文件(.edf),库映射文件(.lmf),OrCAD文件(.sch),Xilinx文件(.xnf),VQM文件(.vqm)输出文件设计校验文件,如模拟器网表文件(.snf),第三方EDA工具(如Modelsim)所用的网表文件(.vo,.vho)编程目标文件,如MAX系列(CPLD)的.pof文件,FLEX10K、ACEX1K、Cyclone、Stratix系列FPGA的.sof文件SimulatorNetlistFileProgrammableObjectFileSRAMObjectFile57第五十七页,共162页。3.6设计的编译处理与设计项目有关的所有设计文件。检查句法错误及普通易犯的设计错误。进行逻辑综合(选择合适的逻辑化简算法,去除冗余逻辑)。布局布线。为仿真和定时分析产生输出文件(.snf或.vo,.vho)。为编程目标器件产生输出文件(.pof或.sof)。编译器的功能注:编程文件名与工程名同名;编程文件名不一定同顶层设计文件名;一个工程只有一个编程文件。58第五十八页,共162页。3.6设计的编译功能模块功能描述Analysis&Synthesis将设计映射到具体器件的基本模块上(如触发器、逻辑门)Fitter在器件中布局布线TimingAnalyzer进行时序分析和性能分析,将延时信息加到网表文件中Assembler产生器件编程文件(.pof,.sof,.hexout,.ttf,.rbf)EDANetlistWriter*产生第三方EDA工具所用的网表文件(如VerilogHDL的输出文件.vo,VHDL的输出文件.vho)表3-1QuartusⅡ编译器功能模块描述59第五十九页,共162页。3.6设计的编译二、编译的步骤1.打开要编译的工程用“Project…”或“Projects”命令2.打开编译器窗口执行“Tools>CompilerTool”命令开始全编译开始分析和综合必须先指定要编译的文件为顶层实体!开始适配开始装配开始时序分析开始EDA网表复写60第六十页,共162页。3.6设计的编译3.编译器选项设置用以控制编译过程:指定目标器件系列、CompilationProcess设置、Analysis&Synthesis设置、Fitter设置等——所有选项通过Settings对话框进行设置。打开Settings对话框的两种方法:方法一:执行“Assignments>Settings”命令;方法二:单击工具条上的Settings按钮。

61第六十一页,共162页。3.6设计的编译Settings对话框的Device页面指定未使用引脚的状态62第六十二页,共162页。3.6设计的编译(1)指定目标器件系列在Settings对话框的Category栏中选择“Device”,或直接执行“Assignments>Device…”命令;然后在Device页面中进行设置。注意未使用引脚一定要指定为输入、三态引脚!(2)CompilationProcess设置在Settings对话框的Category栏中选择“CompilationProcessSettings”;然后在CompilationProcessSettings页面中进行设置:采取增量编译技术:打开“UseSmartcompilation”选项;节省磁盘空间:打开“Preservefewernodenamestosavediskspace”选项为使重编译速度加快,一定选中此项!63第六十三页,共162页。3.6设计的编译(3)Analysis&Synthesis设置——用于优化设计的分析综合过程。在Settings对话框的Category栏中选择“Analysis&SynthesisSettings”;然后在Analysis&SynthesisSettings页面中进行设置:OptimizationTechnique(Speed,Balanced或Area);选择支持VHDL和VerilogHDL的版本;综合网表优化(PerformWYSIWYGPrimitiveResynthesis,PerformGate-LevelRegisterRetiming)64第六十四页,共162页。3.6设计的编译(3)Fitter设置——用于控制器件的适配情况及编译速度。在Settings对话框的Category栏中选择“FittingSettings”;然后在FittingSettings页面中进行设置:Timing-drivencompilation;Fittereffort(StandardFit,FastFit,AutoFit);PhysicalSynthesisOptimizations:将适配过程和综合过程紧密结合起来(基于适配器输出重新进行综合):包括组合逻辑的物理综合、寄存器复制的物理综合。然后单击OK,完成设置65第六十五页,共162页。3.6设计的编译3.进行分析综合分析设计文件,建立工程数据库进行分析和综合有3种方法方法一:在编译器窗口中,单击StartAnalysis&Synthesis按钮;方法二:执行“Processing>Start>StartAnalysis&Synthesis”命令;方法三:单击工具条上的StartAnalysis&Synthesis快捷按钮。66第六十六页,共162页。3.6设计的编译分析综合窗口StatusMessages分析综合报告67第六十七页,共162页。3.6设计的编译5.启动编译器可以单独运行编译器的某个模块,也可以进行全编译。启动全编译过程:(1)执行“Processing>StartCompilation”命令,或单击工具条上的全编译快捷按钮

在编译过程中,自动显示状态窗口、消息窗口和编译报告窗口。注:编译是在后台运行的,此时计算机还可进行其他工作!68第六十八页,共162页。3.6设计的编译设计的全编译过程StatusMessagesReport窗口69第六十九页,共162页。3.6设计的编译(2)检查错误所有信息、错误和警告会在自动打开的Message窗口中显示:在一条消息上双击左键,或单击右键,然后从弹出菜单中选择“Locate>LocateinDesignFile”,可给错误信息定位;选择“Help”,可查看错误信息的详细说明。可以定位错误在设计文件中的位置!

(3)阅读编译报告如果编译报告窗口已关闭,单击快捷按钮可以打开编译报告。在编译报告左边窗口点击要查看部分前的加号,然后选择要查看的部分。70第七十页,共162页。3.6设计的编译三、在底层图编辑器中观察或调整适配结果底层图在QuartusⅡ5.0中只有时序逼近底层图(TimingClosureFloorplan),用于物理器件资源分配、查看布局、查看连接底层图的显示方式内部逻辑单元(InteriorCells)——默认显示方式;内部逻辑阵列块(InteriorLABs);域视图(FieldView);器件顶视图(PackageTop);器件底视图(PackageBottom)

注:利用View菜单,或在打开的底层图中单击右键,可以选择不同的显示方式!自学!71第七十一页,共162页。3.6设计的编译1.在时序逼近底层图中查看适配结果(1)打开时序逼近底层图执行“Assignments>TimingClosureFloorplan

”命令;选择“View>ColorLegendWindow”命令,显示颜色图例。72第七十二页,共162页。3.6设计的编译(2)使用时序逼近底层图查看适配器生成的逻辑布局、用户分配,进行LogicLock区域分配,查看布线拥塞情况利用View菜单或在当前视图上单击右键,可以切换底层图的显示方式(3)查看分配和布线执行“View>Routing”命令或直接单击工具条上的快捷按钮可以查看节点间路径、节点的扇入和扇出、布线延时、物理时序估计、布线拥塞、关键路径等(3)进行位置和时序分配执行“Assignments>AssignmentEditor”命令启动AssignmentEditor进行分配使用NodeFinder进行分配……73第七十三页,共162页。3.6设计的编译pipemult.bdf的PackageTop视图未分配的引脚编程用引脚已分配的引脚电源所选用器件74第七十四页,共162页。3.6设计的编译四、引脚锁定对设计中的输入、输出引脚指定在器件中的引脚号码称之为“引脚锁定”或“引脚分配”。引脚锁定分为手动锁定和自动锁定手动锁定——由设计人员指定引脚号码;自动锁定——在QuartusII软件中运行“Processing>Start>StartI/OAssignmentAnalysis”菜单命令手动锁定有两种锁定方式:(1)前锁定编译前在分配编辑器(AssignmentEditor)或在底层图编辑器(FloorplanEditor)中完成锁定(2)后锁定在编译后通过编辑适配结果(修改.qsf文件)来修改锁定记住哦!75第七十五页,共162页。3.6设计的编译前锁定有两种方法:1.在分配编辑器(AssignmentEditor)中完成引脚锁定(1)打开分配编辑器执行“Assignnments>AssignmentEditor”菜单命令,然后在Category栏中选择pin;或直接选择“Assignnments>Pins”菜单命令。(2)选择引脚名在AssignmentEditor界面中,双击To单元,从中选择引脚名(3)指定引脚号双击Location单元,从下拉框中指定引脚号(3)完成设计中所有引脚的指定,保存分配76第七十六页,共162页。3.6设计的编译(5)在进行编译之前,检查引脚分配是否合法执行“Processing>Start>StartI/O

AssignmentAnalysis”菜单命令AssignmentEditor引脚分配界面引脚名编辑栏可用复制、粘贴方法快速复制多个引脚名或引脚号码,然后在Edit栏中进行修改。引脚号77第七十七页,共162页。3.6设计的编译2.在底层图编辑器(FloorplanEditor)中完成引脚锁定很繁琐,不建议采用!在进行引脚锁定时有几点应特别注意:

只有选定器件后,才能进行引脚锁定!手动锁定完毕,必须重新编译!Pin-OutFile只是一个输出文件,不能用作输入文件来进行引脚锁定!如何取消或更改某引脚锁定呢??78第七十八页,共162页。3.6设计的编译

1.

打开配置文件.qsf文件(其名与工程同名);

2.

在Pin&LocationAssignments处用复制、粘贴的方法增加对输出、输入引脚的定义语句,或直接修改引脚号或信号名;

3.保存修改后的.qsf文件。

3.

对原设计文件重新编译,以生成新的编程下载文件!(.sof,.pof,.hex)。后锁定千万别忘了哦!每个设计工程都有一个设置文件.qsf(QuartusSettingsFile),包含所有的设置参数,如器件类型、引脚锁定、速率及面积的比例、时间参数的要求和布线设置等。79第七十九页,共162页。3.6设计的编译修改counter_7seg.qsf文件引脚名引脚锁定信息引脚号80第八十页,共162页。3.6设计的编译自动进行引脚分配除了设计工程要求,输入输出引脚已经由外围电路确定的情况下,一般无须手动锁定引脚。在运行StartI/OAssignmentAnalysis命令之前若还未进行引脚分配,则可以执行“Processing>Start>StartI/O

AssignmentAnalysis”菜单命令,自动完成引脚分配。引脚分配的反向标注当自动完成引脚分配后,可以执行“Assignments>Back-Annotate

Assignments…”菜单命令,进行引脚分配的反向标注,将引脚分配保存到.qsf文件中。在哪里可以方便地查看引脚锁定情况呢??81第八十一页,共162页。3.7设计的仿真验证一、QuartusⅡ仿真器的功能二、创建仿真文件三、进行仿真四、仿真结果分析内容概要82第八十二页,共162页。一、QuartusⅡ仿真器的功能1.功能仿真(前仿真)检验逻辑功能是否正确。在仿真开始前,必须将要仿真的设计文件设为顶层实体,然后执行“Processing>GenerateFunctionalSimulationNetlist”命令,进行功能编译,产生功能仿真网表文件。编译过程快。只运行仿真网表的提取,不作布局布线,故输出相对于输入没有延时。需加入激励信号(用波形编辑器输入,或用文本编辑器生成)。所有节点信号均可观测到。

3.7设计的仿真验证83第八十三页,共162页。decoder_7seg.vwf(功能仿真)参考线输出输入输出相对于输入没有延时!3.7设计的仿真验证84第八十四页,共162页。2.时序仿真(后仿真)检验逻辑功能是否正确,并验证器件配置后的时序关系是否正确。在仿真开始前必须执行“Processing>StartCompilation”命令,对设计进行全编译,产生时序仿真网表文件。编译过程较慢。仿真所有综合结果,输出相对于输入有时间延迟。需加入激励信号,或利用功能仿真时生成的激励波形。组合逻辑的节点信号有可能观测不到。可以观察到竞争冒险!3.7设计的仿真验证什么是竞争冒险?一定要避免吗??85第八十五页,共162页。decoder_7seg.vwf(时序仿真)输出相对于输入有延时!竞争冒险3.7设计的仿真验证86第八十六页,共162页。功能仿真时序仿真作用检验逻辑功能是否正确检验逻辑功能、时序关系是否正确编译过程执行“Processing>GenerateFunctionalSimulationNetlist”命令带延时的全编译,执行“Processing>StartCompilation”命令编译速度√快较慢输出相对输入无延迟有延迟节点信号的观测√可观测到有可能观测不到竞争冒险的观测观测不到√可观测到功能仿真与时序仿真的比较3.7设计的仿真验证87第八十七页,共162页。QuartusⅡ仿真器支持的输入文件矢量波形文件(.vwf);矢量表输出文件(.tbl);MAX+PLUSⅡ产生的向量文件(.vec)或仿真器通道文件(.scf)3.7设计的仿真验证当在QuartusⅡ中打开MAX+PLUSⅡ产生的向量文件(.vec)或仿真器通道文件(.scf)后,不能按原来的文件形式保存,只能将其保存为矢量波形文件(.vwf)或矢量表输出文件(.tbl)。88第八十八页,共162页。二、创建仿真文件1.建立一个仿真文件(.vwf)

(1)执行命令在New对话框中选择OtherFiles标签,文件类型选择“VectorWaveformFile”;单击OK,则打开一个空的波形编辑器窗口。设计文件必须已通过编译!3.7设计的仿真验证演示:对counter_7seg文件夹中的bcd_counter.v进行功能仿真。89第八十九页,共162页。(2)设置仿真的结束时间

默认为1s可根据需要用Edit>EndTime命令设置(如这里设置为100s)(3)设置网格间距用Edit>GridSize命令(如这里设置为1s)(3)保存文件执行“As…”命令,仿真文件名为与工程文件名同名,后缀为.vwf,并选中“Addcurrentproject”复选框,将其加入到本工程中。3.7设计的仿真验证一般根据输出信号的时钟周期来设置一般设置为与输入时钟信号的时钟周期相同90第九十页,共162页。2.在波形文件中添加节点(1)查找设计中的节点名(有两种方法)方法一:执行“View>UtilityWindows>NodeFinder”命令,弹出NodeFinder界面;方法二:在波形编辑器左边Name列的空白处单击右键,在弹出菜单中选择“InsertNodeorBus…”命令,或双击左键,则弹出对话框InsertNodeorBus,在其中选择“NodeFinder…”按钮。3.7设计的仿真验证91第九十一页,共162页。(2)列出设计中的所有节点名在NodeFinder界面中,在Filter列表中选择Pins:all,在Named栏中键入“*”,然后单击List按钮,则在“NodesFound”中会出现所有节点名。3.7设计的仿真验证右箭头92第九十二页,共162页。(3)选择节点加入波形文件在NodeFound栏中选择要加入波形文件中的节点(可用Shift键或Ctrl键选择多个连续或不连续的节点),单击右箭头,将所选择节点送入“SelectedNodes”栏中。单击“OK”,则所选的信号和组出现在波形编辑器中。3.7设计的仿真验证总线信号最好不要选择单个信号,而是选择一组信号!一般将输入信号放在波形编辑器中的上方,输出信号放在下方——便于观察波形!93第九十三页,共162页。未编辑的输入信号波形默认为低电平;输出信号和隐含节点默认为未定义(X)电平。3.7设计的仿真验证94第九十四页,共162页。3.编辑输入波形——指定输入节点的逻辑电平变化(1)时钟节点波形的输入在时钟节点名(如clk)上单击右键,在弹出菜单中选择“Value>Clock…”命令,或选择时钟节点名后直接单击图形工具按钮OverwriteClock,则弹出Clock对话框;在其中设置时钟周期(如这里为1s)、相位和占空比。3.7设计的仿真验证95第九十五页,共162页。(2)总线信号波形的输入在总线节点名(如data)上单击右键,在弹出菜单中选择“Value>CountValue…”命令,或直接单击图形工具按钮CountValue,则弹出CountValue对话框;在Counting标签中设置总线为计数输入;在Timing标签中设置起始、终止时间,计数的时间间隔。3.7设计的仿真验证96第九十六页,共162页。若在总线节点名(如data)上单击右键,在弹出菜单中选择“Value>ArbitraryValue…”命令,或用鼠标选中某段波形,然后双击该段波形,则弹出“ArbitraryValue”对话框,可在其中设置整个总线或总线的一段为任意固定值输入。3.7设计的仿真验证97第九十七页,共162页。(3)任意信号波形输入在波形编辑器中选择某输入节点,单击窗口左部的图形工具按钮,编辑整个波形;或拖动鼠标选定信号在某个时间段的区域,单击图形工具按钮;或在选中区域上单击右键,在Value菜单中选择需要设置的值,编辑该段波形。若选择“View>SnaptoGrid”命令,或单击SnaptoGrid工具按钮,则拖动鼠标,只能选定网格的整数倍的波形段。3.7设计的仿真验证1298第九十八页,共162页。高电平未定义逻辑电平使高低电平反相定义一个时钟定义一个计数序列低电平高阻态图形工具按钮3.7设计的仿真验证对齐网格99第九十九页,共162页。可用复制、粘贴按钮快速复制某段波形;对于相邻的几个信号,若某时间段的波形相同,可同时选定这几个信号的该时间段,编辑该段波形。若要定义一组总线的某一段为一个连续的计数序列(如1,2,3……),则可利用“定义一个计数序列”按钮。可根据需要,采用不同的进制来表示总线信号:右击该总线名,选择“Properties”,打开“NodeProperties”对话框,在“Radix”域可选择BIN(二进制)、UnsignedDecimal(无符号十进制)、OCT(八进制)、HEX(十六进制)技巧基数3.7设计的仿真验证100第一百页,共162页。3.存盘(用“As”命令)

(文件名与设计文件名相同!)3.7设计的仿真验证如果进行的是全编译,则在Simulation栏中一定要选择Timing!否则仿真会出错!三、进行仿真1.指定仿真器设置(1)执行“Assignments>Settings…”命令,打开Settings对话框。(2)在Category列表中选择Simulator,则显示Simulator页面。(3)若要进行功能仿真,则在Simulation栏中选择Functional;若要进行时序仿真,则在Simulation栏中选择Timing。(3)指定仿真文件(5)若希望用仿真结果覆盖仿真输入文件,则选中“Overwritesimulationinputsimulationresults”复选框。101第一百零一页,共162页。3.7设计的仿真验证仿真类型仿真文件用仿真结果覆盖仿真输入文件102第一百零二页,共162页。2.启动仿真器方法一:执行“Processing>StartSimulation”命令,开始仿真。方法二:执行“Tools>SimulatorTool”命令,打开“SimulatorTool”窗口,进行仿真设置、启动或停止仿真器;单击“Start”,开始仿真。仿真是在后台进行的,开始仿真后可切换到其他应用程序做其它工作!3.7设计的仿真验证若要采用不同的仿真方式,则需重新选择编译的“Processing”菜单,对项目重新进行编译!开始仿真停止仿真仿真输入文件103第一百零三页,共162页。3.7设计的仿真验证当一个工程中有多个子模块时(1)打开该子模块文件,执行“Project>SetasTop-LevelEntity”菜单命令,然后编译。(2)创建仿真文件:新建一个.vwf文件,则可将该子模块中的节点调入,编辑输入节点波形,存盘。(3)仿真:执行“Tools>SimulatorTool”命令,打开“SimulatorTool”窗口,指定仿真文件为刚创建的仿真文件,单击Start,开始仿真。如何对每个子模块进行仿真呢??104第一百零四页,共162页。3.保存仿真结果对仿真结果的保存执行“File>SaveCurrentReportSectionAs…”命令,可将仿真结果保存为.sim文件;也可以存为.vwf文件,则覆盖了原仿真文件。或者在仿真器设置时选中“Overwritesimulationinputsimulationresults”复选框,则将用仿真结果覆盖原仿真文件。3.7设计的仿真验证建议先不选中“Overwritesimulationinputsimulationresults”复选框,在确认仿真结果正确后,再用“File>SaveCurrentReportSectionAs…”命令,将其保存为.vwf文件!记得随时保存正确的仿真结果!105第一百零五页,共162页。四、仿真结果分析仿真结束时,若无错误,则显示“零错误零警告”消息框。3.7设计的仿真验证1.查看仿真报告(SimulationReport)(1)打开SimulationReport窗口执行“Processing>SimulationReport”命令或在“SimulatorTool”窗口单击Report按钮(2)查看仿真波形在仿真报告窗口中,默认打开的即是仿真结果波形;移动参考线,在Value域观察对应时刻各输出的逻辑状态值是否正确。106第一百零六页,共162页。2.使用仿真波形SimulationReport窗口中的波形为只读的,可进行如下操作:对节点排序;给波形添加注释;选择节点显示的基数(Radix);改变网格大小;与其它波形进行比较当对只读波形进行操作时,将弹出EditInputVectorFile对话框:3.7设计的仿真验证若认为仿真结果是正确的,则选择第一项,单击OK,则将用仿真结果覆盖原仿真文件,并进入波形编辑器;否则选择第二项,不覆盖原仿真文件,直接进入波形编辑器。107第一百零七页,共162页。3.8时序分析一、时序分析基本参数二、指定时序要求三、进行时序分析四、查看时序分析结果内容概要108第一百零八页,共162页。3.8时序分析一、时序分析基本参数时序分析器(TimingAnalyzer)用于分析设计的时域性能,并协助引导适配器满足设计中的时序要求。在进行全编译过程中,时序分析器自动执行,并在编译报告的TimingAnalyzer中给出时序分析结果。时序设置参数说明fMAX(最大时钟频率)在不违反内部建立时间和保持时间下可达到的最大时钟频率tSU(建立时间)在输入引脚(通常是时钟引脚)的时钟信号建立之前,触发器、锁存器或异步RAM的信号输入必须在输入引脚处出现的时间长度tH(保持时间)在输入引脚(通常是时钟引脚)的时钟信号建立之后,触发器、锁存器或异步RAM的信号输入必须在输入引脚处保持不变的时间长度tPD(引脚到引脚延迟)输入引脚处的信号经过组合逻辑的传输,出现在输出引脚上时所需的时间109第一百零九页,共162页。3.8时序分析建立时间,是指在寄存器的时钟上升沿到来以前,出现在寄存器输入端的数据保持稳定不变的时间。如果建立时间不够,数据将不能在这个时钟上升沿被打入寄存器。SetupTime保持时间,是指在寄存器的时钟上升沿到来以后,出现在寄存器输入端的数据稳定不变的时间。如果保持时间不够,数据同样不能被打入寄存器。HoldTime数据稳定传输必须满足建立时间和保持时间的要求!110第一百一十页,共162页。3.8时序分析二、指定时序要求若在设计中未指定时序要求,则时序分析器将使用默认设置执行时序分析过程。可以使用时序设置向导或Settings对话框进行时序设置:工程总频率或各个时钟信号;延时要求、最短延时要求和路径切割选项;报告内容;时序驱动编译选项。在AssignmentEditor中可指定个别时序分配指定个别实体、节点和引脚的时序要求,使其优先于工程时序范围要求。111第一百一十一页,共162页。3.8时序分析1.时序设置向导执行“Assignments>TimingWizard…”命令,启动时序设置向导。112第一百一十二页,共162页。3.8时序分析2.使用Settings对话框进行时序设置执行“Assignments>TimingSettings…”命令,弹出Settings对话框的TimingRequirements&Options页面。设置路径切割选项和报告内容113第一百一十三页,共162页。3.8时序分析3.在分配编辑器(AssignmentEditor)中指定个别时序分配执行“Assignments>AssignmentEditor”命令,弹出分配编辑器界面。在Category栏中选择Timing。在分配表格中选择To单元指定目标节点;双击From单元指定源节点;双击AssignmentName单元指定时序分配的名称;双击Value单元指定目标节点的时序分配值。执行“File>Save”命令,保存设置。114第一百一十四页,共162页。3.8时序分析三、进行时序分析通过全编译过程可以自动运行时序分析或者执行其它命令单独运行时序分析:方法一:执行“Processing>Start>StartTimingAnalyzer”命令,自动打开编译报告窗口,进行时序分析。方法二:执行“Processing>Start>StartTimingAnalyzer(FastTimingModel)”命令,自动打开编译报告窗口,进行快速时序模型分析。方法三:执行“Processing>ClassicTimingAnalyzerTool”命令,打开TimingAnalyzerTool窗口,从中可查看tpd、tsu、tco、th等信息。115第一百一十五页,共162页。3.8时序分析时序分析器工具窗口制约性能的源节点关键路径显示延迟路径最小时钟周期制约性能的目标节点最高工作频率开始时序分析116第一百一十六页,共162页。3.8时序分析再右击某条信息,可选择Locate菜单中的选项,以不同的方式定位延时路径的位置。当单击“ListPaths”按钮后,在Messages窗口显示出10条延迟路径;117第一百一十七页,共162页。3.8时序分析四、查看时序分析结果在TimingAnalyzerTool窗口,或在编译报告窗口的TimingAnalyzer文件夹中查看时序分析结果。可以在时序分析报告部分右键单击某个参数,从中选择ListPaths或Locate命令,查看延时路径信息。118第一百一十八页,共162页。3.9器件编程一、对Altera器件的编程方法二、QuartusⅡ的编程方法三、进行器件编程四、SOPC实验开发系统GW38-SOPC+简介内容概要119第一百一十九页,共162页。3.9器件编程一、对Altera器件的编程方法QuartusⅡ的编程器(Programmer)使用经编译生成的编程目标文件进行编程——将其下载到Altera器件中。MAX等E2PROM工艺器件(CPLD)的编程目标文件其后缀为.pof!SRAM工艺FPGA器件的编程目标文件其后缀为.sof!器件编程方法主要有3种:(1)用计算机及Altera专用编程电缆进行编程优点:编程方便、迅速,便于修改。缺点:必须有计算机及专用编程电缆,适于实验室内使用。适于产品研发阶段120第一百二十页,共162页。3.9器件编程图3-3Altera的ByteBlaster并口下载电缆计算机并口(25pin)器件编程接口(10pin)返回编程下载编程下载电缆121第一百二十一页,共162页。3.9器件编程(2)用Altera专用串行配置器件PROM(SPROM)进行编程对于APEX20K、ACEX1K、FLEX10K、Cyclone系列和Stratix系列等SRAM工艺器件(即FPGA),配置数据可存于串行配置器件SPROM中,加电时再加载到FPGA器件中;此种SPROM可用ByteBlaster、USB-Blaster或Ethernet-Blaster下载电缆进行配置,具有不同容量可供选择;也可用一片SPROM对多片FPGA器件进行配置。(3)用通用EPROM进行编程需一定的外围电路对配置数据流进行格式转换,使FPGA能够接受。优点:编程方便,EPROM可多次使用。缺点:需加一定的外围控制电路。这两种方法都适于实际系统!122第一百二十二页,共162页。3.9器件编程二、QuartusⅡ的编程方法QuartusⅡ的编程器(Programmer)使用经编译生成的编程目标文件(.pof文件或.sof文件)

进行编程。Altera公司编程器硬件包括:(1)MasterBlaster下载电缆(用于串口或USB口);(2)

ByteBlasterMV下载电缆(用于并口);(3)

ByteBlasterⅡ下载电缆(用于并口);(3)USB-Blaster下载电缆(用于USB口);(5)Ethernet-Blaster下载电缆(用于Ethernet网口);(6)Altera编程单元(APU)(用于CPLD编程)。对串行配置器件提供编程支持123第一百二十三页,共162页。3.9器件编程在QuartusⅡ编程器中可以建立一个链式描述文件(.cdf)——包含当前编程文件、设计中所用的器件名称和选项。QuartusⅡ编程器的3种编程模式:(1)被动串行模式(PassiveSerialmode)配置文件从FLASH或配置器件中通过data0引脚串行调入到FPGA中,配置器件是master,FPGA是slave。(2)JTAG模式(采用USB-Blaster、ByteBlasterMV电缆时)配置文件直接下载到FPGA中。(3)主动串行编程模式(ActiveSerialProgrammingmode)

与PS的区别在于配置器件是slave,FPGA是master。对单个EPCS1或EPCS3串行配置器件进行编程。(3)套接字内编程模式(In-SocketProgrammingmode)用于在Altera编程单元(APU)中对单个CPLD器件进行编程和测试。124第一百二十四页,共162页。3.9器件编程三、进行器件编程首先必须指定器件,进行引脚锁定,并通过了编译!MAX等E2PROM工艺器件的编程目标文件其后缀为.pof!SRAM工艺FPGA器件的编程目标文件其后缀为.sof!实验中使用的是杭州康芯公司的SOPC实验开发系统GW38-SOPC+(GW38系列),FPGA器件为EP1C12Q230C8(EPF10K10LC83-3)。将编程目标文件下载到目标器件中125第一百二十五页,共162页。3.9器件编程这里以Altera公司的NiosⅡ开发板(Stratix版)为例加以说明,FPGA器件为EP1S10F780C6。1.

硬件连接(1)(必要时)连接LCD模块连接LCD模块与插座J12(注意电缆方向不要插反,J12的左下角为Pin1);

(2)连接下载电缆将USB-Blaster下载线的10针插头与10pin插座J23(其右上角为Pin1)相连接,另一端经USB转接线后与PC机的USB口相接;(3)连接电源将9VDC电源的一端与电源插座J26相连接,另一端接标签为EUROPE的电源线后,将电源双相插头插入220V交流电源插座;接通电源。126第一百二十六页,共162页。3.9器件编程2.打开编程器窗口

执行“Tools>Programmer”命令或快捷按钮,则编程器窗口自动打开<工程文件名>.cdf文件,其中包括当前编程文件和所选器件等信息。编程硬件设置添加其它编程文件编程目标文件与其工程同名!并不是与顶层实体同名!编程器窗口127第一百二十七页,共162页。3.9器件编程执行“File>SaveAs”命令,保存<工程文件名>.cdf文件。也可以选中窗口中的当前编程文件和所选器件等信息,单击Delete按钮将其删除,然后单击AddFile…按钮,添加其它编程文件。128第一百二十八页,共162页。3.9器件编程

3.编程硬件设置(1)在编程器窗口的Mode列表中选择JTAG模式;(2)单击“HardwareSetup”按钮,弹出“HardwareSetup”对话框;若Availablehardwarei

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论