dft过程中出现D9类型错误,应该如何去解决
检查ICG enable信号的状态,更直观的话打开visualizer trace这个错误
回复2楼,我的ICG一共有5个信号。其中四个外部pin(CP、E、TE、Q),一个内部信号QN(latch的输出),
在violation broswe中,当在clock on状态时,ICG的各个pin的状态为:
E也就是Enable为X-X,
TE为1-1,
CP为0-1,
Q为0-X。
而且,我到我的standard cell中去看这个ICG的门级电路图,该Cell依次为或门+负沿有效的latch及latch的输出与CP相与。根据这个逻辑,我的clock为on状态时,CP的信号应该是能传递到Q端的。
请问这种ICG各个pin的状态会导致这类violation的原因吗?
抓住一个D9的clock pin,反推到scan clock,中间不是buf的cell,一个一个检查,应该不会太多的
这种情况一般是设置了多余的scan clock
回复3楼,从DF的clock pin反推到外部scan clock端,中间全部是ICG,一级ICG接着一级ICG。结果出现从scan clock端出来之后的第一个ICG的E(Enable)端为X,直接导致这一个ICG的输出为X,之后的ICG到D9的clock pin为X.
回复4楼,我的扫描链设计中只有一个时钟。
我太需要了
不好意思,像陈涛小编致敬,我回追这个scan clock,还真发现了一个除了buf之外的组合逻辑,一个与门,这个与门的一端来自一个ICG的输出,另一端来自一个寄存器的输出(这个输出没有bypass),所以使得之后的所有路径上出现X。现在通过修改这个与门处的逻辑,问题已解决。
虽然消除D9类violation,但是为什么scan chain不能插入呢?提示说scan chain is not inserted successful,出现如下错误:
Information: Scan routing is not complete. Signals 'serial or scan_enables' need to be routed. (TEST-899)
Information: DFT insertion was not successful. There were unrecoverable processing errors. (TEST-211)
请问这又是怎么回事呢?急死我了,问题一大堆!
thank you for good info