Intel® Quartus® Prime Pro Edition用户指南: 设计编译

ID 683236
日期 12/16/2019
Public
文档目录

1.11. Fitter设置参考

使用Fitter设置定制设计的布局和布线。 点击Assignments > Settings > Compiler Settings > Advanced Settings (Fitter)访问Fitter设置。
表 33.  高级Fitter设置(1/8)

选项

说明

ALM Register Packing Effort

寄存器布局期间指导Fitter在封装ALM时的积极性。使用该选项增加辅助寄存器位置。提高ALM封装密度可能会降低适配设计时所需的ALM数量,但同时也可能减少布线灵活性和时序性能。

  • Low—Fitter会避免ALM封装配置,由于这些配置会将并无直接连接性的LUT和寄存器进行合并。避免这些配置可能提高时序性能但会增减实现设计所需的ALM数量。
  • Medium—Fitter允许在ALM处实现一些悬空LUT和寄存器间进行合并的配置。Fitter会更多使用ALM中辅助寄存器的位置。
  • High—Fitter使能所有合法和需要的ALM封装配置。在密集设计中,Fitter根据要求自动增加ALM寄存器封装效果,使设计恰到好处。

Advanced Physical Synthesis

使能Physical Synthesis引擎,其中包括适配期间提高电路性能的组合型和顺序型优化。

Allow Delay Chains

允许Fitter选择最佳延迟链,以符合所有I/O元件的tSU和tCO时序要求。使能该选项可能减少tSU违规的数量,但同时会引入最少量的tH违规。使能该选项不会覆盖单个节点上的延迟链设置。

Allow DSP Retiming

允许通过DSP块重新定时。

Allow Early Global Retiming in the Fitter

允许Compiler在Fitter中提早运行全局重定时。

Allow Hyper-Aware Register Chain Area Optimizations in the Fitter

通过自动强制背到背(back-to-back)寄存器成为Hyper Register来减少使用ALM。开启此区域性减少技术可能降低性能并增加编译时间。

Allow RAM Retiming

允许通过RAM块重新定时。

Allow Register Duplication

允许Compiler复制寄存器以提高设计性能。使能该选项时,Compiler复制该寄存器并将其中一些扇出移动到对应的新节点。该优化可改善可布线性,并减少具有多个扇出的网络中的布线线缆的总数量。如果禁用该选项,则会禁用通过重定时寄存器的优化。

注: 仅适用于 Intel® Arria® 10 Intel® Cyclone® 10 GX器件。

Allow Register Merging

允许Compiler删除与设计中其他寄存器相同的寄存器。使能该选项后,如果两个寄存器生成相同逻辑,Compiler删除一个寄存器并将寄存器扇出保留在被删除寄存器的目的地。该选项有助于防止Compiler删除特意使用的复制寄存器。

如果禁用寄存器合并,则Compiler禁用重定时寄存器的优化。

注: 仅适用于 Intel® Arria® 10 Intel® Cyclone® 10 GX器件。

Auto Delay Chains for High Fanout Input Pins

允许Fitter选择如何优化高扇出输入管脚延迟链。必须使能Auto Delay Chains启动此选项。使能该选项可能会减少tSU违规的数量,但编译时间会显著增加,因为Fitter会尝试优化所有扇出设置。

Auto Fit Effort Desired Slack Margin

指定Fitter保持的默认最差情况下的空闲裕量(slack)。如果设计的各路径上至少有该指定的裕量,则Fitter会降低优化效果以减少编译时间。

注: 仅适用于 Intel® Arria® 10 Intel® Cyclone® 10 GX器件。
表 34.  高级Fitter设置(2/8)

选项

说明

Auto Global Clock

允许Compiler选择全局时钟信号。Compiler选择为触发器馈送最多时钟输入的信号。该信号遍布全局布线路由选择路径上的所有器件。为防止Compiler自动选择特定信号作为全局时钟,可将该信号上的Global Signal选项设置为Off

Auto Global Register Control Signals

