ImageVerifierCode 换一换
格式:DOCX , 页数:24 ,大小:703.11KB ,
资源ID:6649291      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6649291.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(PLD开发软件QuartusII 8.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

PLD开发软件QuartusII 8.docx

1、PLD开发软件QuartusII 8附录B PLD开发软件QuartusII 8.0简介B.1 概述Altera公司的Quartus设计软件提供完整的多平台设计环境,能够全方位满足各种设计需要,除逻辑设计外,还为可编程单片系统(SOPC) 提供全面的设计环境。Quartus软件提供了FPGA 和CPLD 各设计阶段的解决方案。它集设计输入、综合、仿真、编程(配置)于一体,带有丰富的设计库,并有详细的联机帮助功能,且许多操作(如元件复制、删除和文件操作等)与Windows的操作方法完全一样。此外,Quartus软件为设计流程的每个阶段提供Quartus图形用户界面、EDA 工具界面以及命令行界面

2、。可以在整个流程中只使用这些界面中的一个,也可以在设计流程的不同阶段使用不同界面。本附录将简要介绍Altera于2008年5月推出的QuartusII8.0设计软件。QuartusII 8.0支持全部CPLD和FPGA产品,包括40 nm StratixIV FPGA和HardCopy ASIC。增强的高级布局布线算法、TimeQuest时序分析器和PowerPlay功耗技术结合StratixIV FPGA体系结构,大大缩短了编译时间、提高了逻辑利用率、降低了成本。即便是设计65 nm StratixIII FPGA,与7.2版相比,8.0版的编译时间最多缩短了50,平均缩短22。Quartu

3、sII 8.0的其他增强特性: 扩展的SOPC Builder:完全支持渐进式编译和TimeQuest时序分析,提供更快的时序逼近和设计迭代,新增的JTAG和SPI桥接组件实现了与其他FPGA或主处理器的外部通信和调试。 增强的TimeQuest 时序分析:改进了报告和交叉检测功能,更快地完成分析与调试 。 增强的FPGA I/O规划:在引脚规划器(Pin Planner)中增加引脚交换功能,加速电路板开发。 新的IP向导:为成功地使用Altera PCI Express和DDR3 IP提供专门的设计指南和建议。 IP MegaCore库集成:将IP MegaCore库集成在QuartusII

4、软件中,使用户更方便地使用Altera的IP核。新增的IP包括PCI Express Gen2硬核IP、5个新的视频和图像处理内核,并且对已有的许多IP进行了改进。 DSP Builder:新的高级模块库提高了时序逼近的效果,用户不必手动进行流水线和折叠操作,就可将大量的数字信号处理 (DSP)性能提高30到50。B.2 用Quartus进行设计的一般过程用Quartus开发FPGA的流程如图B-1所示,分为设计输入、综合、适配(布局布线)、时序分析、仿真和下载六个步骤。1设计输入输入方式有:原理图(模块框图)、波形图、VHDL、Verilog HDL、Altera HDL、网表等。Quart

5、us支持层次化设计,可以将下层设计细节抽象成一个符号(Symbol),供上层设计使用。Quartus提供了丰富的库资源,以提高设计的效率。Primitives库提供了基本的逻辑元件。Megafunctions库为参数化的模块库,具有很大的灵活性。Others库提供了74系列器件。此外,还可设计IP核。2编译编译包括分析和综合模块(Analysis & Synthesis)、适配器(Fitter)、时序分析器(Timing Analyzer)、编程数据汇编器(Assembler)。分析和综合模块分析设计文件,建立工程数据库。适配器对设计进行布局布线,使用由分析和综合步骤建立的数据库,将工程的逻辑

6、和时序要求与器件的可用资源相匹配。时序分析器计算给定设计在器件上的延时,并标注在网表文件中,进而完成对所设计的逻辑电路的时序分析与性能评估。编程数据汇编器生成编程文件,通过Quartus中的编程器(Programmer)可以对器件进行编程或配置。图B-1 用Quartus开发PLD的流程3仿真验证通过仿真可以检查设计中的错误和问题。Quartus软件可以仿真整个设计,也可以仿真设计的任何部分。可以指定工程中的任何设计实体为顶层设计实体,并仿真顶层实体及其所有附属设计实体。仿真有两种方式:功能仿真和时序仿真。根据设计者所需的信息类型,既可以进行功能仿真以测试设计的逻辑功能,也可以进行时序仿真,针

7、对目标器件验证设计的逻辑功能和最坏情况下的时序。4下载经编译后生成的编程数据,可以通过QuartusII中的Programmer和下载电缆直接由PC机写入FPGA或CPLD。常用的下载电缆有:MasterBlaster、ByteBlasterMV、ByteBlaster、USB-Blaster和Ethernet Blaster。其中,MasterBlaster电缆既可用于串口也可用于USB口,ByteBlasterMV仅用于并口,两者功能相同。ByteBlaster、USB-Blaster和Ethernet Blaster电缆增加了对串行配置器件提供编程支持的功能。ByteBlaster使用并

8、口,USB-Blaster使用USB口,Ethernet Blaster使用以太网口。对FPGA而言,直接用PC机进行配置,属于被动串行配置方式。实际上,在编译阶段Quartus还产生了专门用于FPGA主动配置所需的数据文件,将这些数据写入与FPGA配套的配置用PROM中,就可以用于FPGA的主动配置。B.3 设计输入Quartus所能接受的输入方式有:原理图(*.bdf文件)、波形图(*.vwf文件)、VHDL(*.vhd文件)、Verilog HDL(*.v文件)、Altera HDL(*.tdf文件)、符号图(*.sym文件)、EDIF网表(*.edf文件)、Verilog Quartu

9、s 映射文件(*.vqf)等。 EDIF是一种标准的网表格式文件,因此EDIF网表输入方式可以接受来自许多第三方EDA软件(Synopsys、Viewlogic、Mentor Graphics等)所生成的设计输入。在上述众多的输入方式中,最常用的是原理图、HDL文本和层次化设计时要用的符号图。1指定工程名称启动Quartus后首先出现的是图B-2所示的管理器窗口。开始一项新设计的第一步是创建一个工程,以便管理属于该工程的数据和文件。建立新工程的方法如下:1) 选择菜单“File”“New Project Wizard”,打开“New Project Wizard”对话框。2) 选择适当的驱动器

