欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

为什么不推荐正沿+lockup+负沿的scan chain?

发布时间:2025/4/5 48 豆豆
生活随笔 收集整理的这篇文章主要介绍了 为什么不推荐正沿+lockup+负沿的scan chain? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • 负沿在前,正沿在后的固定思维是否真的正确?
  • 分析 负沿+lockup+负沿
  • 为什么不推荐正沿+lockup+负沿的scan chain
  • 为什么不采用clock_mix的方式

本篇文章介绍几个困惑的问题。
1、负沿在前正沿在后的固定思维是否真的正确?
2、在一个Scan CLK Domain下,为什么使用Lockup Latch?
3、为什么不采用mix_clock的方式?

负沿在前,正沿在后的固定思维是否真的正确?

当我们在block层的时候,block A的scan chain的最后一个SDFF是正沿触发,如果与另一个block的第一颗负沿触发的SDFF 的SI相连接。block A和block B内部的scan chain共用的同一个scan clock。

这种方式在chip层生成ATPG的时候,会丢失一个数据,但Tetramax能够识别。
举例如下图所示:
因为第一颗的reg的launch与第二颗reg的capture在一个Cycle就可以完成,因为在1T内,两个寄存器的数据始终绑定。但是TetraMax能够识别到这种架构,不过对于block B的来讲,chain上的第一个SDFF由于始终与Block A的最后一颗SDFF的值绑定,所以,如果Block B的第一颗SDFF的Q控制的logic比较大的话,就会影响到testcov
因此,对于一个clk domain来讲负沿在前,正沿在后的testcov会比正沿在前,负沿在后的testcov更高。但并不是说就不能正前负后。

实际case如图所示:

分析 负沿+lockup+负沿

所以上面的目的是为了解决hold violation的问题,那猜想,如果Scan_DFF1与lockuplatch的时序不满足,可能就会导致lockup latch不能正确的锁住值。

为什么不推荐正沿+lockup+负沿的scan chain

tool串chain的原则是负沿在前,正沿在后的原则,如果ECO的时候有将LE在TE的前面,中间插了低电平有效的Lockuplatch, 这种方式虽然把数据纠正过来了,恢复到了相当于负沿+负沿的形式,但此时,我们仅仅是把数据纠正过来了,并没有考虑如果有hold violation怎么办?有skew怎么办?你也许会说再加一个lockup,那如下图篇末所示,导致数据相当于延迟了一个T,又回到了之间在一个CYCLE就完成了launch和capture的错误采值问题。所以,我们是不推荐这种方式的,容易出现hold violation。

为什么不采用clock_mix的方式

如图所示,tool会默认先串负沿的,对于可能发生timing的1和2处,tool会自动加上lockuplatch。但是这种方式的风险是比较高的,因为从ideal 的情况来看如果4、6没有插lockuplatch,以为满足时序,但是实际中的skew与PT仿真的结果还有一定的差距,因此可能4 6之间仍然存在timing问题。为了避免这种跨时钟域的问题,而且为了便于我们调整scan_waveform,所以不采用clock_mix的形式。


总结

以上是生活随笔为你收集整理的为什么不推荐正沿+lockup+负沿的scan chain?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。