允许Compiler选择全局寄存器控制信号。Compiler选择为触发器(不包括时钟信号)馈送最多控制信号输入的信号作为全局信号。这些全局信号遍布全局路由选择路径上的器件。依据目标器件系列,这些控制信号可包含异步清零和加载,同步清零和加载,时钟使能和预置信号。如要防止Compiler自动选择特定信号作为全局寄存器控制信号,可将该信号上的Global Signal选项设置为Off

Auto Packed Registers

允许Compiler合并寄存器和组合块,或使用I/O单元,RAM块或DSP块代替逻辑单元来实现寄存器。该选项控制Fitter将寄存器和其他功能块合并以减少设计面积的积极程度。通常,AutoSparse Auto设置适合。

其他设置会限制Fitter将寄存器与其他功能块合并的灵活性,并且导致无法适配。

  • Auto—Fitter尝试以良好面积实现最佳性能。如有必要,Fitter合并额外逻辑将设计面积减少到当前器件范围内。
  • Sparse Auto—Fitter尝试实现最高性能,在不超出器件逻辑容量的前提下增加器件用途。
  • Off—Fitter不会将寄存器和其他功能进行组合。Off设置会显著增加设计面积并导致无法适配。
  • Sparse—Fitter以一定程度合并各功能且可提高多数设计的性能。
  • Normal—Fitter结合了可最大化设计性能和减小面积的功能。
  • Minimize Area—Fitter积极组合不相关功能以减少布局设计所需的面积,但有性能损失。
  • Minimize Area with Chains—Fitter更加积极组合寄存器级联链部分的功能或将可转换成寄存器级联链的部分进行组合。

如果该选项设置为Off以外的其他值时,通过I/O单元合并寄存器以改善I/O时序。如果保持有效状态则说明已使能Optimize IOC Register Placement For Timing选项。

Auto RAM to MLAB Conversion

指定Fitter是否转换Auto块类型的RAM以使用LAB位置。如果该选项设置为Off,则仅带有MLAB类型设置的MLAB单元或RAM单元可使用LAB从而实现存储器。

Auto Register Duplication

允许Fitter自动复制具有空逻辑单元的LAB中的寄存器。该选项不更改设计的功能性。如果Logic Cell Insertion-- Logic Duplication逻辑选项的设置选为OFF,则Compiler忽略Auto Register Duplication选项。启用该选项允许Logic Cell Insertion -- Logic Duplication逻辑选项提高设计的布通率,但会使设计的形式验证更加困难。

注: 仅适用于 Intel® Arria® 10 Intel® Cyclone® 10 GX器件。
表 35.  高级Fitter设置(3/8)

选项

说明

Enable Auto-Pipelining 启用自动流水线和延迟敏感错误路径功能。结合Assignment Editor中的Maximum Additional Pipelining和可选Additional Pipelining Group约束使用该设置可自动在指定位置添加流水线寄存器。
注: 仅适用于 Intel® Stratix® 10 Intel® Agilex™ 器件。

Enable Bus-Hold Circuitry

使能器件操作期间的总线保持电路。该选项为On时,管脚保持其未驱动时的最后逻辑电平,且不进入高阻抗逻辑电平。Weak Pull-Up Resistor设计时不要使用该选项,从Fast选项使能对Critical Chain Viewer的定位。如果将该选项应用于管脚以外的内容,则Compiler将其忽略。

Enable Critical Chain Viewer

使能 Intel® Stratix® 10 Intel® Agilex™ 器件Fast Forward Timing Closure Recommendations报告中的关键链可视化。

Equivalent RAM and MLAB Paused Read Capabilities

指定MLAB单元中实现的RAM是否需要具有如块RAM中实现的RAM的等效暂停读取功能。暂停读取是禁用读取时保持最后读取值的能力。允许暂停读取功能的差异性为使用MLAB单元实现RAM中的Fitter提供更多灵活性。

为Fitter在使用MLAB单元决定实现RAM时提供最大灵活性,可将该选项设置为Don't Care。可用选项,如下:
  • Don't Care—Fitter可将RAM转换为MLAB单元,即使它们没有与块RAM实现等效的暂停读取功能。Fitter生成关于带有不同暂停读取功能的RAM的信息消息。
  • Care—Fitter不将RAM转换成MLAB单元,除非他们具有与块RAM实现等效的暂停读取功能。

