|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
大家好!
问一个ATPG仿真问题。
现在我使用Synopsys的tetramax生成pattern(有parallel的pattern,也有serial的pattern)。并使用vcs对生成的pattern进行仿真。发现仿真结果如下:
使用parallel的pattern进行仿真,仿真结果如下(1)所示:
Error during scan pattern 1380(detected during load of pattern 1381) T = 2474600 ns
1380 12 1648 (exp=1, got =0) // pin = Q, scan cell = 1648;
1380 12 1656 (exp =0, got =1) // pin = Q, scan cell = 1656;
使用serial pattern进行仿真,仿真结果如下(2)所示:
Error during scan pattern 1380(detected during load of pattern 1381)
1648 (exp=1, got =0) // pin = SO1_PAD, scancell= 1648;
1648 (exp=1, got =0) // pin = SO2_PAD, scancell= 1648;
1656 (exp=1, got =0) // pin = SO1_PAD, scancell= 1656;
1656 (exp=1, got =0) // pin = SO2_PAD, scancell= 1656;
注:我的pattern中只有这两个cell仿真报错。其他cell均仿真OK。
请问仅仅只出现这里的两个cell的error是由什么引起的,看这个error报告,说是在scan load的过程中发生的,请问在scan load过程它是由什么引起的呢?根据我的理解,在scan load时,主要发生的是shift操作,如果说这个时候load都有错的话,那么应该会是整条链上都会报错。可以这么理解吗?
因为这里应该是不会有什么时序上的信息(因为我现在进行的是notiming check在VCS中设置了这个options),完全是仿真功能的。那么这个时候这个error会是由什么引起的呢?
还有为什么parallel的pattern仿真与serial的pattern仿真出错的error不一样的。比如说在serial中第1656个cell的error错误为exp=1,got=0,而在parallel的1656个cell的error为exp=0,got=1?
这是什么现象以及怎么去debug这个error? |
|