CTS求帮助
问下两个时钟(外部时钟和内部时钟,其中内部时钟经过6分频再和外部时钟做选择),看了ctstch文件上面有两个时钟,这样直接做cts可以吗?是不是还需要在选择器后面用一个generate clock。忘记说了,对于选择器我设用了set case analyze0,选了外部时钟
下载 (62.96 KB)
1 小时前
下载 (53.38 KB)
1 小时前
如果这2个clock 在 mux之外还有别的leaf的话,就都要做CTS,
否则在mux 后做CTS就行了,
在MUX之外就没有其他leaf了,小编说的在MUX之后做的话怎么设置? 还有不是说时钟经过MUX之后复用吗,那还需要单独的在MUX后设置个时钟不。
单独写 个sdc,
Create_clock-name clk_after_mux [get_pins mux/Z] -p
单独搞个 clockspec file,
哦 ,多谢多谢哈
那想问下 encounter在做时序检查的时候,他是分别用两个时钟来做检查吗?还是说我设定了 set case之后,他就以我选择的那个?
有几种做法,
1)最简单,比较不建议的做法,因为clock tree有时会做的很奇怪,
就用上面的2个,都是要把所有的参数都写得一样,除了rootpin以外,理论上CTS应该可以做出来
2)从mux的输出端定义rootpin,就一个clock。ctstch文件里面的clock可以与SDC里面的不一样。
问题是mux之前那段,如果走线太长的话,你还要想办法插入clock buffer
3)解决2)的问题的方法是,在ctstch里面定义2个clock,
但是其中一个的leaf pin就到那个mux的输入端,不让它再走下去。如果需要平衡oSysClk和PAD_iClk到mux输入端的延迟,可以用dynamic macromodel pin的方法
timing check只看sdc的,和 build clock tree是2码事情,
有时候cts的sdc 和STA的sdc不是一样的
cts的sdc只是为了做tree用的
在做CTS的时候,我直接把内部的时钟信号去掉。只用外部时钟信号去做CTS,encounter会一直跑下去,不会停了。什么缘故呢
在做CTS的时候,我直接把内部的时钟信号去掉。只用外部时钟信号去做CTS,encounter会一直跑下去,不会停了。什么缘故呢
netlist, sdc, ctstch, tool的问题,都有可能
先用browse clock tree看看CTS之前的clock net的连接
想问下leaf pin怎么设置。是直接:
Maxskew 。
LeafPin 。吗?
userguide里面有详细介绍