|
发表于 2012-3-17 11:12:27
|
显示全部楼层
针对pll, adc, memory这些模块,scan-insertion的时候通常视为black-box, 里面的逻辑是没法测的,这些block的端口以及相关逻辑都没法测。
所谓bypass logic,就是把这些black-box的输入和输出在scan mode下关联起来,做法如下:
1。把所有的输组合成一个向量invector
2。把invector每N个bit一组,异或之后用时钟打一拍,这样得到一个invector_d的向量,
3。假定你的输出为DOUT, 写成 assign DOUT = scan ? { invector_d} : DOUT_org;
其中大括号里面需要把invector_d复制,使得和DOUT_org宽度匹配
再声明一点,在atpg的时候,如果能考虑写memory aptg model, bypass logic也可以不加,不过我做过的项目都加了。当然也用了memory atpg model. |
|