|
发表于 2017-9-28 10:22:37
|
显示全部楼层
回复 1# dyytx
1,是的,实际测试时就是对primary inputs,包括scan in, scan clock,scan enable, reset, testmode等进行控制, 最简单的比如,经过shift in, capture, shift out,那么shift out就是在输出port做观测,和expcet值对比,判断是否有错。如果有错,可以手工去debug出错的点,也有EDA工具帮助debug,读入netlist, pattern, test result,就可以快速准确定位出错点。
不同的scan pattern能测试到不同的组合逻辑的错误?
是的,所以需要很多pattern,而且对有些故障点测试,需要多pattern,多chain协同去暴露潜在问题。
2,不太理解你的问题,问的是单个scan cell的scan out从哪里来?
可以用带SO的scan cell, 用SO连到下一级的SI; 也可以用不带SO的scan cell,用Q连到下一级的SI, 区别在于对Routing和drc的cap fanout transition有影响,一般情况下影响不大。
还是问的scan chain的链尾直接连出到top?
可以直接连到top,如果你的IO资源够的话,也可以经过压缩逻辑,经过TAP逻辑。
3,实际测试capture之后要对比数据,只能转到shift模式后全部扫出来观测,一拍一拍地对比。对比的数据的逻辑在哪里?如果是像LBIST一类的,是会有逻辑的,这部分逻辑既负责激励施加也负责响应观测并最终给出测试通过与否的信号。如果只有scan chain存在,那会用ATPG工具对netlist生成向量,向量会load到ATE测试机台,机台负责对芯片施加激励(依据给入的向量),观测响应与expect值(依据给入的向量)对比,分析出错。
这两种方法的利弊和适用条件暂且不表。
Thanks! |
|