FPGA设计流程.ppt

上传人:豆**** 文档编号:24499085 上传时间:2022-07-05 格式:PPT 页数:185 大小:1.84MB
返回 下载 相关 举报
FPGA设计流程.ppt_第1页
第1页 / 共185页
FPGA设计流程.ppt_第2页
第2页 / 共185页
点击查看更多>>
资源描述

《FPGA设计流程.ppt》由会员分享,可在线阅读,更多相关《FPGA设计流程.ppt(185页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第2章 FPGA设计流程 2.1 Quartus设计流程概述设计流程概述Altera Quartus设计软件提供完整的多平台设计环境,能够直接满足特定的设计需要,为可编程芯片系统提供全面的设计工具。Quartus软件含有FPGA和CPLD设计所有阶段的解决方案。Quartus的主要设计流程如图2.1所示。第2章 FPGA设计流程 图2.1 Quartus的设计流程 第2章 FPGA设计流程 Quartus为设计流程中每一个阶段提供的主要工具和功能如下。1) 设计输入(Design Entry)(1) 文本编辑器(Text Editor)是一个灵活的工具,用于以AHDL、VHDL和Verilog

2、 HDL 语言以及Tcl脚本语言输入文本型设计。还可以使用Text Editor输入、编辑和查看其他ASCII文本文件,包括为Quartus软件或由Quartus软件建立的文本文件。(2) 模块编辑器(Block Editor)用于以原理图和框图的形式输入和编辑图形设计信息。第2章 FPGA设计流程 (3) 符号编辑器(Symbol Editor) 用于查看和编辑代表宏功能、宏功能模块、基本单元或设计文件的预定义符号。(4) 使用MegaWizard Plug-in Manager建立Altera 宏功能模块、LPM 功能和IP 功能,用于Quartus软件和EDA设计输入与综合工具中的设计。

3、第2章 FPGA设计流程 2) 约束和分配输入(Constraint and Assignment Entry)(1) 分配编辑器(Assignment Editor)界面用于在Quartus软件中建立、编辑节点和实体级别的分配。分配用于在设计中为逻辑指定各种选项和设置,包括位置、I/O标准、时序、逻辑选项、参数、仿真和引脚分配等。(2) 引脚规划器(Pin Planner)。Assignments菜单下的引脚规划器中,可视化工具为引脚和引脚组分配提供了另一种途径。它包括器件的封装视图,以不同的颜色和符号表示不同类型的引脚,并以其他符号表示I/O块。引脚规划器使用的符号与器件系列数据手册中的符

4、号非常相似,它还包括已分配和未分配引脚的列表。第2章 FPGA设计流程 (3) Settings对话框。可以使用Settings对话框(Assignments菜单)为工程指定分配和选项,可以设置一般工程范围的选项以及综合、适配、仿真和时序分析选项。(4) 平面布局图编辑器(Floorplan Editor)可以用来直观地分配资源。(5) 设计分区窗口用以建立和修改设计分区。第2章 FPGA设计流程 3) 综合(Synthesis)(1) 可以使用分析和综合(Analysis & Synthesis)模块分析设计文件,建立工程数据库。Analysis & Synthesis 使用Quartus

5、Integrated Synthesis 综合Verilog(.v)或者VHDL设计文件(.vhd)。根据需要可以使用其他EDA综合工具综合Verilog HDL或VHDL设计文件,然后生成Quartus软件使用的EDIF网表文件(.edf)或者Verilog Quartus Mapping File (.vqm)。(2) 设计助手(Design Assistant)依据设计规则,检查设计的可靠性。(3) 通过RTL Viewer可以查看设计的原理图,RTL Viewer包括原理图视图,同时也包括层次结构列表,列出整个设计网表的实例、基本单元、引脚和网络。第2章 FPGA设计流程 (4) Te

