英特尔LOGO

intel AN 903 加速时序收敛

intel-AN-903-加速时序收敛产品

AN 903:加速英特尔® Quartus® Prime 专业版中的时序收敛

结合了嵌入式系统、IP 和高速接口的现代 FPGA 设计的密度和复杂性对时序收敛提出了越来越多的挑战。 后期架构更改和验证挑战可能导致耗时的设计迭代。 本文档总结了在英特尔® Quartus® Prime 专业版软件中使用经过验证和可重复的方法加速时序收敛的三个步骤。 该方法包括初始 RTL 分析和优化,以及用于最大程度缩短编译时间并降低时序收敛所需的设计复杂性和迭代次数的自动化技术。

时序收敛加速步骤

intel-AN-903-加速时序收敛-FIG-1

时序收敛加速步骤

时序收敛步骤 时序收敛活动 详细信息
第 1 步:分析和优化 RTL •    更正 Design Assistant 违规行为 第 4 页

•    降低逻辑电平 第 7 页

•    减少高扇出网络 第 9 页

•    英特尔 Quartus Prime 专业版 版本用户指南:设计 优化

•    英特尔 Quartus Prime 专业版 版本用户指南:设计 建议

第 2 步:应用编译器优化 •    应用编译器优化模式 与策略 第 13 页

•    减少高利用率的拥塞 第 16 页

•    英特尔 Quartus Prime 专业版 版本用户指南:设计 汇编

•    英特尔 Quartus Prime 专业版 版本用户指南:设计 优化

第 3 步:保持满意的结果 •    锁定时钟、RAM 和 DSP 第 20 页

•    保留设计分区结果 第 21 页

•    英特尔 Quartus Prime 专业版 版本使用指南:Block- 基础设计

•    AN-899:减少编译 快速保存时间

第 1 步:分析和优化设计 RTL

优化设计的源代码通常是提高结果质量的首要方法,也是最有效的方法。 Intel Quartus Prime Design Assistant 可帮助您快速纠正基本设计规则违规,并推荐 RTL 更改以简化设计优化和时序收敛。

时序收敛问题

  • 过多的逻辑电平会影响 Fitter 处理顺序、持续时间和结果质量。
  • 高扇出网络会导致资源拥塞并在数据路径上增加额外的压力,不必要地增加路径关键性,并使时序收敛复杂化。 这种张力是将路径(以及共享该高扇出信号的所有路径)拉向高扇出源的吸引力。

时序收敛解决方案

  • Correct Design Assistant Violations(第 4 页)— 快速识别和纠正与您的设计相关的基本设计规则违规。
  • 降低逻辑电平(第 7 页)— 以确保设计的所有元素都能获得相同的 Fitter 优化并缩短编译时间。
  • 减少第 9 页的高扇出网络——减少资源拥塞并简化时序收敛。

相关信息

  • “使用 Design Assistant 检查设计规则”,英特尔 Quartus Prime 专业版用户指南:设计建议
  • “优化源代码”,英特尔 Quartus Prime 专业版用户指南:设计优化
  • “用于扇出控制的重复寄存器”,英特尔 Quartus Prime 专业版用户指南:设计优化

更正 Design Assistant 违规行为

执行初始设计分析以消除已知的时序收敛问题可显着提高生产率。 使用默认设置运行初始编译后,您可以重新view Design Assistant 报告以供初步分析。 启用后,Design Assistant 会自动报告任何违反英特尔 FPGA 推荐的标准设计指南的行为。 您可以在 Compilation Flow 模式下运行 Design Assistant,从而允许您 view 与编译相关的违规行为tag你跑了。 或者,Design Assistant 在 Timing Analyzer 和 Chip Planner 的分析模式下可用。

  • 编译流程模式— 在一个或多个 s 期间自动运行tages 的编译。 在此模式下,Design Assistant 在编译期间使用流入(瞬态)数据。
  • 分析模式—从 Timing Analyzer 和 Chip Planner 运行 Design Assistant 以分析特定编译时的设计违规tage,在继续编译流程之前。 在分析模式下,Design Assistant 使用静态编译快照数据。

