论文部分内容阅读
集成电路作为时代的高科技产物而日新月异,它的规模和复杂度与日俱增,直接导致其电路故障数目越来越多。为了确保测试时具有达标的故障覆盖率,测试数据量也会成倍增加,巨大的测试数据量不但要增大存储空间,还增加了测试应用时间。减少测试数据量、降低测试应用时间的有效办法便是压缩测试数据。本文对测试数据压缩的方法进行研究,在变换拆分方法的基础上,主要做了以下几个方面的工作:(1)用随机矩阵对测试集进行拆分变换。此方法将原始测试集分解为主分量集和残差集,主分量集由线性反馈移位寄存器产生的矩阵中选出的最合适部分组成,残差集由测试仪传入的数据经解压后得到。实施测试时,测试集是通过主分量集和残差集异或得到,最终被施加到被测电路上。该方法对残差集编码压缩,主分量集的产生需要些许硬件代价。相比直接对测试集编码压缩,该方法能够显著的增加编码压缩的压缩率,并且硬件开销也是可接受的。采用FDR编码,实验结果显示,向量分解压缩方法的平均压缩率可以达到75.33%。(2)用多轮位翻转提高压缩率。此方法基本思想是在不影响测试集故障覆盖率的条件下通过翻转测试集中的若干确定位使得测试数据具有更高的压缩效益。具体做法是利用方法(1)得到的主分量集代替原始测试集进行故障模拟,主分量集会检测出一部分故障,原测试集则只需要检测出剩余不能检测的故障即可。这样可以将原测试集中大量的确定位翻转成非确定位X得到新的测试集,接着对新的测试集用向量分解的压缩方法进行压缩。理论上该方法可以对测试集做多轮翻转,但是向量分解过程中选取的主分量集在硬件存储时会产生相应的代价。当进行第二轮翻转时提升的压缩率已经低于代价,故只进行一轮翻转。采用FDDR编码,实验结果显示,位翻转压缩方法的平均压缩率可以达到81.97%。(3)用位反转进一步提高压缩率。此方法基本思想是对测试集中的若干确定位进行反转,但是反转的前提是不影响测试集的故障覆盖率,反转后的测试数据具有更高的压缩效益。测试集往往包含许多无关位和少量确定位,且测试集的故障检测能力会随着无关位的填充而增强,因此便会大量存在故障检测冗余的情况,此时测试集能够改变很多确定位的值且不降低测试集的故障检测能力。为了说明这种方法的有效性,我们提出了一种优化的位反转算法。采用FDR编码,实验结果显示,位反转压缩方法能使压缩率在方法(2)的基础上提高2.3%左右,达到84.13%。