6、chnology Map Viewer提供设计的底级或基元级专用技术原理表征。Technology Map Viewer包括一个原理视图以及一个层次列表,列出整个设计网表的实例、基本单元、引脚和网络。(5) 增量综合(Incremental Synthesis)是自上而下渐进式编译流程的组成部分,可以将设计中的实体指定为设计分区,在此基础上逐渐进行Analysis & Synthesis,而不会影响工程的其他部分。第2章 FPGA设计流程 4) 布局布线(Place & Route)(1) Fitter使用由Analysis & Synthesis建立的数据库,将工程的逻辑和时序要求与器件的可

7、用资源相匹配。它将每个逻辑功能分配给最佳逻辑单元位置,进行布线和时序分析,并选定相应的互连路径和引脚分配。(2) 完整的增量编译(Full Incremental Compiler)使用以前的编译结果,确保只有修改过的设计部分需要进行重新编译,因此能够保持设计性能不变,节省编译时间。(3) 使用Messages窗口查看适配结果。Report窗口和Report文件的Messages部分以及Messages窗口的Processing标签显示最近编译或仿真产生的信息。(4) Report窗口包含许多部分,可以帮助使用者对Fitter以布局布线的方式进行分析,显示资源的使用情况,它还列出Fitter生

8、成的错误消息,以及正在运行的任何其他模块的消息。第2章 FPGA设计流程 (5) 运行Fitter 之后,时序逼近平面布局图(Timing Closure Floorplan)将显示布局布线的结果。此外,可以反标适配结果,以保留上次编译期间的资源分配。由可编辑的时序逼近平面布局图查看Fitter以及用户分配执行的逻辑布局,进行LogicLock区域分配,并查看布线的拥塞情况。(6) 运行Fitter 并分析结果之后,可以使用多种方法来优化适配: 使用位置分配; 设置用于控制布局布线的选项; 使用Resource Optimization Advisor; 使用Design Space Expl

9、orer。第2章 FPGA设计流程 5) 仿真(Simulation)(1) 仿真分为功能仿真、时序仿真以及采用Fast Timing模型进行的时序仿真。功能仿真用以测试设计的逻辑功能。时序仿真在目标器件中测试设计的逻辑功能和最坏情况下的时序。采用Fast Timing模型进行的时序仿真,在最快的器件速率等级上仿真尽可能快的时序条件。(2) 使用Native Link功能,使其他公司提供的EDA仿真工具可以在Quartus软件中自动设置和运行。(3) Quartus提供的Simulator在工程中可仿真任何设计。(4) 波形编辑器(Waveform Editor)可以建立和编辑用于波形或文本格

10、式仿真的输入向量。使用Waveform Editor,可以将输入向量添加到波形文件中,此文件用于描述设计中的逻辑行为。第2章 FPGA设计流程 6) 时序分析(Timing Analysis)(1) Timing Analyzer在完整编译期间自动对设计进行时序分析。(2) 使用Timing Wizard (Assignments菜单)、Settings 对话框和Assignment Editor,指定初始工程全局范围和个别的时序要求。(3) 在完整编译期间进行时序分析或在初始编译之后单独进行时序分析。(4) 在部分编译之后,适配完成之前,进行早期时序估算(Early Timing Estim

11、ate)。(5) 使用Report窗口、时序逼近平面布局图和list_path Tcl命令来查看时序分析的结果。第2章 FPGA设计流程 7) 时序逼近(Timing Closure)(1) 可以使用时序逼近平面布局图查看Fitter生成的逻辑布局,查看用户分配、LogicLock区域分配以及设计的布线信息。可以使用这些信息在设计中识别关键路径,进行时序分配、位置分配和LogicLock区域分配,达到时序逼近。(2) Timing Optimization Advisor针对设计时序优化,在最大频率(fMAX)、建立时间(tSU)、时钟至输出延时(tCO)和传播延时(tPD)等方面提出建议。(

12、3) 网表优化选项用于在综合及布局布线期间进一步优化设计。网表优化具有按键式特性,它通过修改网表以提高性能,从而来改进fMAX结果,不管使用何种综合工具,均可应用该选项。第2章 FPGA设计流程 (4) 可以使用LogicLock区域达到时序逼近,方法是:在时序逼近平面布局图中分析设计,然后将关键逻辑约束在LogicLock区域中。LogicLock区域通常为分层结构,使用户对模块或模块组的布局和性能有更强的控制。可以在个别节点上使用LogicLock功能,例如,将沿着关键路径的节点分配给LogicLock区域。(5) 可以使用Design Space Explorer(DSE)Tcl脚本(d

13、se.tcl)针对时序进行优化设计。DSE界面可以使用户浏览一定范围内的Quartus选项和设置,自动确定应采用哪种设置以获得工程的最佳可能结果。可以指定允许DSE所做修改的级别、优化目标、目标器件和允许的编译时间。第2章 FPGA设计流程 8) 功耗分析(Power Analysis)(1) PowerPlay Power Analyzer用以进行设计的功耗分析,可以设定初始化功耗分析过程中的触发速率和静态几率,以及是否需要将功耗分析过程中使用的信号活动写入到输出文件,还可以指定基于实体的触发速率。对于有些器件,Quartus软件将分析设计拓扑和功能,填补任何丢失的信号活动信息。(2) 在设

