vivado 使用块综合策略

使用块综合策略

概述

AMD Vivado™合成具有许多策略和全局设置,您可以使用这些策略和设置自定义设计的合成方式。此图显示了可用的预定义策略在“合成设置”和“表:Vivado预配置策略”中提供了一个并排的战略设置的比较。您可以使用RTL或中的属性或XDC文件覆盖某些设置,例如-retimeming用于特定层次结构或信号的XDC文件。但是,一般来说,选项会影响整个设计。随着设计变得越来越复杂,应用此类设置可能会限制您的设计充分发挥其潜力。设计中的某些层次结构使用不同的选项可能会更好地工作比其他人。下图显示了一个中型设计,它有许多不同类型的等级制度。

一种选择是在上下文外(OOC)模式中合成这样的层次结构;这是有效的,但是使设计流程复杂化。OOC流分离分配给的层次结构以OOC模式合成,并将它们与设计的其他部分分开运行。这意味着合成每个设计运行一次以上。此外,OOC约束必须是与其他设计的约束分离,增加了更多的复杂性。块级合成流(Block_SYNTH)使用的特性允许您使用某些全局不同于顶级的完整设计。

设置块级流量

要设置块级合成流(使用Block_SYNTH特性),请输入Tcl特性仅在XDC文件中。命令语法如下:

set_property BLOCK_SYNTH.<option name> <value> [get_cells <instance_name>]

•<option_name>是您要设置的选项。

•<value>是您分配给该选项的值。

•<instance_name>是要在其上设置选项的层次实例。

例如

set_property BLOCK_SYNTH.MAX_LUT_INPUT 4 [get_cells fftEngine]

将属性设置为实例名称,而不是实体或模块名称。通过使用实例名称,Vivado合成工具能够在存在模块/实体时具有更大的灵活性其被实例化多次。在所提供的示例中,fftEngine实例正在被设置,因此不存在LUT5或LUT6基元。

注意:通过在实例上设置BLOCK_SYNTH,可以影响该实例及其以下的所有内容例子例如,如果fftEngine中实例化了其他模块,那么这些模块也会不具有任何LUT5或LUT6基元。

注意:除了影响此实例外,BLOCK_SYNTH属性还导致此的层次结构要硬化的实例。注意这一点,尤其是如果此层次结构包含I/O缓冲区或正在推断输入/输出缓冲器。

当您将BLOCK_SYNTH属性放在实例上时,该实例将获得该值具体选项;所有其他选项都使用默认值。

可以在同一实例上设置多个BLOCK_SYNTH属性,以尝试不同的组合。例如,以下保持等效寄存器,禁用FSM推断,并使用AlternateRoutable策略:

set_property BLOCK_SYNTH.STRATEGY {ALTERNATE_ROUTABILITY} [get_cells
mod_inst]
set_property BLOCK_SYNTH.KEEP_EQUIVALENT_REGISTER 1 [get_cells mod_inst]
set_property BLOCK_SYNTH.FSM_EXTRACTION {OFF} [get_cells mod_inst]

为了防止影响实例下需要不同属性设置的实例,您可以在多个级别上嵌套BLOCK_SYNTH属性。如果你只想在一个特定的地方级别,您可以在该级别上设置它,在后续级别上,您可以设置默认值返回,使用如下命令:

set_property BLOCK_SYNTH.MAX_LUT_INPUT 6 [get_cells fftEngine/newlevel]

如果新级别是fftEngine下的唯一层次结构,则此命令确保只有fftEngine获取MAX_LUT_INPUT=4属性。你也可以放一套完全不同的的选项,并且不会返回到默认值。

注:当执行块级流时,该工具将此设计保持在自上而下的模式中,这意味着整个设计经过了综合。对于有问题的例子,Vivado合成保留了层次结构,以确保该级别的逻辑不会模糊并保持在该级别内。这可能有对生活质量的潜在影响。因此,在设置BLOCK_LEVEL属性时要小心。只设置它们在你知道需要它们的情况下。

块级流量选项

块级流也支持工具中的一些预定义策略。这个允许的策略有:DEFAULT、AREA_OPTIMIZED、ALTERNATE_ROUTABLY和性能优化。XDC约束语法如下:

set_property BLOCK_SYNTH.STRATEGY {<value>} [get_cells <inst_name>]

下表列出了支持的Vivado Block合成设置。

  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值