Design Assistant 将每个规则违规指定为以下严重级别之一。 您可以指定希望 Design Assistant 在您的设计中检查哪些规则,并自定义严重性级别,从而消除对您的设计不重要的规则检查。

Design Assistant 规则严重级别

类别 描述 严重级别颜色
批判的 解决交接问题。 红色的
高的 可能导致功能故障。 可能表示缺少或不正确的设计数据。 橙子
中等的 可能影响 f 的结果质量最大限度 或资源利用率。 棕色的
低的 规则反映了 RTL 编码指南的最佳实践。 蓝色的

设置设计助手
您可以根据自己的设计特征和报告要求完全自定义设计助手。 单击 Assignments ➤ Settings ➤ Design Assistant Rule Settings 以指定控制哪些规则和参数适用于各种 s 的选项tag用于设计规则检查的设计编译 es。

Design Assistant 规则设置intel-AN-903-加速时序收敛-FIG-2

跑步设计助理
启用后,Design Assistant 会在编译期间自动运行,并在编译报告中报告已启用的设计规则违规情况。 或者,您可以在分析模式下对特定的编译快照运行 Design Assistant,以仅将分析重点放在tage. 要在编译期间启用自动 Design Assistant 检查:

  • 在 Design Assistant Rule Settings 中开启 Enable Design Assistant execution during compilation。 要在分析模式下运行 Design Assistant 以根据适用于快照的任何设计规则验证特定快照:
  • 单击 Timing Analyzer 或 Chip Planner Tasks 面板中的 Report DRC。

View编辑和修正 Design Assistant 结果
Design Assistant 报告在各种 s 中启用设计规则违规tag汇编报告的 es。

Design Assistant 在综合、规划、布局和最终确定报告中的结果intel-AN-903-加速时序收敛-FIG-3

到 view 要查看每个规则的结果,请单击“规则”列表中的规则。 将显示规则说明和更正设计建议。

Design Assistant 违规建议

intel-AN-903-加速时序收敛-FIG-4

修改您的 RTL 以更正设计规则违规。

降低逻辑电平

过多的逻辑电平会影响 Fitter 的结果质量,因为设计关键路径会影响 Fitter 处理顺序和持续时间。 Fitter 根据时序裕度对设计进行布局和布线。 Fitter 将松弛最少的较长路径放在首位。 Fitter 通常优先考虑较高逻辑级路径而不是较低逻辑级路径。 通常,在 Fitter 之后tage 完成后,剩下的关键路径不是最高逻辑级路径。 Fitter 为更高级别的逻辑提供首选布局、布线和重定时。 降低逻辑级别有助于确保设计的所有元素都获得相同的 Fitter 优先级。 在 Timing Analyzer 中运行 Reports ➤ Custom Reports ➤ Report Timing 以生成显示路径中逻辑级别的报告。 如果路径时序失败并且逻辑级数很高,请考虑在该部分设计中添加流水线以提高性能。

路径报告中的逻辑深度

intel-AN-903-加速时序收敛-FIG-5

报告逻辑层次深度
在编译器的计划之后tage、可以在Timing Analyzer Tcl控制台运行report_logic_depth来 view 时钟域内的逻辑电平数。 report_logic_depth 显示关键路径中逻辑深度的分布,使您能够确定可以降低 RTL 中逻辑级别的区域。

report_logic_depth -panel_name -来自 [get_clocks ] \ -到 [get_clocks ]

report_logic_depth 输出intel-AN-903-加速时序收敛-FIG-6

要获取用于优化 RTL 的数据,请在 Compiler's Plan 之后运行 report_logic_depthtage、运行前剩下的Fittertages。 否则,post-Fitter 报告还包括物理优化(重定时和重新综合)的结果。