14、计过程的任何阶段都可以使用PowerPlay Early Power Estimator来估算功耗。第2章 FPGA设计流程 9) 编程和配置(Programming & Configuration)(1) 可以用Programmer对一个或多个器件进行编程或配置。(2) 可以使用本地计算机未提供的编程硬件,配置本地JTAG服务器设置,使远程用户连接到本地JTAG服务器进行编程。第2章 FPGA设计流程 10) 调试(Debugging)(1) SignalTap逻辑分析仪(SignalTap Logic Analyzer)是系统级调试工具,可以捕获和显示实时信号行为,观察系统设计中硬件和软件

15、之间的相互作用。Quartus软件可以选择要捕获的信号、开始捕获信号的时间以及要捕获多少数据样本。还可以选择是将数据从器件的存储器块通过JTAG端口传送至SignalTap Logic Analyzer,还是传送至I/O引脚以供外部逻辑分析仪或示波器使用。(2) SignalProbe功能允许在不影响设计现有适配的情况下,将用户指定的信号连接到输出引脚,而不需要再进行一次完整编译就可以调试信号。从一个已经完成完全布线的设计开始,可以选择并对要调试的信号布线,通过以前保留的或当前尚未使用的I/O引脚进行调试。第2章 FPGA设计流程 (3) 当系统存储器内容编辑器(In-System Memor

16、y Content Editor)允许运行时,独立于设计的系统时钟,来查看和修改RAM、ROM或者寄存器内容。(4) RTL Viewer及Technology Map Viewer也可以用于调试。(5) 可以将芯片编辑器(Chip Editor)与SignalTap以及SignalProbe调试工具一起使用,加快设计验证,并逐步修复在设计验证期间未解决的错误。运行SignalTap逻辑分析仪或使用SignalProbe功能验证信号之后,可以使用Chip Editor来查看编译后布局布线的详细信息。还可以使用Resource Property Editor 对逻辑单元、I/O单元或PLL的属性

17、和参数进行编译后的编辑,而不需要执行完整的重新编译。第2章 FPGA设计流程 11) 工程更改管理(Engineering Change Management)(1) Quartus软件允许在完整编译之后对设计进行小的更改,称做工程更改记录(ECO)。可直接对设计数据库进行ECO更改,而不是更改源代码或Quartus Settings和Configuration文件(.qsf)。对设计数据库做ECO更改可避免为实施一个小的更改而运行完整的编译。第2章 FPGA设计流程 (2) 更改管理(Change Manager)窗口可列出所做的所有ECO更改。在列表中选择每个ECO更改,并指定是否要应用或

18、删除更改,还可以添加备注,以便参考。除上述基本设计流程之外,Altera还提供了两个系统级设计工具,即SOPC Builder和DSP Builder。SOPC Builder包含在Quartus软件中,为建立SOPC设计提供标准化的图形环境,SOPC由CPU、存储器接口、标准外设和用户自定义的外设等组件组成。在SOPC Builder中可以选择和自定义系统模块的各个组件和接口。SOPC Builder将这些组件组合起来,生成对这些组件进行例化的单个系统模块,并自动生成必要的总线逻辑,将这些组件连接起来。第2章 FPGA设计流程 DSP Builder在MATLAB/Simulink中建立DS

