问一个关于SCAN TEST的问题
在我以前的项目中,做scan都是不分时钟域。这个项目中有人提出根据时钟域来,把我的理解完全打乱了。
另外一般scan clock的频率能跑多高?以前的项目都只要求跑到30MHz左右。可以跑到200MHz吗?
1、理论上最好不同时钟域做不同的扫描链,但也可以把不同的扫描链串接在一条链中,这对于stuck-at来说影响很小;
2、30MHZ一般够了,stuck-at的话,200MHZ弄不好会把芯片搞死翘的。
谢谢先
如果不同的时钟域用不同的扫描链,再考虑到scan chain的长度,那样会有很多个扫描链。大家一般会这样做吗?
另外我的问题中还有一个意思就是:Scan clock需要跟这个时钟域的clock频率一致吗? “At speed test”的理念如何实现?
普通的scan 不用分时钟域, 根据机台限制和scan io来决定扫描连的数目。
at speed scan test一般用在高速的clock域, shift还是用低速的scan clock, capture的时候用真实的pll clock打两拍。可以capture transition delay fault。
需要在电路中插入OCC电路,比较麻烦。尽量少用。
do you have a dedicated pin to input scan clock when ATPG?
if yes, all logic can use same scan clock.
do not suggest use a high speed clock for ATPG clock because the stuck at fault can be detected under any frequency. higher ATPG clock need expensive ATE to do the test.
对,dc scan的shift, capture都用统一的慢速时钟,ac scan shift用慢时钟,capture用实际工作的时钟。和扫描链没关系。目的是探测不同的缺陷。
scan chain stitching的时候可以混时钟域, 不同时钟域间插lockup latch
scan shift的时候用统一的shift frequency, 更好的做法是用统一的scan shift clock, 也就是说scan shift mode下用dedicated scan clk替换掉functional clock. 至于shift的frequency, 200MHz基本就别想了, ATE即便能支持芯片自己也被skew和功耗玩死了.