报告邻居路径
运行 Fitter (Finalize) 之后tage,您可以运行 report_neighbor_paths 来帮助确定关键路径的根本原因(例如ample、高逻辑电平、重定时限制、次优布局、I/O 列交叉、保持修复或其他):report_neighbor_paths -to_clock -n路径-面板名称

report_neighbor_paths 报告设计中时序最关键的路径,包括相关的裕量、附加路径摘要信息和路径边界框。

report_neighbor_paths 输出intel-AN-903-加速时序收敛-FIG-7

report_neighbor_paths 显示每个关键路径之前和之后的最时序关键路径。 如果路径上有负裕量,但路径前或路径后有正裕量,则路径的重定时或逻辑平衡可以简化时序收敛。

要启用重定时,请确保打开以下选项:

  • 对于寄存器——启用分配➤设置➤编译器设置➤寄存器优化➤允许寄存器重定时
  • 对于 RAM 端点—使能 Assignments ➤ Settings ➤ Compiler Settings ➤ Fitter Settings (Advanced) ➤ Allow RAM Retiming
  • 对于 DSP 端点—启用分配 ➤ 设置 ➤ 编译器设置 ➤ Fitter 设置(高级) ➤ 允许 DSP 重定时

笔记

如果需要进一步的逻辑平衡,您必须手动修改 RTL 以将逻辑从关键路径移动到路径之前或之后的路径。
如果寄存器的输出连接到它的输入,则相邻路径中的一个或两个可能与当前路径相同。 在寻找具有最差松弛度的相邻路径时,会考虑所有操作条件,而不仅仅是主路径本身的操作条件。

在技​​术地图中可视化逻辑层次 Viewer
技术地图 Viewer 还提供原理图、技术映射和设计网表的表示,可以帮助您了解设计中的哪些区域可以从减少逻辑级数中获益。 您还可以在 Chip Planner 中详细研究路径的物理布局。 定位在其中一个时序路径 viewers,右键单击时序报告中的路径,指向 Locate Path,然后选择 Locate in Technology Map View呃。

减少高扇出网络

高扇出网络会导致资源拥塞,从而使时序收敛复杂化。 通常,Compiler 会自动管理与时钟相关的高扇出网络。 Compiler 会自动将已识别的高扇出网络提升到全局时钟网络。 编译器在 Place 和 Route s 期间进行了更高的优化工作tages,这会导致有益的寄存器复制。 在以下极端情况下,您可以通过对设计 RTL 进行以下手动更改来额外减少拥塞:

高扇出网络角落案例

设计特色 手动 RTL 优化
高扇出网络,可到达许多层次结构或物理距离较远的目的地 在管道中的最后一个寄存器上指定 duplicate_hierarchy_depth 分配,以跨层次手动复制高扇出网络。 指定 duplicate_register assignment 在放置期间复制寄存器。
将控制信号从组合逻辑发送到 DSP 或 M20K 存储块的设计 将控制信号从寄存器驱动到 DSP 或 M20K 存储器。

跨层次结构注册重复
您可以在管道中的最后一个寄存器上指定 duplicate_hierarchy_depth 分配,以指导创建寄存器复制和扇出。 下图说明了以下 duplicate_hierarchy_depth 分配的影响:

set_instance_assignment -name duplicate_hierarchy_depth -to \

在哪里:

  • register_name——扇出到多个层次结构的链中的最后一个寄存器。
  • level_number——链中要复制的寄存器数。

图 9. 寄存器复制之前
设置 duplicate_hierarchy_depth 分配以实现跨层次结构的寄存器复制,并在链中的最后一个寄存器之后创建一个寄存器树。 你在下面的ex中指定寄存器名称和M代表的重复次数amp乐。 红色箭头显示重复寄存器的潜在位置。

  • set_instance_assignment –name DUPLICATE_HIERARCHY_DEPTH –to regZ Mintel-AN-903-加速时序收敛-FIG-8

