如何使用 max_fanout

在 逻辑层级不多,但是延时较高的 net 中,可以使用 max_fanout 来设置扇出,

但是要注意,还要如果驱动与负载不在同一层,一定要约束到负载的input,否则不生效

并且还要在 例化负载模块时加上 (* keep_hierarchy="no" *),否则如果负载在不同的层级下,也会报如下的错误,fanout 不生效

INFO: [Synth 8-5777] Ignored max_fanout on net down_rx_cmd[0] because some of its loads are not in same hierarchy as its driver 

参考ug901 Vivado Design SuiteUser Guide  -- Synthesis  的 p59

 

一定要在 synthesis 的 log 中看到如下的 log,才算生效

INFO: [Synth 8-4618] Found max_fanout attribute set to 50 on net down_rx_cmd[0]. Fanout reduced from 382 to 48 by creating 7 replicas.

 也可以用  reports --  reports high fanout  查看负载情况,或者直接查看原理图,

如果驱动reg 被用 ila 观察,则会自动加 mark_debug 和 dont_touch 属性,会使 max_fanout 不起作用,如果一定要观察此信号,可以将此信号至少打两拍,然后拉到 ila 观察,才不会影响 max_fanout 的生效

 其他注意事项可以参考Vivado综合属性之MAX_FANOUT_努力不期待的博客-CSDN博客_max_fanout

关于Vivado综合属性:MAX_FANOUT_jerwey的博客-CSDN博客_max_fanout

如下为例化最终负载模块添加 hierarchy设置和 在input端口的设置,驱动端无需特别更改

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值