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

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

1.10.1. 高级综合设置(Advanced Synthesis Settings)

以下部分是所有Advanced Synthesis Settings的快速参考。 点击Assignments > Settings > Compiler Settings > Advanced Settings (Synthesis)修改这些设置。
表 20.  高级综合设置(1/13)

选项

说明

Allow Any RAM Size for Recognition

允许Compiler推断任何大小的RAM,即使RAM不符合当前最低要求。

Allow Any ROM Size for Recognition

允许Compiler推断任何大小的RAM,即使RAM不符合当前最低要求。

Allow Any Shift Register Size for Recognition

允许Compiler推断任何大小的移位寄存器,即使其不符合设计的当前最低尺寸要求。

Allow Register Duplication

控制Compiler是否复制寄存器来提高设计性能。使能后,Compiler执行优化,创建寄存器的第二副本,并将其扇出的一部分移动到这个新节点。该技术可提高路由性并减少在为具有较多扇出的网络布线时需要的路由线缆总数。如果禁用此选项,则寄存器重定时亦被禁用。

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

控制Compiler是否移除(合并)相同的寄存器。使能后,如果两个寄存器生成相同逻辑,则Compiler可能删除一个寄存器并将其余寄存器扇出到已删除寄存器目标位置。如果要阻止Compiler移除您特意使用的复制寄存器, 则此选项很有用。禁用后,重定时优化亦被禁用。

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

Allow Shift Register Merging Across Hierarchies

允许Compiler从设计的各层次获取移位寄存器,并将寄存器放入同一RAM中。

Allow Synchronous Control Signals

允许Compiler使用普通模式逻辑单元中的同步清零和同步加载信号。开启该选项有助于减少设计中使用的逻辑单元总数,但可能对适配产生消极影响。该消极影响是由于LAB中的所有逻辑单元共享同步控制信号。

表 21.  高级综合设置(2/13)

选项

说明

Analysis & Synthesis Message Level

指定Compiler显示的Analysis & Synthesis消息类型。Low仅显示最重要的Analysis & Synthesis消息。Medium显示大多数消息,但隐藏详细消息。High显示所有消息。

Auto Clock Enable Replacement

允许Compiler放置驱动寄存器的逻辑并将逻辑移动到寄存器的时钟使能输入端口。

Auto DSP Block Replacement

允许Compiler找到可以DSP块替代的乘法累加函数或乘加函数。

Auto Gated Clock Conversion

自动转换门控时钟以使用时钟使能管脚。时钟门控逻辑可包含AND,OR,MUX和NOT门控。开启此选项可能增加存储器使用和总体运行时间。必须使用Timing Analyzer进行时序分析,且必须以Synopsys Design Constraints(.sdc)格式定义所有基础时钟。

表 22.  高级综合设置(3/13)

选项

说明

Auto Open-Drain Pins

允许Compiler自动将具有强低数据(a strong low data)输入的三态缓冲器转换成等效开漏缓冲器。

Auto RAM Replacement

允许Compiler识别可用altsyncram或lpm_ram_dp IP核替换的寄存器和逻辑集。开启该选项可更改设计功能性。

Auto ROM Replacement

允许Compiler识别可用altsyncram或lpm_ram_dp IP核替换的逻辑。开启该选项可改变设计的上电状态。

Auto Resource Sharing

允许Compiler在HDL源代码的许多相似但互斥的操作之间共享硬件资源。如果使能此选项,则Compiler合并可兼容的加法,减法和乘法操作。合并操作可减少设计所需的面积。由于资源共享会在每个共享资源上引入额外的多路复用和控制逻辑,因而可能对设计的最终fMAX带来消极影响。

Auto Shift Register Placement

允许Compiler找出一组相同长度并可由altshift_taps IP核替换的移位寄存器。移位寄存器必须全部使用相同时钟和时钟使能信号。寄存器不得有任何辅助信号。寄存器还必须具有间隔相同的抽头,且抽头间至少相隔3个寄存器。

Automatic Parallel Synthesis

使能/禁用自动并行综合的选项。使用该选项通过可用的多个处理器加速综合编译时间。

表 23.  高级综合设置(4/13)