注册重复 = 1
指定以下单级寄存器复制 (M=1) 会在设计层次结构的下一级复制一个寄存器 (regZ):

  • set_instance_assignment –name DUPLICATE_HIERARCHY_DEPTH –to regZ 1intel-AN-903-加速时序收敛-FIG-9

注册重复 = 3
指定三级寄存器复制 (M=3) 将三个寄存器(regZ、regY、regX)分别复制到层次结构的三级、二级和一级:

  • set_instance_assignment –name DUPLICATE_HIERARCHY_DEPTH –to regZ 3intel-AN-903-加速时序收敛-FIG-10

通过复制寄存器并将其下推到层次结构中,该设计为所有目的地保留了相同数量的周期,同时大大提高了这些路径上的性能。

放置期间注册复制
第 12 页的图 11 显示了一个具有高扇出到芯片广泛分布区域的寄存器。 通过将此寄存器复制 50 次,您可以缩短寄存器与目的地之间的距离,最终实现更快的时钟性能。 分配 duplicate_register 允许 Compiler 利用物理接近度来指导新寄存器的放置,为扇出子集供电。

图 12. 放置期间的寄存器复制intel-AN-903-加速时序收敛-FIG-11

笔记: 要在芯片上广播信号,请使用 multistage 管道。 将 duplicate_register 分配应用于管道中的每个寄存器。 这种技术创建了一个树结构,可以在整个芯片上广播信号。

View复制结果
在设计综合之后, view 复制结果在编译报告的综合文件夹中的分层树复制摘要报告中。 该报告提供以下内容:

  • 有关具有 duplicate_hierarchy_depth 分配的寄存器的信息。
  • 链长的原因,您可以将其用作进一步改进作业的起点。
  • 有关链中各个寄存器的信息,您可以使用这些信息更好地了解已实施副本的结构。

Fitter 报告还包括有关具有 duplicate_register 设置的寄存器的部分。

应用编译器优化技术

使用非常高百分比的设计tagFPGA 器件资源的减少会导致资源拥塞,从而导致更低的 fMAX 和更复杂的时序收敛。 Compiler 的优化模式设置允许您在综合期间指定 Compiler 工作的重点。 对于前amp例如,在解决资源拥塞问题时,您可以针对区域或可布线性优化综合。 您可以在 Intel Quartus Prime Design Space Explorer II 中试验这些相同优化模式设置的组合。 这些设置和其他手动技术可以帮助您减少高利用率设计中的拥塞。

时序收敛问题

  • 器件资源利用率非常高的设计会使时序收敛变得复杂。

时序收敛解决方案

  • Apply Compiler Optimization Modes and Strategies on page 13——指定设计综合的主要优化模式目标。
  • 试验面积和可布线性选项(第 16 页)——应用额外的设置集合以减少拥塞并满足面积和可布线性目标。
  • 考虑用于算术密集型设计的分形综合(第 16 页)—对于高吞吐量、算术密集型设计,分形综合通过乘数正则化、重定时和连续算术打包减少了设备资源使用。

相关信息

  • “时序收敛和优化”一章,英特尔 Quartus Prime 专业版用户指南:设计优化
  • 英特尔 Quartus Prime 专业版用户指南:设计编译

应用编译器优化模式和策略

使用以下信息来应用编译器优化模式和 Design Space Explorer II (DSE II) 编译策略。

试验编译器优化模式设置
按照以下步骤试验编译器优化模式设置:

  1. 创建或打开一个 Intel Quartus Prime 工程。
  2. 要指定编译器的高级优化策略,请单击 Assignments > Settings > Compiler Settings。 如第 4 页的表 14 所述,尝试使用以下任何模式设置。
  3. 要使用这些设置编译设计,请单击编译仪表板上的开始编译。
  4. View 编译报告中的编译结果。
  5. 单击 Tools ➤ Timing Analyzer 以 view 优化设置对性能的影响。