Equivalent RAM and MLAB Power Up

指定MLAB单元中实现的RAM是否需要具有如块RAM中实现的RAM的等效上电情况。器件上电或全局性复位时,出现上电情况。允许非等效上电情况可为Fitter在使用MLAB单元实现RAM时提供更多灵活性。

要为Fitter在使用MLAB单元决定实现RAM时提供更多灵活性,可将该选项设置为AutoDon't Care。可用选项,如下:

  • Auto—Fitter可能将RAM转换成MLAB单元,即使MLAB单元缺少与块RAM实现等效的上电条件。Fitter也会针对无等效上电条件的RAM输出警告消息。
  • Don't Care—与Auto应用相同行为,但提供消息报文。
  • Care—除非RAM具有与块RAM实现等效的上电条件,否则Fitter不会将RAM转换成MLAB单元。

Final Placement Optimizations

指定Fitter是否执行最终布局优化。执行最终布局优化可能会提改善时序和路由选择性,但可能需要更长编译时间。

Fitter Aggressive Routability Optimizations

指定Fitter是否积极优化路由选择性。执行积极的布通率优化可能降低设计速度,但可能还会减少路由选择线缆和路由选择时间。Automatically设置允许Fitter决定积极布通率是否有益。

表 36.  高级Fitter设置(4/8)

选项

说明

Fitter Effort

指定适配期间物理性综合优化的级别:

  • Auto—调整Fitter优化效果以最小化编译时间,同时实现设计时序要求。使用Auto Fit Effort Desired Slack Margin选项充分应用优化效果达到额外时序裕量(slack)。
  • Standard—最大程度使用优化效力不考虑设计要求,实现简易设计中的更高编译时间和更多裕量。对于复杂设计,AutoStandard都可最大程度使用优化效力。
注: 仅适用于 Intel® Arria® 10 Intel® Cyclone® 10 GX器件。

Fitter Initial Placement Seed

为当前设计指定seed。该值可为任何非负整数。默认情况下,Fitter使用的seed值为1。

在优化设计以符合时序要求fMAX时,Fitter将该seed作为初始布局配置。因为每个不同seed值会导致不同的适配结果,所以可多次尝试不同seed以获得最佳适配结果。

如果改变设计,则取得设计中最佳适配结果的seed也会改变。此外,更改seed可能会也可能不会获得更好适配。因此,仅当Fitter与时序要求相差较小量时,才指定seed。

注: 还可使用Design Space Explorer II (DSEII) 扫描复杂流程参数,包括 Intel® Quartus® Prime软件中优化设计性能的seed。

Logic Cell Insertion

允许Fitter自动在两个节点间插入缓冲逻辑单元且不改变设计功能性。Compiler通过器件中未使用的逻辑创建缓冲逻辑单元。此选项还允许Fitter在LAB内复制其中未使用的逻辑单元。在设计要求各方面符合设计时,默认设置Auto允许这些操作运行。
注: 仅适用于 Intel® Arria® 10 Intel® Cyclone® 10 GX器件。

MLAB Add Timing Constraints for Mixed-Port Feed-Through Mode Setting Don't Care

指定Timing Analyzer是否评估MLAB存储器块写和读操作间的时序约束。同时执行同一地址上的写和读操作可能导致亚稳定性问题,因为默认情况下这些操作之间无时序约束。启动该选项可为MLAB存储器块上的写和读操作之间引入时序约束,从而避免亚稳定性问题。然而,开启该选项会降低MLAB存储器块的性能。如果您的设计不用同时执行同一地址上的读写操作,则无需设置该项。

Number of Example Nodes Reported in Fitter Messages

允许指定Fitter消息应显示的实例节点的最大数量。
表 37.  高级Fitter设置(5/8)

选项

说明

Optimize Design for Metastability