10、和目录,然后键入工程名,点击“Next”。3) 选择需要添加进工程的文件以及需要的非默认库,点击“Next”。4) 选择目标器件,点击“Next”。5) 选择需要附加的EDA工具,如图B-3,然后点击“Next”。这一步主要是选用QuartusII之外的EDA工具,也可以选择菜单“Assignments”“Settings”“EDA Tool Settings”进行设置。6) 点击“Finish”。图B-2 Quartus的主窗口(管理器窗口)2建立图形设计文件第一步 打开图形编辑器1)在管理器窗口选择菜单“File”“New.”或直接在工具栏上点击按钮,打开“New”列表框。2)点开“Des

11、ign Files”,选中“Block Diagram/Schematic File”项。3)点击“OK”。此时便会出现一个图形编辑窗口。第二步 输入元件和模块1)在图形编辑窗口空白处双击鼠标左键或选择菜单“Edit”“Insert Symbol”,也可直接在工具栏上点击按钮,便打开了“Symbol”对话框,如图B-4所示。2)选择适当的库及所需的元件(模块)。3)点击“OK”。这样所选元件(模块)就会出现在编辑窗口中。重复这一步,选择需要的所有模块。相同的模块可以采用复制的方法产生。用鼠标左键选中器件并按住左键拖动,可以将模块放到适当的位置。图B-3 添加EDA工具图B-4 “Symbol”

12、对话框第三步 放置输入、输出引脚输入、输出引脚的处理方法与元件一样。1)打开“Symbol”对话框。2)在“Name”框中键入input、output或bidir,分别代表输入、输出和双向I/O。3)点击“OK”。输入或输出引脚便会出现在编辑窗口中。重复这一步产生所有的输入和输出引脚,也可以通过复制的方法得到所有引脚。还可以勾选图B-4中的“Repeat-insert mode”在编辑窗口中重复产生引脚(每点一次左键产生一个引脚,直到点右键在弹出菜单中点“Cancel”结束)。模块也能以此方式重复输入。电源和地与输入、输出引脚类似,也作为特殊元件,采用上述方法在“Name”框中键入VCC(电源

13、)或GND(地),即可使它们出现在编辑窗口中。第四步 连线将电路图中的两个端口相连的方法如下1)将鼠标指向一个端口,鼠标箭头会自动变成十字“+”;2)一直按住鼠标左键拖至另一端口;3)放开左键,则会在两个端口间产生一根连线。连线时若需要转弯,则在转折处松一下左键,再按住继续移动。连线的属性通过点鼠标右键在弹出菜单中的管道“Conduit Line”(含多条信号线)、总线“Bus Line”、信号线“Node Line”中选择。第五步 输入/输出引脚和内部连线命名输入/输出引脚命名的方法是在引脚的“PIN-NAME”位置双击鼠标左键,然后键入信号名。内部连线的命名方法是:选中连线,然后键入信号名

