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