该设置通过提高其Mean Time Between Failures(MTBF,故障平均间隔时间)提高设计稳定性。使能该设置后,Fitter提高设计中同步器寄存器的输出设置裕量(slack)。此裕量可呈指数提高设计MTBF。该选项仅适用于使用Timing Analyzer进行时序驱动编译时。使用Timing Analyzer report_metastability命令查看设计中检测出的同步器并生成MTBF估值。

Optimize Hold Timing

指示Fitter优化器件内的保持时间,以符合时序要求和约束。可使用设置如下:

  • I/O Paths and Minimum TPD Paths—指示Fitter符合以下时序要求和约束:
    • tH从I/O管脚到寄存器。
    • Minimum tCO从寄存器到I/O管脚。
    • Minimum tPD从I/O管脚或寄存器到I/O管脚或寄存器。
  • All Paths—指示Fitter符合以下时序要求和约束:
    • tH从I/O管脚到寄存器。
    • 最小tCO从寄存器到I/O管脚。
    • 最小tPD从I/O管脚或寄存器到I/O管脚或寄存器。

禁用Optimize Timing逻辑选项时,Optimize Hold Timing选项不可用。

Optimize IOC Register Placement For Timing

指定Fitter是否通过将寄存器自动封装到I/O中实现I/O管脚时序优化从而最大限度减少延迟。

  • Normal—Fitter将寄存器适时封装到I/O,从而改善I/O时序。
  • Pack All I/O Registers—Fitter积极将任何与输入,输出或输出使能管脚连接的寄存器封装到I/O中,除非受到您的约束或其他合法性限制。
  • Off—运行无外设到核心优化。

Optimize Multi-Corner Timing

指示Fitter考虑优化中的时序拐点以满足时序要求。这些时序延迟拐点包括快速拐点时序和慢速拐点时序。默认情况下,该选项为On,Fitter会优化针对多拐点延迟以及慢速观点延迟考虑的设计。该选项为Off时,Fitter优化仅针对慢拐点时序模型(为给定速度等级,低电压条件下运行而制造的最慢器件)中慢拐点延迟考虑的设计。该选项为On时通常可创建跨工艺,温度和电压变化的,更加可靠的设计实现。

禁用Optimize Timing逻辑选项时,Optimize Hold Timing选项不可用。

Optimize Timing

指定Fitter是否优化以符合最大延迟时序要求(例如,时钟周期时间)。默认情况下,该选项设置为Normal compilation。该选项为Off时有助于适配具有极高互连要求的设计。该选项为Off时还可减少编译时间但会牺牲时序性能(因为Fitter忽略设计时序要求)。如果该选项为Off,则其他Fitter时序优化选项无效(例如Optimize Hold Timing)。

表 38.  高级Fitter设置(6/8)

选项

说明

Periphery to Core Placement and Routing Optimization

指定Fitter是否应针对FPGA内核中外设逻辑和寄存器间直接连接上的布局或路由选择进行优化。可使用如下选项:

  • Auto—Fitter自动识别具有紧凑时序窗口的传输,布局内核寄存器并对前往外设或来自外设的连接进行布线。在内核心布局和布线剩余部分完成以前,Fitter执行这些布局和布线决策。此序列可确保这些关键时序连接符合时序,且避免路由选择拥塞。
  • On—不考虑时序要求,Fitter优化外设和核心寄存器之间的所有传输。不要将该选项设置为全局性On。而是使用Assignment Editor针对目标节点或实体集分配优化。
  • Off—Fitter运行无外设到核心优化。
注: 仅适用于 Intel® Arria® 10 Intel® Cyclone® 10 GX器件。

Physical Placement Effort

控制Fitter在高级物理布局优化期间发挥的效力。HighMaximum工作量设置会导致进一步优化布局解决方案中的额外编译时间。

Placement Effort Multiplier

指定Fitter消耗在布局上的相对时间。默认值为1.0,合法值必须大于0。指定一个浮点数以允许控制布局工作量。较高值会增加CPU时间但也可能提高布局质量。例如,值为“4”可大于增加2-4倍的适配时间但也可能提高质量。

Power Optimization During Fitting