14、。总线的信号名一般用Xn-1.0表示,其中的单个信号名为Xn-1、Xn-2、X0。第六步 保存文件选择菜单“File”“Save As.”或“Save”,或在工具栏点击按钮,如是第一次保存,需输入文件名。第七步 建立一个缺省的符号文件在层次化设计中,如果当前编辑的文件不是顶层文件,则往往需要为其产生一个符号,将其打包成一个模块,以便在上层电路设计时加以引用。建立符号文件的方法是,选择菜单“File”“Create /Update”“Create Symbol Files For Current File”即可。图B-5是以原理图方式设计的一个BCD码模6计数器counter6。主要器件是一个四

15、位二进制计数器74161(Others库中的元件)和与非门(Primitives库中的元件),采用异步复位的方法将计数的规模改为了六进制。图B-5 用原理图描述的模6计数器3建立HDL设计文件第一步 打开文本编辑器1)在管理器窗口中的选择菜单“File”“New.”,或直接在工具栏上点击按钮,打开“New”列表框。2)点开“Design Files”,然后选择“AHDL File”、“Verilog HDL File”或“VHDL File”,点击“OK”。第二步 输入HDL源码第三步 保存文件选择菜单“File”“Save”,或在工具栏点击按钮,保存输入的HDL源码。第四步 建立一个缺省的符

16、号文件与由原理图生成符号文件的方法一样。但会自动地先对HDL文件进行编译,成功后才会生成符号文件。图B-6是用VHDL描述的一个BCD码十进制计数器counter10。cr为同步复位信号,低电平有效,oc为进位输出。图B-6 用VHDL描述的模10计数器4层次化设计若设计项目较大,无法用一个文件把电路的设计细节全部描述出来的话,就必须采用层次化的设计方法。HDL不仅可以在不同的层次上对设计进行描述,而且还可以方便地描述模块间的嵌套关系(通过元件引用)。但在图形输入方式和原理图与HDL混合输入方式下进行层次化设计就必须借助符号(Symbol)来描述嵌套关系。前面已分别用原理图方式和VHDL方式描

17、述了一个六进制计数器和一个十进制计数器。现用这两个模块来设计一个模60计数器。这就需要建立一个顶层的原理图文件。方法同前,在编辑窗口中调入counter6和counter10。然后,辅以一个非门,加上适当的连线构成一个模60计数器,如图B-7所示。十进制计数器counter10作BCD码个位,六进制计数器counter6作BCD码十位。图B-7 用层次化设计方法描述的模60计数器B.4 编译Quartus编译器主要完成设计工程的检查和逻辑综合,将工程最终设计结果生成器件的下载文件,并为仿真和编程产生输出文件。第一步 打开编译器窗口在管理器窗口中选择菜单“Processing”“Compiler

18、 Tool”,则出现编译器窗口,如图B-8。从图中可以看出,编译包括分析与综合(Analysis & Synthesis)、适配器(Fitter)、汇编器(Assembler)和时序分析器(Timing Analyzer)等。图B-8 Quartus编译器窗口第二步 选项设置编译器有很多选项设置,但并不是每一项都需要用户去设置,有些设置编译器可自动选择(如器件选择、引脚分配等),而其他的设置往往有缺省值。在管理器窗口中选菜单“Assignments”“Settings.”,或直接在工具栏中点击按钮,打开“Settings”对话框,如图B-9。图B-9 “Settings”对话框1)器件选择 在