编译器优化模式设置

intel-AN-903-加速时序收敛-FIG-22

优化模式(编译器设置页面)

优化模式 描述
平衡(正常流量) Compiler 针对时序约束的平衡实现优化综合。
高绩效努力 Compiler 在布局和布线期间增加了时序优化工作,并启用与时序相关的物理综合优化(每个寄存器优化设置)。 每个额外的优化都会增加编译时间。
高性能和最大的布局努力 启用与以下相同的编译器优化 高绩效努力, 额外的布局优化工作。
卓越的性能 启用与以下相同的编译器优化 高绩效努力,并在分析与综合期间添加更多优化,以最大限度地提高设计性能,并可能增加逻辑面积。 如果设计利用率已经很高,此选项可能会导致拟合困难,这也会对整体优化质量产生负面影响。
以最大的放置努力实现卓越的性能 启用与以下相同的编译器优化 卓越的性能, 额外的布局优化工作。
侵略区 Compiler 以牺牲设计性能为代价积极努力减少实现设计所需的器件面积。
高布局可布线性努力 Compiler 以潜在的设计面积、性能和编译时间为代价,努力对设计进行布线。 Compiler 花费额外的时间来降低布线利用率,这可以提高可布线性并节省动态功耗。
高封装可布线性努力 Compiler 以潜在的设计面积、性能和编译时间为代价,努力对设计进行布线。 Compiler 花费额外的时间来打包寄存器,这可以提高可路由性并节省动态功耗。
为可布线性优化网表 Compiler 实施网表修改以提高可布线性,但可能会牺牲性能。
持续…
优化模式 描述
高功率努力 Compiler 努力优化低功耗综合。 高功率努力 增加综合运行时间。
攻击力 积极努力优化低功耗合成。 Compiler 进一步减少了具有最高指定或估计切换速率的信号的路由使用,从而节省了额外的动态功耗,但可能会影响性能。
激进的编译时间 减少实现设计所需的编译时间,减少工作量和性能优化。 此选项还会禁用一些详细的报告功能。

笔记: 开启 激进的编译时间 启用英特尔 Quartus Prime 设置 File (.qsf) 设置不能被其他 .qsf 设置覆盖。

Design Space Explorer II 编译策略
DSE II 允许您为资源、性能或电源优化目标找到最佳项目设置。 DSE II 允许您使用不同的预设设置和约束组合迭代编译设计以实现特定目标。 DSE II 然后报告最佳设置组合以满足您的目标。 DSE II 也可以采取优势tage 在多台计算机上编译种子的并行化能力。 DSE II 编译策略设置与第 4 页表 14 中的优化模式设置相呼应

设计空间探索者 IIintel-AN-903-加速时序收敛-FIG-12

按照以下步骤为 DSE II 指定编译策略:

  1. 要启动 DSE II(并关闭 Intel Quartus Prime 软件),请点击 Tools > Launch Design Space Explorer II。 DSE II 在 Intel Quartus Prime 软件关闭后打开。
  2. 在 DSE II 工具栏上,单击探索图标。
  3. 展开探索点。
  4. 选择设计探索。 启用任何编译策略以运行针对这些策略的设计探索。

减少高利用率的拥塞

使用超过 80% 的器件资源的设计通常在时序收敛方面最困难。 您可以应用以下手动和自动技术来进一步减少拥塞并简化时序收敛。

  • 试验面积和可布线性选项(第 16 页)
  • 考虑算术密集型设计的分形综合(第 16 页)

试验面积和可布线性选项

当器件利用率导致布线拥塞时,您可以尝试使用 Area 和 Routability 优化设置来降低设计的资源利用率和拥塞。 单击 Assignments ➤ Settings ➤ Compiler Settings ➤ Optimization Mode 以访问这些设置:

面积和可布线性选项

intel-AN-903-加速时序收敛-FIG-13