选项

说明

Block Design Naming

指定块设计命名方案。如果以此项约束设计实体以外的任何其他选项,则Compiler会将其忽略。

Clock MUX Protection

使时钟网络中的多路复用器分解为2对1多路复用器树。Compiler保护这些树不与其他逻辑合并或转移。此选项有助于Timing Analyzer分析时钟行为。

DSP Block Balancing

允许您在DSP块平衡期间控制特定DSP块片的转换。

表 24.  高级综合设置(5/13)

选项

说明

Disable DSP Negate Inferencing

允许指定是否使用推断DSP块上的negate端口。

Disable Register Merging Across Hierarchies

指定Compiler是否允许将相同输入但位于不同层次中的寄存器进行合并。

Enable Formal Verification Support 使能Compiler编写与OneSpin*形式验证工具一同使用的脚本。
Enable State Machines Inference 允许Compiler推断VHDL或Verilog HDL设计文件中的状态机。Compiler优化状态机以减少设计面积并提高性能。如果设置成Off,Compiler抽取VHDL或Verilog HDL设计文件中的状态机并将其优化成普通逻辑。

Force Use of Synchronous Clear Signals

允许Compiler使用普通模式逻辑单元中的同步清零信号。开启该选项有助于减少设计中使用的逻辑单元总数,但可能对适配产生消极影响。LAB中的所有逻辑单元共享同步控制信号。

Fractal Synthesis 开启此选项On指示Compiler对算术块应用密集封装,最小化计算密集型设计的设计面积。

HDL Message Level

指定要查看的HDL消息类型,包括显示HDL源代码中错误处理的消息。Level1仅显示最重要的HDL消息。Level2显示大部分HDL消息,包括警告和基于信息的消息。Level3显示所有HDL消息,包括警告和基于信息的消息以及潜在设计问题或lint错误的警报。

表 25.  高级综合设置(6/13)

选项

说明

Ignore GLOBAL Buffers

忽略设计中的GLOBAL缓冲。如果将该选项应用于单个GLOBAL缓冲,或包含GLOBAL缓冲的设计实体以外的任何内容,则Compiler忽略该选项。

Ignore LCELL Buffers

忽略设计中的LCELL缓冲。如果将该选项应用于单个LCELL缓冲,或包含LCELL缓冲的设计实体以外的任何内容,则Compiler忽略该选项。

Ignore Maximum Fan-Out Assignments

指示Compiler忽略节点,实体或整个设计上的最大扇出(Maximum Fan-Out Assignment)约束。

Ignore SOFT Buffers

忽略设计中的SOFT缓冲。如果该选项应用于单个SOFT缓冲或包含SOFT缓冲的设计实体,则Compiler忽略该选项。

表 26.  高级综合设置(7/13)

选项

说明

Ignore translate_off and synthesis_off Directives

忽略Verilog HDL和VHDL设计文件中的所有translate_off/synthesis_off综合指令。使用该选项禁用这些综合指令,以及包括之前在解析期间被忽略的代码。

Infer RAMs from Raw Logic

推断来自寄存器和多路复用器的RAM。最初Compiler将一些不同于RAM模板的HDL码型转换成逻辑。但因为这些结构作为RAM使用。因而,使能该选项时,Compiler可能会在稍后阶段使用altsyncram IP核实例替换它们。使能该约束后,Compiler可能使用更多器件RAM资源和更少LAB。

Iteration Limit for Constant Verilog Loops

使用评估回路条件定义Verilog循环迭代限制,以评估每个回路迭代上的编译时间常量。该限制主要用于存储器耗尽或软件陷入实际无限循环之前识别潜在的无限循环。

Iteration Limit for non-Constant Verilog Loops

使用评估回路条件定义Verilog循环迭代限制,从而不评估每个回路迭代上的编译时间常量。该限制主要用于存储器耗尽或软件陷入实际无限循环之前识别潜在的无限循环。

表 27.  高级综合设置(8/13)

选项

说明

Maximum DSP Block Usage

指定DSP块均衡器假定每分区的当前器件中存在的DSP块最大数量。该选项覆盖当前器件中支持使用最大数量DSP块的常用方法。