19、 “Settings”对话框左侧“Category”栏内选择“Device”,然后选择器件的系列和型号,型号可设为“Auto”,编译器自动选择。如果不选择器件的系列和型号,编译器会自动选择。器件的选择也可以在建立工程时进行。对于前述的计数器,选择Cyclone系列的EP1C3T100C6器件作为后续综合与仿真的目标器件。2)编译过程设置在“Settings”对话框左侧“Category”栏内选择“Compilation Process Settings”,在“Compilation Process Settings”页面根据需要选择相应的选项。例如,若需要使重编译的速度加快,可以打开“Use

20、Smart compilation”;若编译的时候运行编程数据汇编器,打开“Run Assembler during compilation”。3)分析和综合设置在“Settings”对话框左侧“Category”栏内选择“AnalysisSynthesis Settings”,在 “AnalysisSynthesis Settings ”页面可以指定编译器应该执行速度优化(Speed)、面积优化(Area),还是执行平衡优化(Balanced)。平衡优化折中考虑速度和资源占用情况。点击“More Settings”按钮,可以设置更多影响分析和综合的选项,如删除重复或冗余逻辑、状态机编码方式等

21、。此外,可以选择VHDL的版本(1987或1993)、Verilog HDL的版本(1995、2001或SystemVerilog-2005)。在默认情况下,使用VHDL-1993和Verilog-2001。还可以设置如下选项实现综合网表优化( “Synthesis Netlist Optimizations”) 对所见即所得WYSIWYG基本单元再综合; 进行逻辑门级寄存器再定时,允许在组合逻辑间移动寄存器以平衡时序。 允许门级寄存器再定时后还可以进一步为平衡Tco/Tsu 与Fmax对寄存器再定时。4)适配设置在 “Settings”对话框左侧“Category”栏内选择“Fitter S

22、ettings”,在“Fitter Settings”页面中可以对时序驱动编译(Timing-driven compilation)和适配器效果(Fitter effort)进行设置。需指出,选择“Fitter Settings”下“Physical Synthesis Optimization”,可以在适配期间实现: 对组合逻辑进行物理综合优化(Perform physical synthesis for combinational logic) 自动插入异步清零或置位信号(Perform automatic asynchronous signal pipeline) 使用寄存器复制对寄存器

23、进行物理综合优化(Perform register duplication) 使用寄存器再定时对寄存器进行物理综合优化(Perform register retiming) 5)器件引脚分配 在“Complier Tool”编译器窗口中点击“AnalysisSynthesis”下按钮,或直接在工具栏中点击按钮,完成设计的分析和综合,再进行引脚分配。引脚分配有多种方法: 选菜单“Assignments”“Pins”或“Pin Planner”项,或直接点击工具栏按钮,在底层编辑窗口中分配引脚。通过拖拽信号名到引脚、在引脚域选择或直接输入引脚号等方式给输入、输出信号分配引脚,如图B-10所示。 选

24、菜单“Assignments”“Assignment Editor”,或直接点击工具栏按钮,然后在“To”域键入输入或输出信号名、在“Assignment Name”域选择“Location”并在“Value”域输入引脚号,如图B-11所示。 在图B-7的图形编辑窗口中,选中某个输入或输出信号,按鼠标右键,在弹出菜单中选“Locate”“Locate in Pin Planner”或“Locate in Assignment Editor”,然后用类似前二种方法指定引脚号。 由编译器自动分配。若未选择具体的器件系列和型号,则只能采用这种方法。引脚分配好后,可选择菜单“Processing”“S

25、tart”“Start I/O Assignment Analysis”,对I/O分配结果进行分析。图B-10 通过“Pin Planner”分配引脚图B-11通过“Assignment Editor”分配引脚第三步 启动编译器编译器的各模块可以独立运行,也可以依次完整的运行(称为全编译)。选择菜单“Processing”“Start Compilation”,或直接点击工具栏按钮,或在“Complier Tool”编译器窗口点击“Start”,启动全编译过程。编译结果可在编译报告中查看。B.5 仿真验证仿真分功能仿真和时序仿真两种。仿真过程分三步。首先要建立波形文件,确定需要观察的信号,设计

