版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、124.1 4.1 数字系统设计流程数字系统设计流程4.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件4.3 4.3 QuartusQuartus简介简介4.4 4.4 设计实例设计实例4.5 4.5 设计输入设计输入4.6 4.6 设计的编译设计的编译4.7 4.7 设计的仿真验证设计的仿真验证4.8 4.8 时序分析时序分析4.9 4.9 器件编程器件编程4.10 4.10 仿真工具仿真工具ModelSimModelSim4.11 Quartus4.11 Quartus软件使用技巧软件使用技巧4.12 4.12 仿真中应注意的问题仿真中应注意的问题 第第4 4章章
2、 PLDPLD设计设计EDAEDA工具软件工具软件34.1 4.1 数字系统设计流程数字系统设计流程一、设计输入一、设计输入二、设计处理二、设计处理三、模拟仿真三、模拟仿真四、编程下载四、编程下载44.1 4.1 数字系统设计流程数字系统设计流程图图4-1 4-1 数字系统设计流程数字系统设计流程12345自上而下的方式自上而下的方式如果仿真结果与预期要求不符,应修改设计,再重新仿真!54.1 4.1 数字系统设计流程数字系统设计流程图图4-2 4-2 用用PLDPLD实现数字系统的设计流程实现数字系统的设计流程设计输入设计输入 图形 HDL文本 网表输入设计处理设计处理 综合 优化 器件适配
3、 布局、布线功能仿真功能仿真(前仿真)(前仿真)时序仿真时序仿真(后仿真)(后仿真)在线测试在线测试下载编程下载编程模拟仿真模拟仿真123464.1 4.1 数字系统设计流程数字系统设计流程(1 1)图形输入()图形输入(Graphic Design EntryGraphic Design Entry)图形化、最直接的输入方式采用自顶向下逻辑分块的方法优点优点: 适合描述连接关系和接口关系; 便于进行接口设计和引脚锁定; 容易实现仿真,便于观察信号; 执行效率高、运行速度快。缺点缺点: 输入效率较低; 不便于描述复杂逻辑功能。1. 1. 设计输入设计输入将设计者所设计的电路以开发软件要求将设计
4、者所设计的电路以开发软件要求的某种形式表达出来,并输入到软件中。的某种形式表达出来,并输入到软件中。74.1 4.1 数字系统设计流程数字系统设计流程(2 2)HDLHDL文本输入文本输入优点优点: 适于描述复杂逻辑功能; 便于设计的保存、移植和复用; 结果易仿真,便于观察; 适于规范、易于语言描述、易于综合、速率较低的电路。缺点缺点: 依赖于好的综合器; 描述连接关系和接口关系不直观。84.1 4.1 数字系统设计流程数字系统设计流程(3 3)标准)标准EDAEDA设计输入(设计输入( Standard EDA Design EntryStandard EDA Design Entry)可直
5、接移植其它EDA工具设计的电路,无须重新输入可接受的网表有EDIF、VHDL、Verilog HDL格式网表输入时,两个系统中采用的库必须一一对应但仿真时信号不易于观测PLDPLD器件的设计往往采用器件的设计往往采用层次化层次化的设计方法:的设计方法: 将系统划分为几个功能模块; 描述系统总功能的模块放置在最上层,称为顶层设计,一般用图形文件表示各子模块间的连接关系和芯片内部逻辑与管脚的接口关系; 描述系统最基本功能的模块放置在最下层,称为底层设计,一般用HDL语言描述各子模块的逻辑功能。 网表输入网表输入94.1 4.1 数字系统设计流程数字系统设计流程(1 1)综合和优化)综合和优化综合综
6、合:将模块化设计产生的多个文件合并为一个网表文件,并使设计层次平面化,即将逻辑描述转换成一些基本模块(如触发器、逻辑门等) 。优化优化:进行逻辑化简,去除冗余项,尽量减少器件资源的耗用。(2 2)器件适配(映射)器件适配(映射)将设计分为多个适合具体器件内部逻辑资源实现的逻辑小块的形式。(3 3)布局和布线)布局和布线布局布局:将已分割的逻辑小块放到器件内部逻辑资源的具体位置,使易于连线,且连线最少;布线布线:利用器件的布线资源完成各功能块之间和反馈信号之间的连接。(4 4)生成编程文件)生成编程文件生成供器件编程使用的数据文件编程目标文件。2. 2. 设计处理设计处理从设计输入文件到熔丝图文
7、件(从设计输入文件到熔丝图文件(CPLDCPLD)或位流文件(或位流文件(FPGAFPGA)的编译过程。)的编译过程。104.1 4.1 数字系统设计流程数字系统设计流程(1 1)功能仿真(前仿真)功能仿真(前仿真) 在设计输入阶段进行,不考虑信号时延的仿真主要验证功能是否正确。(2 2)时序仿真(后仿真)时序仿真(后仿真) 在选择了具体器件、并完成了布局布线后进行的含有定时关系的仿真主要验证功能和时序是否正确。(3 3)在线测试)在线测试 当器件编程后,利用实验手段在线测试器件的功能和性能指标。3. 3. 模拟仿真模拟仿真用户可在设计过程的每个阶段对每个模用户可在设计过程的每个阶段对每个模块
8、或整个系统进行模拟仿真。块或整个系统进行模拟仿真。114.1 4.1 数字系统设计流程数字系统设计流程两种编程方式:两种编程方式:在系统编程(在系统编程(ISPISP,In-System ProgrammableIn-System Programmable):PLD不必从电路板上取下来,通过下载电缆利用计不必从电路板上取下来,通过下载电缆利用计算机直接对器件进行编程,使器件、电路板或整个算机直接对器件进行编程,使器件、电路板或整个电子系统的逻辑功能可随时进行修改或重构。电路电子系统的逻辑功能可随时进行修改或重构。电路板上必须预留编程接口(如板上必须预留编程接口(如JTAG接口)。接口)。专用的
9、编程器编程专用的编程器编程:PLD必须从电路板上取下来,必须从电路板上取下来,插入编程器上的器件插座中,对器件进行编程。插入编程器上的器件插座中,对器件进行编程。 4.4.编程下载编程下载将设计阶段生成的编程目标文件将设计阶段生成的编程目标文件装入到装入到PLDPLD器件中。器件中。ISP124.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软工具软件件一、一、Synopsys的的SOC设计工具设计工具二、二、Synplify三、三、ispDesignEXPERT四、四、Quartus五、仿真工具五、仿真工具ModelSim 134.2 4.2 常用的常用的PLDPLD设计设计E
10、DAEDA工具软件工具软件1. 1. 由芯片制造商提供由芯片制造商提供提供了一个CPLD/FPGA 的完全集成化设计环境只支持本只支持本公司的公司的PLDPLDPLDPLD设计设计EDAEDA工具软件的工具软件的分类分类EDA ToolProviderDescriptionMAX+PLUSAltera早期PLD开发工具,易于学习和使用 Quartus Altera第4代EDA工具,功能强大,并适于 SOPC 开发FoundationXilinxXilinx的早期 PLD 开发工具ISEXilinxXilinx的最新 PLD开发工具ispDesignEXPERT,ispLEVERLattice2
11、002年推出ispLEVER可以使用几种不同的可以使用几种不同的 EDAEDA工具完成整个设计工具完成整个设计! !即不同即不同的阶段选用不同的工具的阶段选用不同的工具 144.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件2. 2. 由专业由专业EDAEDA软件商提供软件商提供第三方设计软件第三方设计软件支持多家公司的PLDEDA ToolProviderDescriptionFPGA AdvantageMentor Graphics包括 HDL Designer Series (可视化的设计输入工具), ModelSim(仿真工具),Precision RTL S
12、ynthesis (最新的逻辑综合器)。SynplifySynplicity优秀的逻辑综合工具LeonardoSpectrumMentor GraphicsMentor早期的逻辑综合工具FPGA Compiler IISynopsys新的逻辑综合工具ModelSimMentor Graphics高效、功能强大的仿真工具Active HDLAldec仿真工具,简单易用NC-Verilog/ NC-VHDL/NC-SIMCadence优秀的仿真工具154.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件一、一、Synopsys的的SOCSOC设计工具设计工具由美国由美国Sy
13、nopsys (新思)公司开发的第三方设计软件(新思)公司开发的第三方设计软件最著名的是其最著名的是其编译器编译器(综合器)(综合器)FPGA Compiler 优化工具,优化工具,处于领先地位处于领先地位优化程度高(面积最省、速度最快 )支持的HDL语言子集较完整优化次序:设计规则时间约束面积约束能将Verilog HDL和VHDL源代码翻译为通用原理图,再进行优化设计元件库设计元件库DesignWare提供许多提供许多SOC设计必需的设计必需的IP核核模块模块算术逻辑单元库(ALU库)基本时序电路单元库复杂的数学运算单元库容错单元库控制逻辑单元库由于由于SynopsysSynopsys的综
14、合工具功能强的综合工具功能强,所以许多,所以许多EDAEDA工具都支持工具都支持SynopsysSynopsys,接受,接受SynopsysSynopsys生成的生成的设计文件。设计文件。164.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件二、二、Synplify由美国由美国Synplicity公司开发的公司开发的FPGA/CPLD逻辑综合逻辑综合工具工具第三方设计软件,综合优化性能优异,应用广泛第三方设计软件,综合优化性能优异,应用广泛特色特色:符号化的FSM编译器(Symbolic Finite State-Machine Compile)综合优化过程:(1)语
15、言综合 将高层的HDL语言描述转换为结构单元(如逻辑门、触发器)(2)优化 采用优化算法简化设计,去除冗余项,提高系统运行速度(3)工艺映射 把设计分为多个适应具体PLD器件内部逻辑资源实现的逻辑小块支持众多厂商的PLD(如Actel、Altera、Lattice、Xilinx)174.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件 支持的支持的HDL语言语言Verilog HDL95的优化子集VHDL93的优化子集 Synplify综合后生成的文件综合后生成的文件标准的门级结构网表文件.edf文件(用作QuartusII的输入);用于综合后门级仿真的.vm文件(用作
16、ModelSim的输入) 184.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件三、三、 ispDesignEXPERT 由美国由美国Lattice公司开发公司开发的新一代的新一代EDAEDA软件软件 ,只支持本公司只支持本公司的的PLDPLD一套完整的一套完整的EDA工具,支持数字系统设计的全过程工具,支持数字系统设计的全过程特点特点:支持Lattice公司的所有芯片系列集成化的开发环境支持多种输入方式:原理图输入、HDL文本输入(ABEL HDL,VHDL,Verilog HDL)、混合设计输入编译器具有结构综合、逻辑优化、映射等功能具有功能仿真和时序仿真功能可与
17、许多第三方EDA软件实现无缝连接(Synplify,Data I/O)194.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件四、四、 Quartus 美国美国Altera公司公司自行设计的第四代自行设计的第四代PLD开发软件开发软件 目前版本:目前版本:5.11. 1. 完全集成化的设计工具完全集成化的设计工具将设计输入、逻辑综合、布局与布线、仿真、时序分析、器件编程集成在同一开发环境下;可加快动态调试,缩短开发周期。2. 2. 与器件结构无关与器件结构无关其核心Compiler支持Altera所有PLD器件: Stratix II, Cyclone II, Stra
18、tix GX, MAX II, Stratix HardCopy, Stratix, Cyclone, APEX II, APEX 20K/E/C, Excalibur, & Mercury Devices FLEX 10K/A/E, ACEX 1K, FLEX 6000, MAX 7000S/AE/B, MAX 3000A Devices204.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件3. LogicLock3. LogicLock优化工具优化工具LogicLockLogicLock设计方法设计方法:首先在支持LogicLock 特性的器件中建立Log
19、icLock 区域;再将设计逻辑指定到该区域中。然后进行逻辑优化,并通过反向标注锁定逻辑布局和布线结果。则当该区域与设计的其它部分合到一起时,该区域的性能保持不变。优点优点:被逻辑锁定的模块被集成到顶层工程时仍可保持该模块的性能。模块只需进行一次优化,设计者可以在其它设计中重用优化好的设计模块,从而可显著缩短设计和验证的周期。如果设计中的每个子模块都由唯一的网表文件描述,则当编译整个设计时,只有设计中被更新的部分需要重新综合。设计者可以改变、优化和重新综合某个子模块而不影响其它部分。支持支持LogicLockLogicLock 特性的器件特性的器件Stratix、 Stratix 、 Stra
20、tix GX、MAX 、Cyclone、 Cyclone ;APEX、APEX ;Excalibur;Mercury。214.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件4. 4. 内嵌内嵌MegaWizardMegaWizard 和和 SOPC BuilderSOPC Builder工具支持系统级设计工具支持系统级设计MegaWizard可对Quartus 中的参数化模块库LPM或IP宏功能进行参数设置和初始化操作,从而节省设计输入时间,优化设计性能;SOPC Builder可自动完成SOPC的IP核添加、参数设置和连接等操作,系统集成简单、快捷。5. 5. 集成
21、了多个第集成了多个第3 3方方 EDAEDA工具工具通过NativeLink技术实现与Mentor Graphics、Synopsys和Synplicity等公司的EDA工具的无缝连接,可直接在Quartus 中自动调用这些工具。224.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件6. 6. 可采用各种可采用各种HDLHDL语言进行设计输入语言进行设计输入支持VHDL 1987和1993 标准,Verilog HDL 1995标准和部分Verilog HDL 2001标准完全支持AHDL7. 7. 支持基于支持基于HardCopyHardCopy的的ASICASIC
22、允许设计人员使用和FPGA完全相同的设计工具、IP核和验证方式支持HardCopy Stratix器件系列,来进行结构化的ASIC设计。可以方便地将在FPGA中的设计无缝移植到引脚兼容的HardCopy器件(结构化ASIC)中。 8. 8. 使用全新的命令行和脚本功能自动化设计流程使用全新的命令行和脚本功能自动化设计流程设计人员可使用命令行或Quartus 中的图形用户界面独立运行软件中的综合、布局布线、时序分析以及编程等模块;提供工具命令语言(Tcl)界面,允许用户使用Tcl创建和定制设计流程和需求。234.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件五、仿真工具
23、五、仿真工具ModelSimModelSim 美国美国Mentor Graphics公司的子公司公司的子公司Model Technology开开发的仿真工具发的仿真工具 目前版本:目前版本:6.11. 1. 业界使用最广泛的业界使用最广泛的HDLHDL语言仿真器之一语言仿真器之一能够进行VHDL仿真和Verilog仿真,以及这两种语言的混合仿真OEM版不支持两种语言的混合仿真244.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件2. ModelSim2. ModelSim的产品线的产品线ModelSim/OEM 集成在Xilinx公司、Altera公司的EDA软件中,
24、只提供主要功能ModelSim/PE ModelSim/VHDL或ModelSim/VerilogModelSim/LNL 可以仿真VHDL或Verilog ,但不能进行两种语言的混合仿真ModelSim/PLUS 可以进行两种语言的混合仿真ModelSim/SE 最高级版本,具有强大的调试能力,属FPGA Advantage套装软件中的一种。 具有PLUS版的全部功能,另有一些附加特性254.2 4.2 常用的常用的PLDPLD设计设计EDAEDA工具软件工具软件3. 3. 不具备的特性不具备的特性不能指定编译的器件不能指定编译的器件不具有编程下载能力不具有编程下载能力在时序仿真时无法编辑输
25、入波形,需要编写测试台在时序仿真时无法编辑输入波形,需要编写测试台(Testbench)程序完成初始化、模块输入,或者通)程序完成初始化、模块输入,或者通过外部宏文件提供激励过外部宏文件提供激励4 4ModelSimModelSim SE SE的主要功能的主要功能支持支持VHDL、Verilog HDL或混合或混合HDL语言设计语言设计提供一整套的调试特性:代码覆盖、波形比较、可提供一整套的调试特性:代码覆盖、波形比较、可视追踪引擎视追踪引擎ChaseX以及以及C调试器调试器264.3 Quartus4.3 Quartus简介简介一、一、QuartusQuartus的设计流程的设计流程二二、Q
26、uartusQuartus的图形用户界面的图形用户界面三、三、QuartusQuartus的图形用户界面功能的图形用户界面功能274.3 Quartus4.3 Quartus简介简介一、一、 Quartus 的设计流程的设计流程(1)(2)(4)(5)(3)设计要求设计要求设计输入设计输入功能仿真功能仿真综合综合布局布线布局布线时序分析时序分析时序仿真时序仿真编程、配置编程、配置设计修改设计修改(6)(7)可以使用可以使用QuartusQuartus图形图形用户界面、用户界面、EDAEDA工具界面工具界面或命令行界面或命令行界面 ! !全编译全编译284.3 Quartus4.3 Quartu
27、s简介简介294.3 Quartus4.3 Quartus简介简介(3 3) SynthesisSynthesis - Translate Design into Device Specific Primitives - Optimize Design to Meet Required Area & Performance ConstraintsDesign Specification(4 4) Place & RoutePlace & Route - Map Primitives to Specific Locations Inside Target Technolo
28、gy with Reference to Area & Performance Constraints - Specify Routing Resources to Be Used(1 1) Design Entry/RTL CodingDesign Entry/RTL Coding - Behavioral or Structural Description of Design(2 2) Function SimulationFunction Simulation - Verify Logic Model & Data Flow (No Timing Delays) LEM5
29、12M4KI/O304.3 Quartus4.3 Quartus简介简介(5 5) Timing AnalysisTiming Analysis - Verify if Design Meets Timing Performance Specifications(6 6) Timing SimulationTiming Simulation - Verify if the logic function and timing performance are correct (With Timing Delays) (7 7) PCB Simulation & TestPCB Simula
30、tion & Test - Simulate Board Design - Program & Test Device on Board tclkv 几乎所有这些步骤可由几乎所有这些步骤可由 EDA EDA 工具自动完成工具自动完成! ! v 设计人员只需简单地以适当的设计输入方式设计人员只需简单地以适当的设计输入方式来描述其设计来描述其设计. .314.3 Quartus4.3 Quartus简介简介二、二、Quartus的图形用户界面的图形用户界面2 Status窗口窗口3 主工作区域主工作区域4 Change Manager窗口窗口1 Project Navigator窗
31、口窗口5 Messages窗口窗口6 Tcl console窗口窗口324.3 Quartus4.3 Quartus简介简介三、三、 Quartus的图形用户界面功能的图形用户界面功能1 Design Entry(设计输入)(设计输入)Text Editor Block & Symbol EditorMegaWizard Plug-In ManagerAssignment EditorFloorplan Editor2 Synthesis(综合)(综合)Analysis & SynthesisVHDL, Verilog HDL & AHDL Design Assista
32、nt RTL ViewerTechnology Map Viewer Incremental Synthesis3 Place & Route(布局布线)(布局布线)FitterAssignment EditorFloorplan EditorChip EditorReport WindowResource Optimization Advisor Design Space Explorer4 Timing Analysis(时序分析)(时序分析)Timing AnalyzerReport WindowTechnology Map Viewer5 Simulation(仿真)(仿真)S
33、imulatorWaveform Editor334.3 Quartus4.3 Quartus简介简介10 EDA Interface(EDA界面)界面)EDA Netlist Writer11 Power Analysis(功耗分析)(功耗分析)PowerPlay Analyzer ToolPowerPlay Early Power Estimator12 Timing Closure(时序逼近)(时序逼近)Floorplan EditorLogicLock WindowTiming Optimization AdvisorDesign Space Explorer6 Programming
34、(编程)(编程)AssemblerProgrammerConvert Programming Files7 System-Level Design(系统级设计)(系统级设计)SOPC BuilderDSP Builder8 Software Development(软件开发)(软件开发)Software Builder9 Block-Based Design(基于块的设(基于块的设计)计)LogicLock WindowFloorplan EditorVQM Writer344.3 Quartus4.3 Quartus简介简介13 Debugging(调试)(调试) SignalTap II
35、SignalProbe In-System Memory Content Editor RTL Viewer Technology Map Viewer Chip Editor14 Engineering Change Management(工程变动管理)(工程变动管理) Chip Editor Resource Property Editor Change Manage354.3 Quartus4.3 Quartus简介简介 按F1键,可打开帮助窗口,即时访问对话框上的信息、高亮度的菜单命令或弹出式信息; 或按Shift + F1键,鼠标变为一个问号,在图元、宏单元符号等屏幕显示的任何项目上
36、单击鼠标左键,可获得该项目的帮助; 或单击工具栏上的帮助按钮 ,鼠标也会变为一个问号,然后单击想要获得帮助的项目。如何获取在如何获取在线帮助呢线帮助呢??364.4 4.4 设计实例设计实例设计一个数字系统:(设计一个数字系统:(1 1)使其能按)使其能按1 1HzHz的频率从的频率从0 0开始开始加加1 1计数,当计到计数,当计到9999时,再来一个时钟信号则产生一个时,再来一个时钟信号则产生一个进位进位信号,并清零,然后又从信号,并清零,然后又从0 0开始加开始加1 1计数。(计数。(2 2)该)该系统还有一个系统还有一个清零清零信号,当其为信号,当其为1 1时,计数值被清零。时,计数值被
37、清零。(3 3)两位计数结果用两位)两位计数结果用两位7 7段显示器段显示器显示,进位信号显示,进位信号用一个用一个LEDLED显示。(显示。(4 4)假设实验板的系统时钟为)假设实验板的系统时钟为5050MHzMHz, FPGAFPGA器件为器件为EP1S10F780C6EP1S10F780C6。374.4 4.4 设计实例设计实例 设计思路设计思路自顶向下的设计方法:自顶向下的设计方法:需要一个分频器,将50MHz分频为1Hz;需要一个两位BCD计数器,按01 2 99 0 1 2 循环计数;需要一个译码器,将BCD计数器的输出译码为7段显示器的7段输入。 功能框图功能框图highclk_
38、50MHzclk_1Hz分频器分频器两位两位BCD计数器计数器译码器译码器译码器译码器lowhigh_seglow_segcnclr384.4 4.4 设计实例设计实例 设计方法:设计方法:1 1. 首先在资源管理器下创建一个工作目录。2 2. 在Quatus II中创建一个工程,工程名最好与顶层图形文件同名。3 3. 子模块设计:每个模块可以用HDL语言描述(模块名最好与程序文件名同名!),对每个模块进行编译、仿真,通过后然后生成模块符号。4 4.顶层设计:创建一个顶层图形文件,将各模块符号放到图中,添加输入、输出引脚,连线;编译,仿真。5 5. 给输入、输出引脚分配引脚号码,编程下载。千万
39、记住千万记住哦!哦!394.4 4.4 设计实例设计实例 第第1 1步步:在资源管理器下:在资源管理器下创建一个工作目录创建一个工作目录counter_7seg。 第第2 2步步:启动:启动Quatus II,执行菜单命令,执行菜单命令“ File New Project Wizard”,创建一个工程,工程名为,创建一个工程,工程名为counter_7seg。 第第3 3步步:设计子模块:设计子模块(1 1)执行菜单命令“ File New”,新建一个文本文件f50MHz_to_1Hz .v,采用Verilog HDL语言描述;(2 2)存盘;(3 3)编译:)编译:执行 “Processin
40、g Start Start Analysis &Synthesis”命令,或单击工具条上的分析与综合快捷按钮 ,进行分析与综合。(4 4)产生功能仿真用网表文件:执行 “Processing Generate Functional Simulation Netlist”命令参见参见4.5 的的一、一、创建工程创建工程模块名最好与程序文件名同名!注意:注意:对于子模块,进行分析与综合对于子模块,进行分析与综合即可,不必进行全编译即可,不必进行全编译太慢!太慢!404.4 4.4 设计实例设计实例 模块模块1 1 50MHz 50MHz到到1Hz1Hz的分频电路的分频电路 (采用(采用Ve
41、rilog Verilog HDLHDL语言描述)语言描述)module f50MHz_to_1Hz(clk_1KHz,clk_1Hz,clkin); output clk_1KHz,clk_1Hz; / 输出端口声明输出端口声明 input clkin; / 输入端口声明输入端口声明 reg15:0 count1; reg9:0 count2; reg clk_1KHz,clk_1Hz; parameter count_width=50000; (2) I/O说明说明(1) 端口定义端口定义模块名(同文件名)注意:注意:模块名可以由字母、数字、下划线和模块名可以由字母、数字、下划线和$ $符
42、符号组成,但第一个字符不能是数字或号组成,但第一个字符不能是数字或$ $符号!符号!414.4 4.4 设计实例设计实例 续前页续前页 always (posedge clkin) /(1)50MHz到到1KHz的分频的分频 begin if(count115:0=count_width-1) count115:0=0; else count115:0=count115:0+1; clk_1KHz=count115; / 计数器最高位作为时钟信号输出计数器最高位作为时钟信号输出 end always (posedge clk_1KHz) /(2)1KHz到到1Hz的分频的分频 begin if
43、(count2 = 1000-1) count2 = 0; else count2 = count2+1; clk_1Hz=count29; endendmodule(3) 功能描述功能描述424.4 4.4 设计实例设计实例 模块模块2 2 两位两位BCDBCD计数器(加计数器(加1 1) module bcd_counter(high,low,cn,clr,clk); output3:0 high,low; / high:高:高4位输出,位输出,low:低:低4位输出位输出 output cn; / 高高4位的进位位的进位 input clr,clk; reg3:0 high,low; r
44、eg cn; always (posedge clk or posedge clr) begin if (clr) / 异步清零异步清零 begin cn=0; / 进位信号也必须清零!进位信号也必须清零! high3:0=0; low3:0=0; end else / 计数,采用计数,采用2个个if语句的嵌套语句的嵌套 434.4 4.4 设计实例设计实例 begin if(low3:0=9) / 低低4位是否为位是否为9? begin low3:0=0; if(high3:0=9) / 高高4位是否为位是否为9? begin high3:0=0; cn=1; end else high3:
45、0=high3:0+1; end else begin low3:0=low3:0+1;cn=0; end end end endmodule 续前页续前页444.4 4.4 设计实例设计实例第第3 3步步:(5 5)功能仿真)功能仿真 执行 “File New”命令,新建一个仿真波形文件.vwf(如bcd_counter.vwf); 在Edit菜单中设置End Time(这里为100s) 、 Grid Size(如1s),编辑输入波形(如这里给时钟信号clk设置时钟周期为1s); 执行“Tools Simulation Tool”命令,打开仿真器工具窗口,进行功能仿真。参见参见4.7 设计的
46、设计的仿真验证仿真验证454.4 4.4 设计实例设计实例建议:建议:初学初学QuartusQuartus II II时,不要直接执行时,不要直接执行“Processing Start Processing Start Simulation”Simulation”命令,或直接单击工具条上的仿真快捷命令,或直接单击工具条上的仿真快捷按钮(因为这样是对已打开且上次刚刚仿真过的文件按钮(因为这样是对已打开且上次刚刚仿真过的文件进行仿真)进行仿真) !而应执行而应执行“Tools Simulation ToolTools Simulation Tool”命令,打开仿命令,打开仿真器工具窗口,在其中设置
47、仿真类型为真器工具窗口,在其中设置仿真类型为TimingTiming或或FunctionalFunctional,并确认,并确认“Simulation input”Simulation input”栏中显示的栏中显示的是当前需要仿真的波形文件,再单击是当前需要仿真的波形文件,再单击“Start”Start”,开始,开始仿真。仿真。 464.4 4.4 设计实例设计实例bcd_counter.vwfbcd_counter.vwf(5 5)仿真通过后,)仿真通过后,执行“Create/Update Create Symbol Files for Current File”菜单命令,创建模块符号。
48、注意:注意:执行执行“ViewFit in WindowViewFit in Window”命令,可命令,可以使波形缩小到窗口大小,以便于观察整个波形以使波形缩小到窗口大小,以便于观察整个波形!474.4 4.4 设计实例设计实例 模块模块3 3 7 7段段LEDLED显示器显示器( (共阳极)译码器。共阳极)译码器。 module decoder_7seg (segment,data); output6:0 segment; / segment6:0对应对应a,b,c,d,e,f,g input3:0 data; reg 6:0 segment; always (data) begin ca
49、se (data) 4d0:segment = 7b0000001; 4d1:segment = 7b1001111; 4d2:segment = 7b0010010; 4d3:segment = 7b0000110; 484.4 4.4 设计实例设计实例 4d4:segment = 7b1001100; 4d5:segment = 7b0100100; 4d6:segment = 7b0100000; 4d7:segment = 7b0001111; 4d8:segment = 7b0000000; 4d9:segment = 7b0000100; default:segment = 7b1
50、111111; /当输入不是当输入不是09时,数码管不亮时,数码管不亮 endcase endendmodule494.4 4.4 设计实例设计实例 第第4 4步步:设计:设计顶层图形文件顶层图形文件(1 1)创建一个顶层图形文件counter_7seg.bdf ,将各模块符号放到图中,添加输入、输出引脚,连线;counter_7seg.bdf参见参见4.5 五、创建顶五、创建顶层图形设计文件层图形设计文件504.4 4.4 设计实例设计实例(2 2)将该图形文件设置为顶层实体)将该图形文件设置为顶层实体:执行“Project Set as Top-Level Entity”命令,或在Proj
51、ect Navigator中右击该文件名,选择“Set as Top-Level Entity”;(3 3)进行编译器选项设置)进行编译器选项设置:执行“Assignments Settings”命令在Settings对话框的Category栏中选择“Device”,在Device页面中指定目标器件指定目标器件(一定要与实际器件型号完全一致!) ;参见参见4.6 设设计的编译计的编译千万别忘千万别忘了!了!514.4 4.4 设计实例设计实例 将未使用引脚指定为输入:将未使用引脚指定为输入:然后在Device页面中单击 “Device & Pin Options”按钮,打开“Devic
52、e & Pin Options” 对话框;524.4 4.4 设计实例设计实例选择 “Unused Pins”标签,在“Reserve all unused pins”域中选择“As inputs,tri-stated”单选钮。不要选其它项!不要选其它项!千万不要将千万不要将未使用引脚未使用引脚指定为输出,指定为输出,否则无法成否则无法成功下载设计!功下载设计!534.4 4.4 设计实例设计实例 进行编译过程设置编译过程设置等(在Settings对话框的Category栏中选择“Compilation Process” ,选中“Use Smart Compilation”复选框增量编
53、译增量编译)。(4 4)全编译)全编译:执行 “Processing Start Compilation”命令,或单击工具条上的全编译快捷按钮;(5 5)仿真)仿真(如果必要的话)。v如果系统分频级数太多,而各子模块如果系统分频级数太多,而各子模块已通过仿真的话,则不必对顶层设计文已通过仿真的话,则不必对顶层设计文件进行仿真,否则仿真时间太长!件进行仿真,否则仿真时间太长!参见参见4.6 设设计的编译计的编译544.4 4.4 设计实例设计实例 第第5 5步步:给输入、输出引脚分配引脚号码,编程下载:给输入、输出引脚分配引脚号码,编程下载(1 1)对顶层图形文件counter_7seg.bdf
54、 进行引脚锁定引脚锁定;执行“ Assignnments Assignment Editor”菜单命令参见参见4.6的的 四、引脚锁定四、引脚锁定信号名信号名引脚号引脚号554.4 4.4 设计实例设计实例引脚锁定后引脚锁定后counter_7seg.bdf564.4 4.4 设计实例设计实例(2 2)全编译)全编译;(3 3)编程下载;)编程下载; 连接开发板,执行“Tools Programmer”命令,或单击编程快捷按钮,在编程器窗口中 选中“Program/Configure”复选框;单击Start按钮,开始编程下载。若完成编程,则在Message窗口中显示“Configuration
55、 succeeded”。(4 4)验证设计。)验证设计。 利用实验板上的按钮SW0产生清零信号,观察数码管和LED的显示,看是否与预定的功能相符。参见参见4.9 器器件编程件编程为什么明明显示编程成功,为什么明明显示编程成功,但实验板上的但实验板上的Safe灯一直灯一直亮着,实际运行的仍是板亮着,实际运行的仍是板子自带的参考设计呢子自带的参考设计呢??独立完成此设计实例的全过程独立完成此设计实例的全过程574.5 4.5 设计输入设计输入一、创建工程一、创建工程二、图形设计输入方法二、图形设计输入方法三、文本输入方法三、文本输入方法四、建立存储器编辑文件四、建立存储器编辑文件五、创建顶层图形设
56、计文件五、创建顶层图形设计文件584.5 4.5 设计输入设计输入 Quartus IIText Editor文本输入 AHDL, VHDL, Verilog HDLMemory Editor存储器输入 HEX, MIFSchematic Design Entry图形设计输入 3rd-Party EDA Tools第第3 3方方EDAEDA工具工具EDIFHDLVQM(Verilog Quartus Mapping) Mixing & Matching Design Files AllowedEDAEDA设计输入方法设计输入方法594.5 4.5 设计输入设计输入设计输入文件设计输入文
57、件Quartus IIMemory EditorQuartus IIText EditorQuartus IIBlock EditorTop-Level File.bdf.gdfTop-level design files can be .bdf, .tdf, .vhd, .vhdl, .v, .vlg, .edif or .edf.bsf.vhdBlockFileSymbolFileTextFileTextFile.vTextFileImported from third-party EDA toolsMentor Graphics,Synopsys,Synplicity,etc.Gener
58、ated within Quartus IIVHDLSchematicSchematic.tdfTextFileAHDLVerilog.edf.edifTextFile.v, .vlg, .vhd, .vhdl, vqmMegaWizardManager604.5 4.5 设计输入设计输入一、一、 创建工程创建工程1. 1. 打开创建工程向导打开创建工程向导执行菜单命令执行菜单命令“ File New Project Wizard”,打开打开Introduction对话对话框。单击框。单击“Next”。2. 2. 选择所建立工程的工选择所建立工程的工作目录,输入工程名作目录,输入工程名称、顶层
59、实体名称、顶层实体名 工程名称工程名称可以是任何可以是任何名字,建议使用和顶名字,建议使用和顶层实体名相同的名字层实体名相同的名字。顶层实体名称顶层实体名称必须和必须和顶层文件名字相同!顶层文件名字相同!单击单击“Next”。工作目录和工程名工作目录和工程名不能有空格和汉字!不能有空格和汉字!最好每个工最好每个工程都有自己程都有自己的工作目录!的工作目录!614.5 4.5 设计输入设计输入3. 3. 加入设计文件加入设计文件(必要时)(必要时)(1)单击Add按钮,从其他工作目录中选择所需要的现成的源文件(只是指只是指向该文件位置)向该文件位置) ;(2)单击“User Library Pa
60、rameters”按钮,可以加入用户自己定义的库函数:选择其路径和文件名,单击“Add”加入。(3)单击“Next”。 v第第3 3步也可以略过,以后再创建设计文件,或者以步也可以略过,以后再创建设计文件,或者以后再用后再用“ProjectAdd/Remove Files in Project”命令将命令将其他工作目录中的文件添加到本工程中。其他工作目录中的文件添加到本工程中。624.5 4.5 设计输入设计输入4. 4. 指定第三方对代码进指定第三方对代码进行综合和仿真的工具行综合和仿真的工具(需要时)(需要时)在安装Quartus II软件时,缺省的情况下安装了综合和仿真工具,也可以选择Quartus II软件支持的其它综合或仿真工具。在弹出的对话框中,选择适当的工具,或者什么也不选,单击“Next”。 634
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 颅内动脉瘤护理科普
- 线上人力资源管理系统项目交付协议
- 线上考证培训学员心理辅导协议
- 2026年广西贺州市九年级初中学业水平考试适应性检测生物学试题(含答案)
- 青岛理工大学机械工程材料期末考试复习题
- 项目一 职业生涯认知
- 安全生产督导指令讲解
- 肾炎护理查房(含用药护理)
- 公路边坡桩基钢筋笼转运防滑措施
- 6S管理知识考试试题(含答案)
- 2026年重庆市高考物理试卷(含答案)
- 教科版五年级科学上册全册知识点
- 2026秋小学科学教科版三年级上册(新教材)教学计划附进度表
- 2026江苏南京市栖霞区人民政府迈皋桥街道办事处公开招聘编外聘用人员19人笔试题库及参考答案详解【典型题】
- 2026秋西师大版小学数学五年级上册教学计划
- 2026年宿管老师岗位职责试题及答案
- 2025年领导干部选拔面试真题及答案解析
- 江西财经大学2026年第一批劳务派遣岗位招聘【13人】笔试备考题库及答案详解
- 压疮伤口的感染控制
- 2026年贵州大数据产业集团有限公司第一次招聘155人考试试题及答案解析
- 手术室健康宣教指南
评论
0/150
提交评论