考虑算术密集型设计的分形综合

对于高吞吐量、算术密集型设计,您可以启用自动分形综合优化以改进设备资源的使用。 分形综合优化包括乘数正则化和重定时,以及连续算术打包。 优化针对具有大量低精度算术运算(例如加法和乘法)的设计。 您可以全局启用分形综合,也可以仅为特定乘法器启用分形综合。 在理想条件下,分形综合优化可以实现 20-45% 的面积缩减。

乘数正则化和重定时
乘法器正则化和重定时执行高度优化的软乘法器实现的推理。 Compiler 可以将反向重定时应用于两个或多个流水线tag如果需要的话。 启用分形综合后,Compiler 会将乘法器正则化和重定时应用于有符号和无符号乘法器。

图 16. 乘法器重定时intel-AN-903-加速时序收敛-FIG-14

笔记

  • 乘法器正则化仅使用逻辑资源,不使用 DSP 块。
  • 乘法器正则化和重定时应用于设置了 FRACTAL_SYNTHESIS QSF 分配的模块中的有符号和无符号乘法器。

连续算术打包
连续算术打包将算术门重新合成为最佳大小的逻辑块,以适应英特尔 FPGA LAB。 这种优化允许 100% 的 LAB 资源用于算术块。 启用分形综合后,Compiler 会将此优化应用于所有进位链和双输入逻辑门。 这种优化可以打包加法器树、乘法器和任何其他与算术相关的逻辑。

连续算术打包

intel-AN-903-加速时序收敛-FIG-15

笔记

请注意,连续算术打包独立于乘数正则化工作。 因此,如果您使用的是未正则化的乘法器(例如编写您自己的乘法器),那么连续算术打包仍然可以运行。 分形综合优化最适用于具有深度学习加速器或其他超出所有 DSP 资源的高吞吐量、算术密集型功能的设计。 在整个项目范围内启用分形合成可能会导致不适合分形优化的模块出现不必要的膨胀。

启用或禁用分形合成

对于英特尔 Stratix® 10 和英特尔 Agilex™ 设备,分形综合优化会自动运行小型乘法器(Verilog HDL 或 VHDL 中的任何 A*B 语句,其中操作数的位宽为 7 或更小)。 您还可以使用以下任一方法为这些设备禁用小型乘法器的自动分形合成:

  • 在 RTL 中,设置 DSP multstyle,如“Multistyle Verilog HDL Synthesis Attribute”所述。 对于前ample: (* multstyle = “dsp” *) 模块 foo(…); module foo(..) /* 合成 multstyle = “dsp” */;
  • 在.qsf file, 添加为分配如下: set_instance_assignment -name DSP_BLOCK_BALANCING_IMPLEMENTATION \DSP_BLOCKS -to r

此外,对于英特尔 Stratix 10、英特尔 Agilex、英特尔 Arria® 10 和英特尔 Cyclone® 10 GX 设备,您可以使用分形综合 GUI 选项或相应的 FRACTAL_SYNTHESIS .qsf 分配全局或为特定乘法器启用分形综合:

  • 在 RTL 中,按如下方式使用 altera_attribute:(* altera_attribute = “-name FRACTAL_SYNTHESIS ON” *)
  • 在.qsf file, 添加为赋值如下:set_global_assignment -name FRACTAL_SYNTHESIS ON -entity

在用户界面中,执行以下步骤:

  1. 单击分配 ➤ 分配编辑器。
  2. Assignment Name 选择 Fractal Synthesis,Value 选择 On,Entity 选择算术密集的实体名称,To 列选择一个实例名称。 您可以为 To 输入通配符 (*) 以分配实体的所有实例。

图 18. Assignment Editor 中的 Fractal Synthesis Assignment

intel-AN-903-加速时序收敛-FIG-16

相关信息

  • Multstyle Verilog HDL 综合属性
    • 在英特尔 Quartus Prime 帮助中。

