论文部分内容阅读
随着超大规模集成电路技术进入纳米时代,电路日趋复杂,集成度日益增高,由此导致数字集成电路故障的复杂性急剧增加,为每一类故障建立故障模型并产生测试集是不现实的。解决此问题的一个有效方法是使用N-detection测试。N-detection测试以广泛使用的固定故障模型为基础,对于电路中的所有可测固定故障都至少产生N个不同的测试。此测试方法的理论基础是:某个固定故障被检测的次数越多,激活此故障点非模型故障的概率越大。已有的实验结果表明,N-detection测试集对固定开路故障、桥接故障等故障模型有很高的故障覆盖率。但是N-detection存在产生测试困难,测试数据量过大等缺陷。最小单检测测试集中测试向量数目的下界是独立故障集的大小,在最小单检测测试产生研究已经非常成熟的情况下,人们开始寻找获得最小N-detection测试集的方法,在理论上,最小N-detection测试集中测试向量数目的下界是独立故障集大小的N倍。但用现有的N-detection测试ATPG工具获得的N-detection测试集远大于理论值,难测故障是造成测试集较大的重要原因。本文提出了一种高效的N-detection测试产生方法。首先用传统的单检测ATPG工具产生一个非最优的M-detection测试集,然后将其压缩为N-detection测试集。由于这个问题可以转化为整数线性规划模型求解,因此通过求解整数线性规划可获得最小的N-detection测试集。虽然用单检测ATPG工具产生的M-detection测试集对难测故障的检测次数大于N,但较易测故障偏少,影响测试压缩效果。于是本文针对所有难测故障产生一个额外的含无关位测试向量,压缩后再进行随机填充,这种方法只需增加较少的测试向量就能显著的增加难测故障的检测次数。通过这种改进,提高了测试压缩率.用整数线性规划求最优解的时间开销很大,本文定义了一种约束矩阵中的行支配关系,通过删除支配行,减少约束矩阵的维数,提高了N-detection测试产生方法的时间效率和对大电路的适应性。