指示Fitter执行针对降低器件总功耗的优化。可用于电源优化适配的设置为:

  • Off—不运行功耗优化。
  • Normal compilation—执行功耗优化,对编译时间或设计性能产生消极影响的可能性不大。
  • Extra effort—执行额外功耗优化,可能影响设计性能或导致较长编译时间。
表 39.  高级Fitter设置(7/8)

选项

说明

Programmable Power Maximum High-Speed Fraction of Used LAB Tiles

设置高速LAB tile小数部分的上限。合法值必须介于0.0和1.0至之间。默认值为1.0。值为1.0表示对高速tile的数量无限制,Fitter使用符合设计要求所需的最小数量。指定一个低于1.0的值可能降低时序质量,因为某些时序关键资源可能被强制进入低功耗模式。

Programmable Power Technology Optimization

控制Fitter对tile的配置以在高速或低功耗模式中运行。可使用以下选项:

  • Automatic—指定Fitter最小化功耗但同时保持时序性能。
  • Minimize Power Only—指定Fitter设置在低功耗模式下运行时tile的最大数量。
  • Force All Used Tiles to High Speed—指定Fitter设置高速模式下使用的所有tile。
  • Force All Tiles with Failing Timing Paths to High Speed—将所有失败路径设置为高速模式。对于符合时序的设计,该设置的行为与Automatic设置相类似。

对于不符合时序的设计,将所有带有负裕量(slack)的路径设置为高速模式。此模式很可能不增加设计速度,但可能提高静态功耗。该模式有助于确定因时序收敛而需重新设计的逻辑路径。

注: 仅适用于 Intel® Arria® 10 Intel® Cyclone® 10 GX器件。

Router Timing Optimization Level

控制路由器尝试满足时序要求的积极度。将该选项设置为Maximum可略微提高设计速度,但会增加编译时间。将该项设置为Minimum时可减少编译时间,但会略微减缓设计速度。默认值为Normal

Run Early Place during compilation

使能完全编译期间Early Place Fitter阶段。开启该设置可能增加Fitter处理时间。
表 40.  高级Fitter设置(8/8)

选项

说明

Synchronizer Identification

指定Compiler识别用于亚稳定分析的同步寄存器链寄存器。同步寄存器链是具有相同时钟且相互间无扇出的寄存器序列,并由另一时钟域中的管脚或逻辑驱动。

可用选项如下:

  • Off—Timing Analyzer不会将指定寄存器,或指定实体中的寄存器识别为同步化寄存器。
  • Auto—Timing Analyzer使用多个不包含组合逻辑的寄存器识别链中的有效同步寄存器。使用Auto设置生成关于设计中可能出现的同步链的报告。
  • Forced if Asynchronous—如果软件检测到同步信号传输,则Timing Analyzer识别同步寄存器链,即使链中存在组合逻辑或仅有一个寄存器。
  • Forced—Timing Analyzer将指定寄存器,或指定实体中的所有寄存器识别为同步器。Forced选项仅可用于整个设计。否则,设计中所有寄存器都被标识为同步器。

Fitter优化被识别为同步器的寄存器以改善Mean Time Between Failure(MTBF,故障平均间隔时间), 并提供使能Optimize Design for Metastability

如果同步化寄存器链由ForcedForced if Asynchronous选项识别到,则在该链满足设计要求后,Timing Analyzer报告其亚稳定性MTBF。

Treat Bidirectional Pin as Output Pin

指定Fitter将双向管脚作为输出管脚,表示输入路径馈送回输出路径。

Use Checkered Pattern as uninitialized RAM Content

将作为初始RAM内容的方格码型加载到所有RAM块,且无需支持内容初始化的指定RAM内容。开启该选项不影响仿真,但可能导致片上行为与仿真结果不同。

Weak Pull-Up Resistor

当器件运行与用户模式时,使能弱上拉电阻。该选项将高阻抗总线信号拉至VCC。请勿同时使能该选项与Enable Bus-Hold Circuitry选项。如果应用任何除管脚以外的内容则Fitter忽略该选项。