2.9 设计的适配
本节将介绍Quartus设计适配的原理,实现适配过程,并对适配结果进行分析。
2.9.1 适配器设置选项
打开“Settings-top”对话框,如图 2.88 所示。在该对话框左侧的“Category”窗口中,选中 Compiler Settings。在右侧窗口中,单击“Advanced Settings(Fitter)...”按钮,弹出“Advanced Fitter Settings”对话框。在该对话框中,给出了适配器的设置选项(部分),适配器设置选项(全部)的功能描述如表2.14所示。
图2.88 “Settings-top”对话框
表2.14 适配器设置选项的功能描述
续表
续表
续表
续表
2.9.2 适配的实现
本节将对设计执行适配,主要步骤包括:
(1)选择下面方式之一启动适配过程。
① 在Quartus Prime主界面主菜单下,选择Processing->Start->Start Fitter。
② 在“Compilation Dashboard”界面中,单击“Fitter”(适配)前面的按钮。
(2)Quartus开始执行对设计的适配过程,主要包括Plan(规划)、Place(布局)、Route (布线)和Fitter(Finalize)[适配(完成)],如图2.89所示。
图2.89 适配过程结束后的界面
(3)当成功执行完适配过程后,在“Fitter”的最前面使用符号标记。
2.9.3 查看适配后的结果
本节将对适配后的结果进行分析,内容主要包括查看适配后的报告、查看适配后的网表和查看适配后的布局布线。
1.查看适配后的报告
本部分将查看适配后的报告,主要步骤包括:
(1)通过下面方式之一打开适配后的报告。
① 在Quartus Prime主界面主菜单下,选择Processing->Compilation Report。
② 在 Quartus Prime 主界面左下方的“Tasks”窗口中,在“Compilation Report”标题下,找到并单击“Compilation Report”选项。
③ 在“Compilation Dashboard”界面中,单击“Fitter”后面的(Fitter Summary)按钮。
(2)打开“Compilation Report-top”界面,如图2.90所示。
图2.90 “Compilation Report-top”界面
① Summary给出了设计中所占用片内各种资源的情况。
② Plan Stage(规划阶段)文件夹给出了规划阶段的报告信息,如图2.91所示。
③ Place Stage(布局阶段)文件夹给出了布局阶段的报告信息,如图 2.92 所示。典型地,Resource Usage Summary(资源利用率总结)文件给出了该设计所使用逻辑资源的详细信息。
④ Route Stage(布线阶段)文件夹给出了布线阶段的报告信息,如图 2.93 所示。典型地,Routing Usage Summary(布线利用率)文件给出了该设计所使用布线资源的详细情况。
图2.91 规划阶段的报告信息
图2.92 布局阶段的报告信息
图2.93 布线阶段的报告信息
⑤ Finalize Stage(完成阶段)文件夹给出了完成阶段的报告信息,如图2.94所示。
思考与练习2-9:请读者仔细分析适配后的报告细节。
2.查看适配后的网表
图2.94 完成阶段的报告信息
本部分将查看适配后的网表,主要步骤包括:
(1)使用下面的方式之一打开适配后的网表。
① 在 Quartus Prime 主界面左下方的“Tasks”窗口中,找到并单击“Analysis”标题下的“Technology Map View(Post-Fitting)”选项。
② 在“Compilation Dashboard”界面下,找到并单击“Fitter(Finalize)”右侧名字为“Technology Map View‘final’ snapshot”的按钮。
③ 在 Quartus Prime 主界面主菜单下,选择 Tools->Netlist Viewers->Technology Map Viewer(Post-Fitting)。
(2)打开适配后的网表结构,如图2.95所示。
图2.95 适配后的网表结构
① 在输入引脚a和b的后级自动插入了IO_IBUF(I/O输入)缓冲区。
② 在输入引脚clk后除插入IO_IBUF(I/O输入)缓冲区外,还插入了CLKCTRL块。③ 在输出z[0..5]的前级自动插入了IO_OBUF(I/O输出)缓冲区。
思考与练习2-10:请读者分析图2.95给出的网表结构。
3.查看适配后的布局布线
Chip Planner 通过提供芯片资源的可视化显示简化了布局规划的分析。通过 Chip Planner,设计者就可以查看编译后的布局、连接和布线路径。设计者也可以修改分配,如创建和删除资源分配。
通过打开Quartus Prime中的Chip Planner来查看适配后的布局布线,主要步骤包括:
(1)通过下面的方式之一打开Chip Planner工具。
① 在Quartus Prime主界面主菜单中,选择Tools->Chip Planner。
② 在 Quartus Prime 主界面左下方的“Tasks”窗口中,找到“Analysis”标题。在该标题下,选择并单击“Chip Planner”选项。
③ 在如图 2.95 所示的网表结构中,选中任意一个设计元素,单击鼠标右键,出现浮动菜单。在浮动菜单内,选择Locate Node->Locate in Chip Planner。
(2)打开Chip Planner工具,如图2.96所示。在该界面右侧的窗口中,提供了3个默认的标签。
图2.96 Chip Planner视图
①“Properties”标签页。
在Chip Planner主界面主菜单下,选择View->Properties,可以显示该标签页。该标签页显示了在 Chip Planner 中当前所选择对象(如原子、路径、逻辑锁定区域或布线元素)的详细属性。
②“Layers Settings”标签页。
在Chip Planner主界面主菜单下,选择View->Layers Settings,可以显示该标签页。通过该标签页,允许设计者查看与设计相关的指定架构的信息,如图2.97所示。
● 设计使用的布线资源:查看如何连接块,以及连接块的信号布线。
● LE 配置:查看设计中逻辑元素的配置。例如,可以查看使用了哪个 LE 输入、LE 是否使用寄存器和LUT,以及穿过LE的信号流。
● ALM 配置:在设计中查看 ALM 配置。例如,可以看到所使用的 ALM 输入;ALU 是否利用寄存器、上面的 LUT、下面的 LUT 或所有资源。此外,也可以看到通过ALM的信号流。
● I/O 配置:查看器件 I/O 资源的适用情况。例如,可以查看正在使用的I/O资源的组件、是否使能延迟链设置、所设置的I/O标准,以及穿过I/O的信号流。
图2.97 “Layers Settings”标签页
● PLL 配置:查看设计中的 PLL 配置。例如,可以查看该设计中使用的控制信号和PLL的设置。
● 时序:查看 FPGA 元素输入和输出之间的延迟。例如,可以分析 DATAB 输入到COMBOUT输出的时序。
此外,在该标签页顶部的下拉框中提供了“Basic”、“Detailed”和“Floorplan Editing”选项。
③“Color Legend”标签页。
在Chip Planner主界面主菜单下,选择View->Color Legend,可以显示该标签页。
(3)在 Chip Planner 主界面主菜单下,选择 View->Bird’s Eye View,可以显示鸟瞰图界面,如图2.98所示。
鸟瞰图显示整个芯片资源使用情况的高级图片,并且提供了在Chip Planner中导航感兴趣区域的一种快速和高效的方法。
当设计者在芯片两端查看设计的某些部分时,可以在不丢失参考框架的情况下快速浏览资源元素。
通过按住鼠标左键,并用鼠标拖动鸟瞰图中的巨型方框,使得感兴趣的部分出现在Chip Planner中间的视图范围内,以便于设计者观察设计细节。如图 2.99 所示,通过鸟瞰图定位到该设计所使用的逻辑资源区域。
图2.98 鸟瞰图界面
图2.99 通过鸟瞰图定位到设计所使用的逻辑资源区域
(4)选择图 2.95 中的设计元素,如名字为“a_1”的触发器,单击鼠标右键,出现浮动菜单。在浮动菜单内,选择Locate Node->Locate in Chip Planner。可以直接定位到图2.100中的逻辑单元。如图2.100所示,该界面的右侧给出了3个标签页。
图2.100 名字为“a_1”的触发器在芯片中的布局和连线
①“Properties”标签页。在该标签页中,给出了 Full Name(全名)、Full Name with entity(带有实体的全名)、Coordinate(坐标)、Resource Type(资源类型)、Location(位置)和Location Assignment(位置分配)信息。
②“Fan-in”标签页。在该标签页中,给出了当前所选中设计元素的所有输入信号,如图2.101所示。
③“Fan-out”标签页。在该标签页中,给出了当前所选中设计元素的所有输出信号,如图2.102所示。
图2.101 “Fan-in”标签页
图2.102 “Fan-out”标签页
(5)在Chip Planner主界面左下方的“Tasks”窗口中,展开“Clock Reports”选项。在展开项中,找到并用鼠标左键双击Report Clock Details...,如图2.103所示。
(6)弹出“Report Clock Details”对话框,如图 2.104 所示。在该对话框中,选中“Report destination nodes”前面的复选框。
图2.103 “Tasks”窗口
图2.104 “Report Clock Details”对话框
(7)单击“OK”按钮,退出“Report Clock Details”对话框。
(8)在“Report”窗口中,给出了要报告的时钟信息,如图 2.105 所示。在右侧窗口中,根据图例给出的不同颜色观察 Source Node、Clkctrl Node 和 Destination Node,如图2.106所示。
(9)在“Report”窗口中,选择任何一个选项,弹出浮动菜单,如图 2.107 所示。在该浮动菜单内,提供了Zoom To Report、Select Report、Properties...、Delete和Delete All子菜单。
(10)退出Chip Planner视图界面。
图2.105 “Report”窗口
图2.106 时钟信息窗口
思考与练习2-11:在“Tasks”窗口中,操作Report Registered Connections...,观察其连接状态。
思考与练习2-12:观察整个设计的逻辑资源使用连线资源的情况。
图2.107 Report内的浮动子菜单