Maximum Number of LABs

指定Analysis & Synthesis应在器件中尝试使用的最大LAB数量。当该值为非负或小于当前器件上可用LAB的最大数量时,该选项覆盖当前器件中支持使用最大数量LAB的常用方法。

Maximum Number of M4K/M9K/M20K/M10K Memory Blocks

指定Compiler可能在器件中使用的M4K,M9K,M20K或M10K存储器块的最大数量 。当值为非负或小于当前器件支持的可用M4K,M9K,M20K或M10K存储器最大数量时,该选项会覆盖当前器件中支持的使用最多数量块的常用方法。

表 28.  高级综合设置(9/13)

选项

说明

Maximum Number of Registers Created from Uninferred RAMs

指定Analysis & Synthesis用于未推断RAM转换的最大寄存器数。可将该选项用作工程范围内选项或用于通过按分区根目录上的实例名称设置约束的特定分区。分区上的约束覆盖特定分区中的全局约束(如有)。该选项可防止导致长编译和将许多寄存器用于未推断RAM时的存储器不足。 Intel® Quartus® Prime软件发布错误并退出取代继续编译。

NOT Gate Push-Back

允许Compiler通过寄存器促使反转(NOT gate,非门)还原,并在需要实现设计时在寄存器数据输入上将其实现。开启该选项时,寄存器可上电到高电平有效状态,并在器件初始操作期间可能需要将其彻底清除。如果将该选项应用于单个寄存器或包含寄存器的设计实体以外的任何内容,则Compiler忽略该选项。将该选项应用于寄存器直接驱动的输出管脚时,相应约束将自动转移到该寄存器。

Number of Inverted Registers Reported in Synthesis Report

指定Synthesis报告显示被反转寄存器的最大数量。

Number of Protected Registers Reported in Synthesis Report 指定Synthesis报告显示受保护寄存器的最大数量。

Number of Removed Registers Reported in Synthesis Migration Checks

指定Synthesis报告显示的最大行数。

Number of Swept Nodes Reported in Synthesis Report 指定Synthesis Report显示扫除节点的最大数量。被扫除的节点是由Compiler发现的不必要节点,因而从设计中将其删除。
Number of Rows Reported in Synthesis Report

指定Synthesis报告显示的最大行数。

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

Optimization Technique

指定Analysis & Synthesis的总体优化目标。指定Balanced策略,或优化PerformanceAreaRoutabilityPowerCompile Time。Compiler以您指定的优化目标为目标。

表 29.  高级综合设置(10/13)

选项

说明

Perform WYSIWYG Primitive Resynthesis

指定综合期间是否执行WYSIWYG原语再综合。该选项使用Optimization Technique逻辑选项中的指定设置。

Power-Up Don't Care

使得无Power-Up Level logic选项设置的寄存器通过任意逻辑电平(X)上电。 Power-Up Don't Care选项开启时,Compiler会确定何时才能从更改寄存器上电电平实现设计面积最小化中获益。除非有直接区域优势,否则Compiler将上电状态保持为0。

Power Optimization During Synthesis

控制Analysis & Synthesis电源驱动编译设置。该选项决定Analysis & Synthesis如何积极优化设计中电源。该选项为Off时,Compiler不执行任何电源优化。Normal compilation执行的电源优化但不会降低设计性能。Extra effort执行额外的电源优化但可能降低设计性能。

表 30.  高级综合设置(11/13)

选项

说明

Remove Duplicate Registers

如果某寄存器与另一寄存器相同,则删除该寄存器。如果两个寄存器生成相同的逻辑,则Compiler删除重复部分。首个实例扇出到重复目的地。此外,如果被删除的寄存器包含不同逻辑选项约束,则Compiler忽略该选项。该选项有助于防止Compiler特意删除重复寄存器。若将该选项应用于单个寄存器或包含寄存器的设计实体以外的内容,则Compiler会忽略此选项。

Remove Redundant Logic Cells

删除冗余LCELL原语或WYSIWYG原语。启用该选项可优化电路面积和速度。如果将其应用于设计实体以外的内容,则Compiler会忽略该选项。

Report Parameter Settings

