ICC中如何根据Placement反馈的信息设置plan_group,bounds,group_path?
为了使布局布线达到要求,在做一个初步的placement后可以回到floorplan阶段做一些设置,分别有plan_group,bounds,group_path。
刚刚入门,对这几个的理解还比较浅。
刚才想到一个问题,
plan_group,
bounds,
group_path
它们分别是根据哪些反馈回来的信息,来进行设置优化的呢?
一般來說設plan_group 可能是為了讓module灑在某特定位置
(比如說這module 動比較快 要比較靠近 PG source PAD比較好)
bounds我沒用過,
group_path.... 是拿來集體設netWeight那個嗎?
這個好像能將設為gruop之net 優先routing,
一般用於critical path吧~
有錯還請其他大大補正囉
critical path是指时序比较差的路径,这样,岂不是每个不同的Floorplan下的关键路径都是不同的?
基本上我認為在同一個design 裡, critical path 是存在侷限性的
(意即會造成critical path的都是某些特定走線, 可能frequency較快, 或者level較深)
因此即使floorplan不同, 會造成critical path 的路徑依舊是那幾條
(除非你的fp 非常 非常不合理 那麼難達成的已經不成 但是還可以的會變更糟)
所以設上net Weight可以讓最難達成的優先達標...
不過這是治標不治本,
治本方案是 :
1.更改design 2. 優化floor plan
bounds的设置一般是用来解决routing的问题的
group path是在place的时候优先摆放critical path,尽量集中,减少线延迟和工具插入buf
最近一直在尝试用group_path来优化时序,但是发现效果不好。先抓出来一些cell,给它们加上权重,比如是10(之前一直是设置比10小的值,后来听人说,要设置得大一些),然后跑place,发现另外一些的timing又不好,然后又抓出一些cell,给加权重(比之前的要大),比如是20,然后再重新跑Place,但是发现原来用group_path优化的时序变差了,而且又有新的不好的时序。
这怎么解释呢?是我设置group_path的方法不对,还是要怀疑floorplan的问题?
encounter 里面没有path_group weight 的相关设定?怎么找不到?
plan_group 主要用在hierarchy flow上
bounds 为特定module的特定位置上,
group_path 是修timing的利器 ,和dc的group_path一个意思,自定义一些东西,
看icc userguide吧,讲的很清楚,如果看不懂,也没关系,这些都是高级用法,
不是每个设计都需要, 后端设计像写文章一样,如果你不懂这个也不见得是要学的,
你用多了,自然就有了感觉, icc的功能也不是每个都需要的,
学习了