Vivado常用综合选项的设置

来源:铭云石(CSDN博主)

-flatten_hierarchy

full: 综合时将原始设计打平,只保留顶层层次,执行边界优化
none: 综合时完全保留原始设计层次,不执行边界优化
rebuilt: 综合时将原始设计打平,执行边界优化,综合后将网表文件按照原始层次显示,故与原始层次相似。

当-flatten_hierarchy为none时消耗的寄存器最多,建议其设定为默认值rebuilt。

-fsm_extraction

用于设定状态机的编码方式,默认值为auto。
-fsm_encoding
功能同上,优先级高于-fsm_extraction,但如果代码本身已经定义了编码方式,该设定将无效。
one-hot:任意状态只有一个比特位置一。

-keep_equivalent_registers

equivalent registers,等效寄存器,即共享输入数据的寄存器。
勾选时,等效寄存器不合并;
不勾选时,等效寄存器合并。
等效寄存器可以有效的降低扇出,可以通过综合属性keep避免其被合并。

-resource_sharing

其目的是对算术运算通过资源共享优化设计资源
auto
on
off

-control_set_opt_threshold

触发器的控制集由时钟信号、复位/置位信号和使能信号构成,通常只有{clk,set/rst,ce}均相同的触发器才可以被放置在一个SLICE中。
control_set_opt_threshold的值为控制信号(不包括时钟和数据)的扇出个数,表明对小于此值的同步信号进行优化,显然此值越大,被优化的触发器越多,但占用的查找表也越多。
control_set_opt_threshold的值为0,不进行优化。
auto:默认值。

-no_lc

对于一个x输入布尔表达式和一个y输入的布尔表达式,只要满足x + y ≤5(相同变量只算一次),这两个布尔表达式就可以放置在一个LUT6中实现。
当-no_lc被勾选时,则不允许出现LUT整合。
通过LUT整合可以降低LUT的资源消耗率,但也可能导致布线拥塞。因此,xilinx建议,当整合的LUT超过了LUT总量的15%时,应考虑勾选-no_lc,关掉LUT整合。

-shreg_min_size

shreg_min_size决定了当VHDL代码描述的移位寄存器深度大于此设定值时,将采用“触发器+SRL+触发器”的方式实现。

版权声明:本文为CSDN博主「言人善友」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/youngming123/article/details/79617575

推荐阅读