指定Synthesis报告是否包含Parameter Settings by Entity Instance文件中的报告。

Report PR Initial Values as Errors 允许将PR分区中找到的初始值明确标记定义为Error而非Warning。

Report Source Assignments

指定Synthesis报告是否包含Source Assignments文件中的报告。

表 31.  高级综合设置(12/13)

选项

说明

Resource Aware Inference for Block RAM

指定RAM,ROM和移位寄存器推断中是否应考虑设计和器件资源。

Restructure Multiplexers

减少设计中实现多路复用器所需逻辑单元综合的数量。该选项有助于包含零碎式多路复用器总线的设计。该选项可对区域中多路复用器进行有效重新封装,从而允许设计通过较少逻辑单元实现多路复用器:
  • On—最小化设计面积,但可能对设计时钟速度有消极影响(fMAX)。
  • Off—禁用多路复用器重组;但不会减少逻辑单元的使用,也不影响设计时钟速度(fMAX)。
  • Auto—允许 Intel® Quartus® Prime软件决定是否应使能多路复用器重组。Auto设置减少逻辑单元的使用,但可能对设计时钟速度(fMAX)有消极影响。

SDC Constraint Protection

验证寄存器合并中的.sdc约束。该选项有助于维持.sdc约束在编译过程中的有效性。

Safe State Machine

Safe State Machine选项实现可从非法状态恢复的状态机。可用设置如下:

  • Auto—对于 Intel® Stratix® 10 Intel® Agilex™ 设计,但凡Compiler确认该设置在状态机6个或更少状态中为最优时,该默认设置会使能Safe State Machine。此设置有助于允许使用意外的初始上电条件。对于 Intel® Arria® 10 Intel® Cyclone® 10 GXAuto设置与Never相同。
  • On—指示Compiler始终使用Safe State Machine
  • Never—从不使用Safe State Machine

Shift Register Replacement – Allow Asynchronous Clear Signal

允许Compiler找出一组相同长度并可由altshift_taps IP核替换的移位寄存器。移位寄存器必须全部使用相同aclr信号,不可具有任何其他辅助信号,并且具有间距相同的抽头,且抽头间至少相隔3个寄存器。要使用该选项,必须开启Auto Shift Register Replacement逻辑选项。

Size of the Latch Report 允许指定Synthesis Report应显示锁存的最大数量。
Size of the PR Initial Conditions Report 允许指定PR Initial Conditions Report应显示寄存器的最大数量。
表 32.  高级综合设置(13/13)

选项

说明

State Machine Processing

指定Compiler处理状态机的处理方式。可使用您自己的User-Encoded方式,或选择One-HotMinimal BitsGrayJohnsonSequentialAuto(Compiler选择)编码。

Strict RAM Replacement

该选项为On时,如果硬件与设计完全匹配,则Compiler仅替换RAM。

Synchronization Register Chain Length

指定Compiler认定为同步链的行中,寄存器的最大数目。同步链是具有相同时钟,且之间无扇出的寄存器序列,因而首个寄存器由管脚,或另一时钟域中的逻辑馈入。Compiler认为这些寄存器用于亚稳定性分析。Compiler阻止对这些寄存器进行优化,例如重定时。使能门级重定时后,Compiler不会删除这些寄存器。默认长度设置为2。

Synthesis Effort

控制编译速度,性能和面积间的综合权衡。默认为Auto。可选择Fast获得更快的编译速度,但会损失性能和面积。

Synthesis Migration Check for Stratix 10 使能对 Intel® Arria® 10 Intel® Stratix® 10设计迁移的综合检查。

Timing-Driven Synthesis

对于 Intel® Arria® 10 Intel® Cyclone® 10 GX设计,允许综合使用时序信息更好地优化设计。Timing-Driven Synthesis逻辑选项影响以下Optimization Technique选项:

  • Optimization Technique Speed—以增加面积(逻辑和寄存器利用率)为代价,优化设计关键时序部分以提高性能。
  • Optimization Technique Balanced—还可优化设计的关键时序部分难以提高性能,但此选项仅允许有限的面积增加。
  • Optimization Technique Area—仅针对面积进行设计优化。