encounter做CTS的fanout问题
下边是我的时钟树文件,里边很多设置都不是很懂,也不知道是不是我设置的参数不太合适,请有经验的前辈帮忙看看~先谢啦~
#------------------------------------------------------------
# Clock Root: clk_gps
# Clock Name: clk_gps
# Clock Period : 40ns
#------------------------------------------------------------
AutoCTSRootPin clk_gps
Period40ns
MaxDelay0ns # set_clock_latency
MinDelay0ns # set_clock_latency
MaxSkew300ps # set_clock_uncertainty
SinkMaxTran400ps # default value
BufMaxTran400ps # default value
BufferDL09D1 DL04D1 DL07D1 DL02D1 NI01D1 DL09D2 DL04D2 DL07D2 DL02D2 DL09D3 DL04D3 DL07D3 NI01D2 DL02D3 NI01D3 NI01D4 NI01D5 IN01D1 IN01D0 IN01D2 IN01D3 IN01D4 IN01D5 IN01D17
NoGatingNO
DetailReportYES
#SetDPinAsSyncNO
#SetIoPinAsSync NO
#RouteClkNetNO
#PostOptYES
#OptAddBufferNO
#RouteTypespecialRoute
#LeafRouteTyperegularRoute
ThroughPin
END
PS:我之前做optDesign的时候没有选择fixFanoutLoad选项,除了时钟net,其他的net也有一些violations,后来选上了以后,其他的net的violations没有了,但是clock tree net上的violations还是存在,而且选上后出现了setup violations,请问该怎么修改呢?
optDesign不动时钟树上的东西,应该有对时钟树的max fanout的约束。优化fanout可能会带来setup问题。
谢谢就是还是不知道怎么约束时钟树的fanout呀
CTS的约束就是你这个时钟树文件决定的
具体怎么约束时钟树的fanout,自己翻看相关user guide,然后实验下,积累经验
加一句
MaxFanout40
我试一下 thank you~
5楼正确,
用MaxFanout 和 ForceMaxFanout 来控制
其实,如果clk buf足够大的话,fanout超一点没有关系
还有,你的clk buf用的种类太多了,仔细查下,去掉一些
很小白的问一下,buffer种类怎么查适不适合做时钟树?我个人觉得是不是用驱动能力比较大的buffer比较好?好像一般人们不是很喜欢用delay cell
一般对clk buf有严格的要求,有专用的buf和inv,绝对(99.99%)不能用delay cell
而且clk buf里面,用大buf/inv做cts的主干,用小buf调整cts insertion delay
“用大buf/inv做cts的主干,用小buf调整cts insertion delay”
请教具体如何做到,什么语句控制?
受教了谢小编大人
同问呀不知道小编大人回复你,会不会也在我的页面上显示,如果不显示,还望转达一下哈~
Buffer <large buf/inv>
DummyBuffer <small buf>
再麻烦小编,想问下,encounter读入sdc文件的时候并不能识别set_operating_conditions这个command,那它在整个PR过程中是在什么环境下计算时序的呢?是需要自己在encounter中重设还是根本不用设?我看它默认生成的那个时钟树文件用的是WORST情况下的库
用encounter的命令重新设定
用encounter设置operating conditions应该设置成OCV模式吧?WORST情况下算setup delay,BEST情况下算hold?
还有我的库里只有四种buffer是clock专用buffer,我是只用这四种呢?还是也可以用一般的buffer和inv?
麻烦小编了啊我这人比较墨迹确实也是第一次做,什么都没经验,也没人带多多包含啊
OCV模式
只用这四种
十分感谢小编大人万岁嘿嘿
我库里的clock buffer都是有两个输出的,一个是直接输出,一个是反向输出,综合时钟树的时候出现
error,说这些buffer有多个time arcs,怎么解决这个问题呢?
请问小编我在做时钟树的时候有BUF、BUFH、FRICG、INV,要怎么选择来生成时钟树呢?
小编大人 如何在encounter中重设呢
请问一下
在这里优化的时候 加上 Max Fanout是什么意思? 在时钟树文件中加入MaxFanout,指的是时钟树综合的时候对其最大扇出有限制,是不是在时钟树文件中加入后,在时序检查的时候 Fanout一定不会出问题,从而在优化时肯定不用对Max Fanout进行优化了呢