微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 如何避免已经绕好的clock线被删掉

如何避免已经绕好的clock线被删掉

时间:10-02 整理:3721RD 点击:
问各位高人一个问题,一个design中定义了很多clock,假设在EDI中,其中某一个clock我已经提前用特殊的方式做好(线连好,该插的buffer都已经插好),其余的clock需要用CTS做,那么如何避免已经连好的线在CTS过程中被删掉?
我试了以下两种方法:
1)将提前做好的那个clock设成GlobalExcludedPin,然后再做CTS。结果是提前画好的线被删掉了。
2)将提前画好的线设成fixed状态。用这种方法可以避免被删掉,但是我不知是不是最好的方法。
请问各位有没有更好的方法?

这个要看的,你这个clock和其他clock一点关系都没有么,
如果有一些common path, 就很难说了,肯定会动tree,
你是写2个spec来做tree么, 这样也清楚些,要不然就干脆第一个clock不写在
spec里面了,只是sdc的定义做timing分析,
缺省clockDesign 、cksynthesis做完了 自动fix clock net/instance(除非
有unfix的选项设置) ,
人工设fix也很简单,
changeClockStatus -clock XXXX -fixedXXX

多谢icfb!
提前做好的clock与其他clock是有common path的,或者说这个clock是其他clock的一个分支,他们是同步的。
人工fix也行,就是感觉可能会影响后来做CTS的效果。
再次感谢

设成 stop pin (sync pin)行么,

icc有set_clock_tree_exceptions -dont_touch_subtrees这种东西,不知道edi 怎么玩的

目前我所知你的方法就是最好的方法,两种方法不冲突吧。第一个是排除节点,第二个是fixed线,可以结合用

感觉EDI在做CTS时有问题,比如说同一个pin后面带了3个clock分支,将其中一个设成GlobalExcludedPin,其他两个分支不动,结果cts之后那两个分支也没做clock tree!真纠结。
感谢愚人ぅ林参与讨论~~~~

哈哈,刚参加synposys的培训,ICC貌似真的是有那个命令。EDI嘛,设个GlobalThroughPin应该可以,但是出问题了。哎,还得再研究一下!

我记得ExcludedPin这个只是针对某一个节点来说的吧。例如一个latch +and 你把这个节点贴在ExcludedPin下面,这个Latch和and 的时钟路径是不去处理的,CTS会自动穿越这一个节点,而不影响之后的路径。我指的是节点。你可以批量把它贴在后面 当然如果没有更好的办法的话
如果我没记错的话就是这样,明天我再确认一下,不知道ExcludedPin和你说的GlobalExcludedPin是否一样。

你的意思是不是这样:在latch +and的输入设置一个ExcludedPin,那么CTS就看不到它们之后的逻辑了,它们之后的逻辑原来是什么样做完CTS之后还是什么样。

比如clock从A点接latch的CK和and的B,你设成ExcludedPin后,做cts时就不会处理从A点到CK和到B的路径,不会再这一段加任何器件。这个道理和把两个器件从节点打包起来一样,不过and之后的路径会处理。我记得是这样。

这不就是相当于真正的ICG cell么,
你这种应该叫through-pin (non-stop pin ),exclude pin 造成的后果是and后面的路径也看不到的,
ThroughPin的 作用是 让clock 穿过,直到下一个sync pin点,不会在这段做balance

throughPin是強迫CTS要穿越這一點,不要停住。如果是EDI,還是會以這點為sub-tree的root去build clock tree

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

网站地图

Top