19、P设计的硬件表征,缩短了DSP设计周期。使用DSP Builder可以使系统、算法和硬件设计人员共享公共开发平台。DSP Builder是Altera 提供的可选软件包,不包含在Quartus和Nios的软件包中。DSP Builder可以通过MATLAB/Simulink界面实现设计综合、编译、下载及调试。第2章 FPGA设计流程 SOPC设计流程的各个环节,都有不同的EDA工具可以使用,这些EDA工具可以是Altera公司的,也可以是其他公司提供的。完成一个复杂的设计任务,要用到各种各样的设计工具。Quartus软件提供了强大的图形界面设计环境,调用这些工具可完成设计流程,从使用者角度却感

20、觉不到这些工具是各自独立的。Quartus软件业提供全面的命令行界面解决方案,允许使用者使用命令行可执行文件和选项来完成设计流程的每个阶段,使用命令行流程可以降低内存要求,并可使用脚本、标准的命令行选项和命令(包括Tcl命令)来控制Quartus软件,并建立Makefile脚本文件。本书中只采用图形用户界面,关于命令行解决方案可参照相关资料。第2章 FPGA设计流程 以下是使用Quartus 图形用户界面的基本设计流程:(1) 使用New Project Wizard (File菜单)建立新工程并指定目标器件或器件系列。(2) 设计输入:可以用Text Editor建立Verilog HDL、

21、VHDL或Altera硬件描述语言(AHDL)设计;根据需要,也可以使用Block Editor建立表示其他设计文件的符号框图,也可以建立原理图,还可以使用MegaWizard Plug-In Manager(Tools菜单)生成宏功能模块和IP功能的自定义变量,在设计中将它们例化。(3) 设计约束(可选):使用Assignment Editor、引脚规划器、Settings对话框(Assignments菜单)、Floorplan Editor、Design Partitions 窗口、LogicLock功能指定初始设计约束。(4) (可选)进行早期时序估算(Early Timing Esti

22、mate),在完成Fitter之前生成时序结果的早期估算。第2章 FPGA设计流程 (5) (可选)使用SOPC Builder 或DSP Builder建立系统级设计。(6) (可选)使用Software Builder为Nios嵌入式处理器建立软件和编程文件。(7) 使用Analysis & Synthesis 对设计进行综合。(8) (可选)如果设计含有分区,而没有进行完整编译,则需要采用Partition Merge合并分区。(9) (可选)通过使用Simulator和Generate Functional Simulation Netlist命令在设计中执行功能仿真。(10) 使用F

23、itter对设计进行布局布线。(11) 使用PowerPlay Power Analyzer进行功耗估算和分析。(12) 使用Timing Analyzer 对设计进行时序分析。(13) 使用Simulator对设计进行时序仿真。第2章 FPGA设计流程 (14) (可选)使用物理综合、时序逼近平面布局图、LogicLock功能、Settings对话框和Assignment Editor改进时序,达到时序逼近。(15) 使用Assembler为设计建立编程文件。(16) 使用编程文件、Programmer和Altera硬件对器件进行编程;或将编程文件转换为其他文件格式以供嵌入式处理器等其他系统

24、使用。(17) (可选)使用SignalTap Logic Analyzer、SignalProbe功能或Chip Editor对设计进行调试。(18) (可选)使用Chip Editor、Resource Property Editor和Change Manager管理工程对设计进行更改。第2章 FPGA设计流程 2.2 设设 计计 输输 入入Quartus提供了Quartus Block Editor、Text Editor、MegaWizard Plug-In Manager和Symbol Editor等设计输入工具,通过这些工具可以建立包括Altera 宏功能模块、参数化模块库(LPM

25、)功能和知识产权(IP)功能在内的设计。Quartus的Altera SOPC Builder和DSP Builder软件支持系统级设计输入流程。图2.2是Quartus设计输入的流程。第2章 FPGA设计流程 图2.2 Quartus设计输入流程 第2章 FPGA设计流程 在Quartus中,设计的代码文件、配置文件及相关的所有资源都是通过工程来管理的。使用FileNew Project Wizard可建立新工程。建立新工程时,按提示指定工程工作目录及分配工程名称,指定顶层设计实体的名称,还可以指定在工程中使用的设计文件、其他源文件、用户库和EDA工具以及目标器件(或者让Quartus软件自

26、动选择器件)。第2章 FPGA设计流程 一个Quartus工程的主要工程文件和配置文件如下:Quartus Project File (.qpf),指定用来建立工程以及与工程相关修订的Quartus软件版本;Quartus Settings File (.qsf),包括Assignment Editor、Floorplan Editor、Settings对话框(Assignments菜单)、Tcl脚本或者Quartus 可执行文件产生的所有修订范围内或者独立的配置,工程中每个修订有一个.qsf文件;Quartus Workspace File (.qws)包含用户的偏好和其他信息,例如窗口位置

27、、窗口中打开的文件及其位置。工程建立之后,可以用Settings对话框(Assignments菜单)从工程中添加或删除设计文件以及其他文件,也可以改变与工程相关的各种设置。第2章 FPGA设计流程 可以使用Quartus软件在Quartus Block Editor中建立设计,或使用Quartus Text Editor通过AHDL、Verilog HDL或VHDL设计语言来建立HDL设计。Quartus软件还支持采用其他EDA设计输入和综合工具生成的EDIF Input Files(.edf)或用Verilog Quartus Mapping Files(.vqm)建立的设计。系统级设计工具

28、DSP Builder和SOPC Builder也可以作为一种设计输入,用这两种工具创建的设计可以生成Verilog HDL文件或VHDL文件。第2章 FPGA设计流程 Quartus设计输入支持以下类型的文件:(1) 使用Quartus Block Editor建立的原理图设计文件Block Design File(.bdf)。(2) 使用任何标准EDIF网表编写程序生成的EDIF 200版网表文件EDIF Input File(.edf、.edif)。(3) 使用MAX+PLUS Graphic Editor建立的原理图设计文件Graphic Design File(.gdf)。(4) 使

29、用Altera硬件描述语言(AHDL)编写的设计文本文件Text Design File(.tdf)。(5) 使用Verilog HDL语言定义设计逻辑的设计文件Verilog Design File(.v、.vlg、.verilog)。(6) 使用VHDL语言定义设计逻辑的设计文件VHDL Design File(.vh、.vhd、.vhdl)。第2章 FPGA设计流程 (7) Synplicity Synplify软件或Quartus软件生成的Verilog HDL格式网表文件Verilog Quartus Mapping File(.vqm)。Quartus的Block Editor用于

30、以原理图和框图的形式输入和编辑图形设计信息。QuartusBlock Editor读取并编辑.bdf文件。用MAX+PLUS软件建立的图形设计文件,即.gdf也可以在Quartus软件中打开并另存为.bdf文件。每一个.bdf文件包含设计中代表逻辑的框图和符号。Block Editor将每一个框图、原理图或者符号代表的设计逻辑合并到工程中。利用MegaWizard Plug-In Manager(Tools菜单),Block Editor可以对Altera提供的宏功能模块进行例化,建立或修改包含宏功能模块自定义变量的设计文件。还可以从.bdf本身建立Verilog设计文件、VHDL设计文件和B

31、lock Symbol文件。第2章 FPGA设计流程 QuartusText Editor是一个灵活的工具,用于以AHDL、VHDL和Verilog HDL语言以及Tcl脚本语言输入文本型设计;还可以使用Text Editor输入、编辑和查看其他ASCII文本文件,包括Quartus软件或由Quartus软件建立的文本文件。用Text Editor还可以将任何AHDL声明或节段模板、Tcl命令或所支持的VHDL以及Verilog HDL构造模板插入到当前文件中。AHDL、VHDL和Verilog HDL模板为输入HDL语法提供了一种非常方便的途径,提高了设计输入的速度和准确度;还可获取有关所有

32、AHDL单元、关键字和声明以及宏功能模块和基本单元的上下文相关帮助;当然也可以在其他所有的文本编辑器中完成文本型设计的输入,然后在Quartus中打开并使用这些设计。第2章 FPGA设计流程 QuartusText Editor是一个灵活的工具,用于以AHDL、VHDL和Verilog HDL语言以及Tcl脚本语言输入文本型设计;还可以使用Text Editor输入、编辑和查看其他ASCII文本文件,包括Quartus软件或由Quartus软件建立的文本文件。用Text Editor还可以将任何AHDL声明或节段模板、Tcl命令或所支持的VHDL以及Verilog HDL构造模板插入到当前文件

33、中。AHDL、VHDL和Verilog HDL模板为输入HDL语法提供了一种非常方便的途径,提高了设计输入的速度和准确度;还可获取有关所有AHDL单元、关键字和声明以及宏功能模块和基本单元的上下文相关帮助;当然也可以在其他所有的文本编辑器中完成文本型设计的输入,然后在Quartus中打开并使用这些设计。第2章 FPGA设计流程 Quartus提供的Altera宏功能模块可以在Quartus设计文件中与逻辑门和触发器等基本单元一起使用。Altera提供的参数化宏功能模块和LPM功能均针对Altera公司的器件结构做了优化。必须使用宏功能模块才可以使用一些Altera器件专用的功能,如存储器、DS

34、P块、LVDS驱动器、PLL等电路。可以使用 MegaWizard Plug-In Manager建立Altera宏功能模块、LPM功能和IP功能,用于输入与综合工具中的设计。表2.1列出了能够由MegaWizard Plug-In Manager建立的Altera提供的宏功能模块和LPM 功能类型。第2章 FPGA设计流程 表 2.1 Altera 提供的宏功能模块与 LPM 功能 类 型 说 明 算术组件 包括累加器、加法器、乘法器和 LPM 算术功能 逻辑门 包括多路复用器和 LPM 门功能 I/O 组件 包括时钟数据恢复(CDR)、锁相环(PLL)、双数据速率(DDR)、千兆收发器块(

35、GXB)、LVDS 接收器和发送器、PLL 重新配置和远程更新宏功能模块 存储器编译器 包括 FIFO Partitioner、RAM 和 ROM 宏功能模块 存储组件 存储器、移位寄存器宏功能模块和 LPM 存储器功能 第2章 FPGA设计流程 MegaWizard Plug-In Manager 可以帮助建立或修改含有自定义宏功能模块变量的设计文件,然后可以在设计文件中对其进行例化。这些自定义宏功能模块变量基于Altera提供的宏功能模块,包括LPM、MegaCore和AMPP(Altera Megafunction Partners Program)功能。MegaWizard Plug-

36、In Manager运行一个向导,使用户轻松地为自定义宏功能模块变量设定选项,该向导用于设置参数和部分端口的数值。可以从Tools 菜单或从Block Design File中打开MegaWizard Plug-In Manager,也可以将它作为独立的应用程序来运行。表2.2列出了MegaWizard Plug-In Manager为每个用户自定义宏功能模块变量生成的文件。第2章 FPGA设计流程 表 2.2 MegaWizard Plug-In Manager 生成的文件 文 件 名 称 说 明 .bsf Block Editor 中使用的宏功能模块符号 .cmp Component De

37、claration File(组件声明文件) .inc 宏功能模块封装文件中模块的 AHDL Include 文件 .tdf 在 AHDL 设计中例化的宏功能模块封装文件 .vhd 在 VHDL 设计中例化的宏功能模块封装文件 .v 在 Verilog HDL 设计中例化的宏功能模块封装文件 _bb.v Verilog HDL 设计所用的宏功能模块封装文件中模块的空体(Hollow-Body)或 black-box 声明,用于在使用 EDA 综合工具时指定端口方向 _inst.tdf 宏功能模块封装文件中子设计的 AHDL 例化示例 _inst.vhd 宏功能模块封装文件中实体的 VHDL 例

38、化示例 _inst.v 宏功能模块封装文件中模块的 Verilog HDL 例化示例 第2章 FPGA设计流程 2.3 设计约束和分配设计约束和分配建立工程和设计之后,可以使用Quartus软件中的Settings对话框(Assignment 菜单)、Assignment Editor(分配编辑器)、Pin Planner(引脚规划器)、Design Partitions(设计分区)窗口和Timing Closure Floorplan(时序逼近平面布局图)指定初始设计约束条件和资源分配,如引脚分配、器件选项、逻辑选项和时序约束条件等;也可以使用Import Assignments命令(Ass

39、ignments菜单)导入分配,或者用Export命令(File 菜单)导出分配;还可以使用Tcl命令或脚本从其他EDA综合工具中导入分配。Quartus软件还提供Timing向导(Assignments 菜单),协助用户指定初始设计的约束条件。图2.3是约束和分配输入的流程。第2章 FPGA设计流程 图2.3 约束和分配输入流程 第2章 FPGA设计流程 可以用Settings对话框(Assignments菜单)为工程指定分配和选项,设置工程范围的选项以及综合、适配、仿真和时序分析。使用 Settings对话框可以执行以下各类任务:(1) 修改工程设置:为工程和修订信息指定和查看当前顶层实体

40、;从工程中添加或删除文件,指定自定义的用户库,制定器件的封装、引脚数量和速度等级;指定移植器件。(2) 设置EDA工具:为设计输入、综合、仿真、时序分析、板级验证、正规验证、物理综合以及相关工具选项指定EDA工具。(3) Analysis & Synthesis选项设置:用于工程范围的Analysis & Synthesis、Verilog HDL和VHDL输入设置、默认设计参数和综合网表的优化选项设置。第2章 FPGA设计流程 (4) 确定编译过程设置:包括智能编译、在编译过程中保留节点名称、运行Assembler、渐进式编译或综合、保存节点级的网表、导出版本兼容数据库、显示实体名称、使能或

41、者禁止OpenCore Plus评估功能等选项的设置,还为生成早期时序估算提供选项。(5) 适配选项设置:设置时序驱动编译选项、Fitter等级选项、工程范围的Fitter逻辑选项及物理综合网表优化选项。(6) 时序分析选项设置:为工程设置默认频率,定义各时钟的设置、延时要求、路径排除选项设置以及时序分析报告选项设置。(7) 指定Simulator设置:仿真模式选择(功能或时序)、源向量文件选项设置、仿真周期以及仿真检测选项设置。第2章 FPGA设计流程 (8) 设置PowerPlay Power Analyzer:输入文件类型、输出文件类型和默认触发速率,以及结温、散热方案要求和器件特性等工

42、作条件。分配(Assignments)用于在设计中为逻辑电路指定各种选项和设置,包括位置、I/O标准、时序、逻辑选项、参数、仿真和引脚分配。分配编辑器(Assignment Editor)界面用于在Quartus软件中建立、编辑节点和实体级的分配。Assignments菜单下的引脚规划器可视化工具为引脚和引脚组的分配提供了另一种途径。它包括器件的封装视图,以不同的颜色和符号表示不同类型的引脚,并以其他符号表示I/O 块。引脚规划器使用的符号与器件数据手册中的符号非常相似。它还可以根据要求,分类列出已分配引脚、未分配引脚或输入/输出引脚等各种表格。图2.4是一个在DE2平台上实现SD卡音频播放器

43、的工程的引脚规划器窗口。第2章 FPGA设计流程 图2.4 引脚规划器窗口 第2章 FPGA设计流程 默认状态下,引脚规划器显示未分配引脚的列表,包括节点的名称、方向和类型以及器件封装视图。已分配引脚列表包括节点名称、引脚位置和I/O块。还可以通过将Unassigned Pins表中的一个或多个引脚拖至封装图中的可用引脚或I/O块来进行引脚分配。在Assigned Pins 表中,可以滤除节点名称、改变I/O标准、指定保留引脚的选项。在Unassigned Pins表中,可以改变节点名称及用户加入节点的方向,还可以为保留引脚指定选项。根据需要,可以关闭已分配和未分配引脚列表。第2章 FPGA设

