微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > high finout问题

high finout问题

时间:10-02 整理:3721RD 点击:
我用Icc做place之后出现了如下的问题,critical path中有几个非常大的fanout 图示如下:



可以看到high fanout的net具有dont_touch属性,可能造成了Icc在place的时候没有建立buffer tree 。
但是我再sdc中并没有找到关于dont_touch的设置,那么这些属性是从何而来的呢?
先在我想尝试去掉这些dont_touch属性重新place 但是这样的路径有好多条,当然可以用脚本抓出来逐个设置,但我想知道是否用设置可以统一让iccplace的 时候自动去掉dont_touch属性并综合buffer tree?
希望有人能指点一下,多谢!

作为 backend 新手,我不太确定是否误解了你的问题
set_dont_touch [get_nets] false
然后再把需要的 set_dont_touch 是不是就可以了

你确定是被dont_touch了么?dont_touch的属性不一定写在sdc里面。
可以从如下方法来确定:
1)report_net
2)report_dont_touch_net
3)get_attribute [get_nets *] dont_touch
如果是dont_touch的话, 是不是这条线的某个fanin被设置成了dont_touch,把dont_touch传递下去了?
如果不是的话,是不是这条线的某个fanin被设置成了ideal_net/network,把ideal attribute传递下去了?
没有设置可以统一让iccplace的 时候自动去掉dont_touch属性并综合buffer tree
如果需要的话,可以在place之前用如下命令去掉所有的dont_touch 的net的shuxing
report_dont_touch_net
set_attribute [get_nets * ] dont_touch 0
set_attribute [get_flat_nets * ] dont_touch 0
report_dont_touch_net

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

网站地图

Top