保持满意的结果

您可以通过反标令人满意的编译结果来简化时序收敛,以锁定与时钟、RAM 和 DSP 相关的大型模块的布局。 同样,设计块重用技术使您能够为特定的 FPGA 外设或核心逻辑设计块(包含分层设计实例的逻辑)保留令人满意的编译结果,然后在后续编译中重用这些块。 在设计块重用中,您将分层实例分配为设计分区,然后在成功编译后保存和导出分区。 保留和重复使用令人满意的结果可以让您将编译器的精力和时间集中在设计中没有收敛时序的部分。

时序收敛问题

  • 除非锁定,否则 Compiler 可能会根据各种因素在不同的编译中实现不同的设计块、时钟、RAM 和 DSP。

时序收敛解决方案

  • 锁定时钟、RAM 和 DSP(第 20 页)— 对令人满意的编译结果进行反向注释以锁定与时钟、RAM 和 DSP 相关的大型模块的布局。
  • 保留设计分区结果(第 21 页)— 保留满足时序的块的分区,并将优化重点放在其他设计块上。

相关信息

  • 反向注释分配对话框帮助
  • AN-899:通过快速保存减少编译时间
  • 英特尔 Quartus Prime 专业版用户指南:基于模块的设计

锁定时钟、RAM 和 DSP

您可以通过反向注释令人满意的编译结果来简化时序收敛,以锁定与时钟、RAM 和 DSP 相关的大型模块的布局。 锁定大块布局可以产生更高的 fMAX 和更少的噪声。 锁定 RAM 和 DSP 等大块可能很有效,因为这些块比常规 LAB 具有更重的连接性,从而使放置期间的移动复杂化。 当种子通过适当的 RAM 和 DSP 放置产生良好的结果时,您可以使用反向注释捕获该放置。 随后的编译可以受益于优质种子的高质量 RAM 和 DSP 布局。 这种技术不会显着有益于 RAM 或 DSP 很少的设计。 单击 Assignments ➤ Back-Annotate Assignments 将上次编译的设备资源分配复制到 .qsf 以供下一次编译使用。 在反标类型列表中选择反标类型。

反向注释分配对话框

intel-AN-903-加速时序收敛-FIG-17

或者,您可以使用以下 quartus_cdb 可执行文件运行反向注释。 quartus_cdb –back_annotate [–dsp] [–ram] [–clock]

笔记

  • 可执行文件支持反向注释分配对话框尚不支持的附加 [–dsp]、[–ram] 和 [–clock] 变量。

保留设计分区结果

笔记

  • 对设计进行分区后,您可以保留满足时序的块的分区,并将优化重点放在其他设计块上。 此外,Fast Preserve 选项将保留分区的逻辑简化为编译期间仅接口逻辑,从而减少分区的编译时间。 Fast Preserve 仅支持根分区重用和部分重配置设计。 对于子模块对时序收敛有挑战性的设计,可以对模块分区进行单机优化编译,然后导出时序收敛的模块,在后续编译中保留实现。

保留设计分区结果

intel-AN-903-加速时序收敛-FIG-18

基于块的设计需要设计分区。 设计分区允许您保留设计中的各个逻辑块,但也可能由于分区交叉和布局规划效应而引入潜在的性能损失。 使用基于块的设计技术时,您需要平衡这些因素。 以下高级步骤描述了根分区重用设计的分区保留流程:

  1. 单击处理 ➤ 开始 ➤ 开始分析和精化。
  2. 在 Project Navigator 中,右键单击时序收敛的设计实例,指向 Design Partition,然后选择一个分区类型,如第 23 页的 Design Partition Settings 所述。

创建设计分区

intel-AN-903-加速时序收敛-FIG-19

  1. 为分区定义 Logic Lock 布局规划约束。 在 Design Partitions Window 中,右键点击分区,然后点击 Logic Lock Region > Create New Logic Lock Region。 确保区域足够大以包含分区中的所有逻辑。
  2. 要在编译后导出分区结果,请在 Design Partitions Window 中,将分区 .qdb 指定为 Post Final Export File.