44、计流程 在引脚规划器窗口中,可以调整视图(放大或缩小视图),也可以选择是否显示I/O块、Vref组、分配I/O引脚或差分引脚对连接等,还可以显示所选引脚的属性和可用资源,以及引脚规划器中说明不同颜色和符号的图例。使用增量编译或增量综合功能时,Design Partition(设计分区)是一个很重要的概念,用户可以将设计按等级指定为不同的设计分区,并且对一个分区进行分析、综合编译时,不会影响工程的其他部分。在增量编译和增量综合中都可以使用设计分区。在Project Navigator和Design Partition Window(设计分区窗口,Assignments菜单)中可以设置分区。第2章

45、 FPGA设计流程 用Import Assignments命令(Assignments菜单)可以从Quartus软件或者MAX+PLUS软件建立的工程中将分配导入到Quartus 工程中。可以指定含有导入分配的文件以及导入到当前工程.qsf文件中分配的特定类型。用Import Assignments的高级选项对话框还可以指定导入分配的属性、全局和实例级别,并指定分配如何影响当前设计。使用这个对话框还可以导入设置文件、用Export命令(File 菜单)建立CSV Files以及FPGA Xchange Files(.fx),还可以在导入分配之前,为设计的当前.qsf文件建立备份。第2章 FPG

46、A设计流程 2.4 设设 计计 综综 合合综合是面向给定设计的约束,自动将高级的设计描述翻译和优化到门级网表的过程。综合约束包括时序、面积和功耗的约束。其中时序是最复杂和最关键的约束,决定了整个芯片的性能。Quartus软件中的分析与综合(Analysis & Synthesis)功能使用Quartus Integrated Synthesis综合Verilog(.v)或者VHDL设计文件(.vhd)。根据需要也可以使用其他EDA综合工具来综合Verilog HDL或VHDL设计文件,然后生成Quartus软件使用的EDIF网表文件(.edf) 或者Verilog Quartus Mappin

47、g File (.vqm)。图2.5是Quartus的综合设计流程。第2章 FPGA设计流程 图2.5 Quartus的综合设计流程 第2章 FPGA设计流程 Quartus软件的完整编译(ProcessingStart Compilation)包含了Analysis & Synthesis模块,完整编译时自动完成分析与综合,也可以单独启动Analysis & Synthesis (ProcessingStartStart Analysis & Synthesis菜单)。用Analysis & Elaboration (ProcessingStartStart Analysis & Elabo

48、ration)可以检查设计的语法错误。Quartus的Analysis & Synthesis包括Quartus Integrated Synthesis,它完全支持VHDL和Verilog HDL语言,并提供控制综合过程的选项。Analysis & Synthesis支持Verilog-1995(IEEE Std.1364-1995)和Verilog-2001标准(IEEE Std. 1364-2001),还支持VHDL 1987(IEEEStd. 1076-1987)和VHDL 1993(IEEE Std. 1076-1993)标准。可以在Settings对话框的Analysis & Sy

49、nthesis Settings下选择要使用的标准,在默认情况下,Analysis & Synthesis 使用Verilog-2001和VHDL 1993标准。第2章 FPGA设计流程 可以使用其他EDA综合工具来综合VHDL或Verilog HDL设计,生成Quartus软件可以使用.edif网表文件或.vqm文件。Altera提供了多种EDA综合工具使用的库,还为多种工具提供了NativeLink支持。NativeLink技术实现了Quartus软件与其他EDA工具之间的无缝信息传送,使用户可以从Quartus图形用户界面中自动运行其他EDA工具。如果已使用其他EDA工具建立了分配或约束

50、条件,则使用Tcl命令或脚本可以将这些约束条件导入到包含用户设计文件的Quartus软件中。许多EDA工具可自动生成分配Tcl脚本。在Settings对话框EDA Tool Settings下的Design Entry & Synthesis 页面中,可以指定EDA综合工具,同时还可以指定支持NativeLink 的EDA工具是否作为完整编译的一部分在Quartus软件中自动运行。Quartus支持的EDA综合工具如表2.3所示。 第2章 FPGA设计流程 表 2.3 Quartus支持的 EDA 综合工具 综合工具名称 EDIF 网表 文件(.edf) Verilog Quartus Map

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com