CTS的规划,大家把做CTS的方式列举出来
时间:10-02
整理:3721RD
点击:
我设计的几颗IC中,有两种方式来完成CTS。
1. 对于没有scan chain的IC, 采用所有的clock一起做CTS. 使用工具是Astro.
2. 对于有scan chain的IC, 先set_case_analysis 0 TEST_MODE, 将normal功能下所有的clock一起做CTS, 然后再set_case_analysis 1 TEST_MODE, 完成scan_clk的CTS.
不知道是否有其他更好的方法, 特别是有scan chain的时候, 很难做到scan_clk和normal function clock tree的skew都很小的状况
1. 对于没有scan chain的IC, 采用所有的clock一起做CTS. 使用工具是Astro.
2. 对于有scan chain的IC, 先set_case_analysis 0 TEST_MODE, 将normal功能下所有的clock一起做CTS, 然后再set_case_analysis 1 TEST_MODE, 完成scan_clk的CTS.
不知道是否有其他更好的方法, 特别是有scan chain的时候, 很难做到scan_clk和normal function clock tree的skew都很小的状况
Encounter Multiple Mode Multiple corner is supposed to cover this situation.
two mode: one is function mode, another is scan-chain mode, but SOCE7.1 seem to have some bug about timing arc confusion,
Wish it is fixed in SOCE8.1. if you have this version, you can try it.
一般而言实际上扫描始终和功能时钟从Mux后面是一样的,所以可以从Mux开始cts,然后调整Mux前面的delay
Thanks to all
好大的广告
好大的广告
xuexi zhong
4# linuxluo
这个方法不错,我也使用过。
好用的方法
为什么要用两个时钟呢?一般不是一个时钟么?scan和function操作是分开的,所以没必要用两个始终吧? 那岂不是很浪费?
这个问题我也遇到了,但是我没做过两个条件下的时钟树。因为我们做时序约束时,各时钟域间是false path的,同一个时钟的抖动容易控制,但是时钟间的时钟抖动就不好控制了。为了解决这个问题,我的做法是:功能上有几个时钟,扫描模式上就有几个时钟。这样的话就可以沿用功能上的时钟约束(因为一般来说扫描时钟频率比功能的时钟频率低)。做多个时钟还有个好处就是不是所有DFF都在同一时间翻转,不会导致电路的瞬态功耗太大。