FPGA设计流程[共184页]

上传人:哈**** 文档编号:136773027 上传时间:2020-07-02 格式:PPT 页数:184 大小:1.95MB
返回 下载 相关 举报
FPGA设计流程[共184页]_第1页
第1页 / 共184页
FPGA设计流程[共184页]_第2页
第2页 / 共184页
FPGA设计流程[共184页]_第3页
第3页 / 共184页
FPGA设计流程[共184页]_第4页
第4页 / 共184页
FPGA设计流程[共184页]_第5页
第5页 / 共184页
点击查看更多>>
资源描述

《FPGA设计流程[共184页]》由会员分享,可在线阅读,更多相关《FPGA设计流程[共184页](184页珍藏版)》请在金锄头文库上搜索。

1、第2章 FPGA设计流程,2.1 Quartus设计流程概述 2.2 设计输入 2.3 设计约束和分配 2.4 设计综合 2.5 布局布线 2.6 基于模块的设计 2.7 仿真 2.8 时序分析 2.9 时序逼近 2.10 用Quartus完成FPGA设计的实例,2.1 Quartus设计流程概述 Altera Quartus设计软件提供完整的多平台设计环境,能够直接满足特定的设计需要,为可编程芯片系统提供全面的设计工具。Quartus软件含有FPGA和CPLD设计所有阶段的解决方案。Quartus的主要设计流程如图2.1所示。,图2.1 Quartus的设计流程,Quartus为设计流程中每

2、一个阶段提供的主要工具和功能如下。 1) 设计输入(Design Entry) (1) 文本编辑器(Text Editor)是一个灵活的工具,用于以AHDL、VHDL和Verilog HDL 语言以及Tcl脚本语言输入文本型设计。还可以使用Text Editor输入、编辑和查看其他 ASCII文本文件,包括为Quartus软件或由Quartus软件建立的文本文件。 (2) 模块编辑器(Block Editor)用于以原理图和框图的形式输入和编辑图形设计信息。,(3) 符号编辑器(Symbol Editor) 用于查看和编辑代表宏功能、宏功能模块、基本单元或设计文件的预定义符号。 (4) 使用M

3、egaWizard Plug-in Manager建立Altera 宏功能模块、LPM 功能和IP 功能,用于Quartus软件和EDA设计输入与综合工具中的设计。,2) 约束和分配输入(Constraint and Assignment Entry) (1) 分配编辑器(Assignment Editor)界面用于在Quartus软件中建立、编辑节点和实体级别的分配。分配用于在设计中为逻辑指定各种选项和设置,包括位置、I/O标准、时序、逻辑选项、参数、仿真和引脚分配等。 (2) 引脚规划器(Pin Planner)。Assignments菜单下的引脚规划器中,可视化工具为引脚和引脚组分配提供

