微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 如何降低fan-out太大导致的延时

如何降低fan-out太大导致的延时

时间:10-02 整理:3721RD 点击:
如题,各位大虾
好像可以用复制组合逻辑的办法,但我在verilog中这么做被dc综合时貌似会被优化掉,结果仍只有一个组合逻辑。
另外可不可以通过设置dc达到目的
谢谢

set_max_fanout value
默认的value是无穷大 你可以把value改小 不过面积就会变大


哦。谢谢
那有什么办法使复制的组合逻辑不被优化掉吗?

verilog代码中使用keep没?
还是使用keep也会被优化?


我是用dc综合的,请问keep如何写?



DC不熟,你可以查下DC的手册,类似关于synthesis attribute部分的
一般是下面的格式:
wire keep_wire /* synthesis keep */;  
(* KEEP = "TRUE" *) reg [31:0] some_bus;

有熟悉DC的可以帮忙解答一下



    set_dont_touch object


谢了
试了下,有点问题,dc报了warning
dont_touch on net XX maybe overidden by compile because it's connect to a generic logic
然后还是被优化掉了


你可以把它下面连的object也dont_use或者试一下set compile_keep_original_for_external_references true不知道你的synthesis是top-down还是bottom-up


还是不行啊,set_dont_use是指综合时禁用cell吧。

综合时可以:
set_ideal_network [get_nets .....]
然后,就是后端的事儿了。
或者在约束时设定set_max_fanout为1个小一些的值。让dc去做drc优化,插入buffer tree。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top