26、输入波形,设定一些时间和显示参数。其次才是运行仿真程序。最后是根据仿真结果(波形)分析电路功能正确与否。1建立波形文件第一步 打开波形图编辑器1)在管理器窗口中选择菜单“File”“New.”或直接在工具栏上点击按钮,打开“New”列表框。2)点开“Verification/Debugging Files”,选中“Vector Waveform File”项,按“OK”。此时便会出现一个波形图编辑窗口。第二步 设定时间参数1)选择菜单“Edit”“End Time.”项,键入仿真结束时间,按“OK”。2)选择菜单“Edit”“Grid Size.”项,键入显示网格间距的时间,按“OK”。第三步

27、 确定需观察的信号1)在“Edit”菜单中或在波形图编辑窗口左侧“Name”栏空白处,单击鼠标右键选择“Insert”“Insert Node or Bus.”项,打开“Insert Node or Bus”对话框。2)点击“Node Finder”按钮,打开“Node Finder”对话框。在“Filter”下拉框中选择信号类别,如选“Pins:all”,表示选择所有引脚(信号)。3)点“List”按钮,将所选类别的所有信号均列于“Nodes Found”框中。4)从“Nodes Found”框中选择信号,然后按“”箭头,使所选信号名进入“Selected Nodes”框。如按“”箭头,则“

28、Nodes Found”框中所有信号全部进入“Selected Nodes”框。5)按“OK”,返回“Insert Node or Bus”对话框,再点击该框中“OK”,所选信号将出现在波形图编辑窗口中。6)根据需要编辑输入波形。编辑窗口左侧的按钮(见图B-12)由上至下依次为:取波形窗口、选择工具、文本工具、波形编辑工具、缩放(点左键放大、点右键缩小)、全屏、查找、替换、未初始化、强制未知、强0 、强1 、高阻、设为相反逻辑、设置时钟波形、设置计数值等。7)将波形存盘。选择菜单“File”“Save As.”或“Save”,或在工具栏点击按钮,如是第一次保存,需输入文件名。2运行仿真程序1)

29、在管理器窗口中选择菜单 “Assignments”“Settings”,或直接在工具栏中点击按钮,出现“Settings”对话框。2)在“Settings”对话框左侧“Category”栏内选“Simulator Settings”,对仿真进行设置,包括仿真的模式、仿真的输入文件以及仿真结果是否复盖原文件等,然后点击“OK”。3)要进行功能仿真,则仿真开始前在管理器窗口中选择菜单“Processing”“Generate Function Simulation Netlist”生成功能仿真网表;若进行时序仿真,则仿真前必须对设计进行编译,产生时序仿真的网表文件。4)在管理器窗口中选择菜单“Pr

30、ocessing”“Start Simulation”或直接点击工具栏按钮,开始仿真。5)仿真结束后,在仿真器报告窗口中将显示出仿真结果(波形)。3时序仿真结果分析以图B-7所示的模60计数器为例,设置Grad Size=10ns,End Time=2us,cp周期为20ns,则仿真结果如图B-12所示。图中只给出了整个仿真波形的一段。由图中1.2us的时间标尺处可见,该电路确实实现了模60计数(5900),但可从图中清楚地看出三个现象。一是q0的状态变化相对于cp上升沿有一个延迟,这是由计数器电路的延时造成的;二是q1的状态变化相对于q0又有一个延迟,这是由于个位计数器与十位计数器之间采用异

31、步扩展方法造成,由此说明异步扩展会影响电路的工作速度;三是计数器状态由5900的过程中q1出现了毛刺,这是由于十位计数器使用了74161的异步复位功能造成的,由此说明异步复位的设计方法会引起毛刺。图B-12 模60计数器的时序仿真波形关于十位的模6计数器因使用异步复位而出现的毛刺,可以通过对图B-5电路单独仿真看得更为清楚。图B-12是以counter60作为顶层实体进行编译后仿真得到的结果。QuartusII中可以在不改变工程的情况下,指定工程中的任何设计实体为顶层设计实体,并仿真顶层实体及其所有附属设计实体。方法是打开“Settings”对话框,在左侧“Category”栏内选“General”,然后就可以选择新的顶层设计实体。选择counter6作为顶层实体,进行编译后,新建波形文件并将其指定为仿真输入文件,然后运行仿真器,就可以得到图B-13的结果。当计数器状态由0101变为0110时,引起74161的复位端(CLRN)有效,计数器被立即清零,于是在q1端出现了毛刺(险象)。在某些场合,异步复位方式工作不太可靠,且由其引起的险象可能会引起电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1