4、了另一种途径。它包括器件的封装视图,以不同的颜色和符号表示不同类型的引脚,并以其他符号表示I/O块。引脚规划器使用的符号与器件系列数据手册中的符号非常相似,它还包括已分配和未分配引脚的列表。,(3) Settings对话框。可以使用Settings对话框(Assignments菜单)为工程指定分配和选项,可以设置一般工程范围的选项以及综合、适配、仿真和时序分析选项。 (4) 平面布局图编辑器(Floorplan Editor)可以用来直观地分配资源。 (5) 设计分区窗口用以建立和修改设计分区。,3) 综合(Synthesis) (1) 可以使用分析和综合(Analysis 并有相应的提示,这

5、表明该操作实际上是调用update_timing_ netlist这条TCL指令的。所有TimeQuest的操作都可以用TCL指令来完成,每一次操作所调用的指令都会在控制台窗格中出现,如果熟悉TCL指令,可直接在控制台窗格输入TCL指令完成各种操作。,(5) 生成时序报告。用任务窗格中的命令,可以生成各种时序报告,同时还可以自定义报告,所有的命令也都可以用TCL指令完成。在TimeQuest查看窗格中可以迅速查看时序分析的结果。TimeQuest时序分析仪快速提供交互式报告,使用户能够迅速收集所选时序通道的详细信息。查看松弛(Slack)报告后,用户可以使用TimeQuest时序分析仪得到特定

6、通路上更详细的信息。,(6) 保存SDC文件。所有的约束设置都不会自动保存,因此在结束分析之前,使用任务窗格中的Write SDC Files把约束设置文件保存起来。 TimeQuest时序分析仪使用灵活、功能非常强大,这里只列出了使用的简单流程及主要特性,具体使用时请参照Quartus Version 6.0 Handbook Volume 3: Verification Chapter 6的相关内容。,2.9 时 序 逼 近 Quartus软件提供集成的时序逼近流程,通过控制设计的综合和布局布线来达到时序目标。使用时序逼近流程可以对复杂的设计进行更快的时序逼近,以减少优化迭代次数并自动平衡

7、多个设计约束。时序逼近流程可以执行初始编译和查看设计结果,进一步高效优化设计。在综合之后以及在布局布线期间,可以使用时序逼近平面布局图(Timing Closure Floorplan)分析设计并进行分配,使用时序优化顾问(Timing Optimization Advisor)查看Quartus对优化设计时序的建议,还可以使用LogicLock区域分配和Design Space Explorer 进一步优化设计。图2.12为Quartus的时序逼近流程。,图2.12 时序逼近流程,使用时序逼近平面布局图查看Fitter生成的逻辑布局、用户分配、LogicLock区域分配以及设计的布线信息,可

8、以使用这些信息在设计中识别关键路径,进行时序分配、位置分配和LogicLock区域分配,达到时序逼近。 可以使用View 菜单中提供的选项自定义时序逼近平面布局图来显示信息的方式。可以按照封装引脚及其功能显示器件,也可以按内部MegaLAB结构、LAB和单元显示器件,还可以按芯片的区域、所选信号的名称和位置显示器件。,可以使用Field View命令(View菜单),在时序逼近平面布局图的高级轮廓视图中显示器件资源的主要分类。在Field视图中用彩色区域表示分配,这些彩色区域显示用户已分配的数量、已布置的Fitter以及器件中每个结构未分配的逻辑。可以使用Field视图中的信息进行分配,达到设

9、计的时序逼近。 时序逼近平面布局图可同时显示用户分配和Fitter分配。用户分配是用户在设计中所做的所有位置分配与LogicLock区域分配;Fitter分配是Quartus软件在上次编译之后布置的所有节点的位置。可以使用Assignments命令(View菜单)显示用户分配和Fitter分配。,时序逼近平面布局图显示器件资源以及所有设计逻辑的相应布线信息。使用Routing命令(View菜单),可以选择器件资源,并查看以下布线信息类型: (1) 节点之间的路径:显示所选逻辑单元、I/O单元、嵌入式单元和相互连接引脚之间的路径。 (2) 节点扇入和扇出:显示所选嵌入式单元、逻辑单元、I/O单元

10、和引脚的节点的扇入和扇出布线信息。 (3) 布线延时:显示引至或源自特定逻辑单元、I/O单元、嵌入式单元、引脚、所选节点之间以及一个或多个关键路径上的布线延时。 (4) 连接计数:显示或隐藏连接至所选对象、从所选对象或所选对象之间连接的数量。,(5) 物理时序估计:显示从一个物理资源至另一个物理资源的近似延时。选择一个物理资源后,用可能目标资源的阴影区表示延时(资源的阴影越深,延时越长),可以将鼠标放置在另一个物理资源之上以数字形式显示到达目标资源的延时。 (6) 布线拥塞:用图形显示设计中的布线拥塞。阴影越深,布线资源利用率越高。也可以选择布线资源,然后指定该资源的拥塞阈值(在器件中以红色区

11、域显示)。 (7) 关键路径:显示设计中的关键路径,包括路径边缘和布线延时。默认关键路径视图可以显示寄存器至寄存器的路径,还可以查看源节点和目标节点之间最差路径的所有组合节点。可以通过指定时钟域、源节点名称和目标节点名称以及要显示的关键路径数和信号延迟来指定滤除显示关键路径的标准。,用时序逼近平面布局图还可以查看LogicLock区域的布线信息,包括连接和区域内延时。LogicLock区域连接用于显示分配给LogicLock区域的实体之间的连接,区域内延时用于显示LogicLock区域(包括其子区域) 中源和目标路径之间的最大延时。 为了便于达到时序逼近,时序逼近平面布局图允许直接在布局图中进

12、行位置和时序分配。可以在时序逼近平面布局图的自定义区域和LogicLock区域中建立和分配节点或实体,编辑对引脚、逻辑单元、行、列、区域、MegaLAB 结构和LAB的现有分配;还可以查找节点或节点组,并在Assignment Editor中进行分配。,可以使用以下方法在时序逼近平面布局图中进行编辑分配: (1) 剪切、复制和粘贴节点和引脚的分配。 (2) 启动Assignment Editor 进行分配。 (3) 使用Node Finder协助分配工作。 (4) 在LogicLock 区域中建立和分配逻辑。,(5) 用鼠标从Project Navigator 的Hierarchy选项标签、L

13、ogicLock 区域和时序逼近平面布局图中拖出节点和实体,放到布局图的其他区域中。 Timing Optimization Advisor可以在以最大频率(fMAX)、建立时间(tSU)、时钟至输出延时(tCO)和传播延时(tPD)等几个方面针对设计的时序优化提出建议。打开一个工程后,通过选择Timing Optimization Advisor命令(Tools菜单)查看Timing Optimization Advisor。如果还没有编译工程,则Timing Optimization Advisor只为时序优化提供一般建议。如果工程已经编译完毕,则Timing Optimization A

14、dvisor能够根据工程信息和当前设置,提供特定的时序建议。,Quartus软件的网表优化选项可用于在综合以及布局布线期间进一步优化设计。网表优化通过修改网表以提高性能,从而改进fMAX结果。不管使用何种综合工具,均可应用这些选项。根据设计条件,不同的选项效果会有所不同。在Settings对话框的Synthesis Netlist Optimizations和Physical Synthesis Optimizations页面中指定综合和物理综合的网表优化选项。,使用LogicLock区域达到时序逼近的方法如下:在时序逼近平面布局图中分析设计,然后将关键逻辑约束在LogicLock区域中。Lo

15、gicLock区域通常为分层结构,使设计者对模块或模块组的布局和性能有更强的控制。可以在个别节点上使用LogicLock功能,比如将沿着关键路径的节点分配给LogicLock区域。要在设计中使用LogicLock区域成功地改进性能,需要详细掌握设计的关键路径。一旦在LogicLock区域内达到了所要的性能,就可以对该区域的内容进行反标,以锁定逻辑布局。应用软LogicLock区域可以使这种方法更灵活有效。 增量编译也可以用来实现时序逼近,通过分配设计分区,在编译、处理其他设计分区时,只修改设计中的关键单元布局来达到时序逼近。,2.10 用Quartus完成FPGA设计的实例 本节通过设计一个如

16、图2.13(a)所示的灯光控制电路来熟悉Quartus软件的使用,开关x1和x2都可以用来控制灯f,设开关闭合为逻辑1,图2.13(b)为这个电路的真值表,这是一个简单的异或电路,但这里我们用门电路来实现。,图2.13 灯光控制电路 (a) 电路;(b) 真值表,2.10.1 建立一个新工程 Quartus软件设计的一个电路或者电路模块称做工程。Quartus软件同时只能处理一个工程,所有与该工程相关的内容都保存在一个目录下。要设计一个电路,第一步就是建立一个工程,我们使用introtutorial这个目录保存工程文件。 运行Quartus软件,图2.14是Quartus 6.0刚启动时的图形界面。Quartus的大多数功能都是通过菜单操作完成的,如单击File菜单,选中Exit可退出Quartus。图2.15是File菜单的例子。,图2.14 Quartus 6.0的图形界面,图2.15 File菜单的例子,按照以下步骤使用新建工程向导建立一个新工程: (1) 选择

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

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号