最终导出后 File

intel-AN-903-加速时序收敛-FIG-20

  1. 要编译设计并导出分区,请单击 Compilation Dashboard 上的 Compile Design。
  2. 打开 Intel Quartus Prime 软件中的顶层工程。
  3. 单击 Assignments ➤ Settings ➤ Compiler Settings ➤ Incremental Compile。 打开“快速保存”选项。

快速保存选项

intel-AN-903-加速时序收敛-FIG-21

  1. 单击“确定”。
  2. 在设计分区窗口中,将导出的 .qdb 指定为分区数据库 File 对于有问题的分区。 此 .qdb 现在是项目中此分区的源。 当您启用 Fast Preserve 选项时,Compiler 会将导入分区的逻辑减少为仅接口逻辑,从而减少分区所需的编译时间。

设计分区设置

设计分区设置

选项 描述
分区名称 指定分区名称。 每个分区名称必须是唯一的并且仅包含字母数字字符。 英特尔 Quartus Prime 软件自动为每个项目修订创建一个顶层 (|) “root_partition”。
层级路径 指定分配给分区的实体实例的层次结构路径。 您在 创建新分区 对话框。 根分区层次结构路径为|。
类型 双击以指定以下分区类型之一,这些分区类型控制 Compiler 如何处理和实现分区:
持续…
选项 描述
•    默认— 标识标准分区。 Compiler 使用关联的设计源处理分区 files.

•    可重构— 标识部分重配置流程中的可重配置分区。 指定 可重构 类型以保留综合结果,同时允许在 PR 流程中修改分区。

•    预留核心— 标识基于块的设计流程中的分区,该分区是为消费者重用设备外围设备的核心开发保留的。

保存级别 为分区指定以下保留级别之一:

•    未设置——不指定保存级别。 分区从源代码编译 files.

•    合成— 分区使用合成的快照进行编译。

•    最终的— 分区使用最终快照进行编译。

保存级别 of 合成 or 最终的, 对源代码的更改不会出现在综合中。

空的 指定编译器跳过的空分区。 此设置与 预留核心 分区数据库 File 同一分区的设置。 这 保存级别 必须是 未设置. 空分区不能有任何子分区。
分区数据库 File 指定分区数据库 File (.qdb) 编译器在分区编译期间使用。 您为 s 导出 .qdbtag您要重用的编译(综合或最终)。 将 .qdb 分配给分区以在另一个上下文中重用这些结果。
实体重新绑定 • PR Flow——指定在每个实施修订中替换默认角色的实体。

• Root Partition Reuse Flow——指定替换消费者项目中保留的核心逻辑的实体。

颜色 指定 Chip Planner 和 Design Partition Planner 显示中分区的颜色编码。
综合后导出 File 每次运行 Analysis & Synthesis 时,自动将分区的综合后编译结果导出到您指定的 .qdb。 您可以自动导出任何没有保留父分区的设计分区,包括 root_partition。
最终导出后 File 自动将分区的最终后编译结果导出到您指定的 .qdb,每次最终 stage 的 Fitter 运行。 您可以自动导出任何没有保留父分区的设计分区,包括 root_partition。

AN 903 文档修订历史

本文档具有以下修订历史:

文档版本 英特尔 Quartus Prime 版本 更改
2021.02.25 19.3 将“拉”替换为“张力” 分析和优化设计 RTL 话题。
2020.03.23 19.3 更正代码 s 中的语法错误amp“锁定时钟、RAM 和 DSP”主题中的文件。
2019.12.03 19.3 • 首次公开发布。

文件/资源

intel AN 903 加速时序收敛 [pdf] 用户指南
AN 903 加速时序收敛, AN 903, 加速时序收敛, 时序收敛

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *