论文部分内容阅读
随着先进电路设计以及最新制造技术的应用,大量IP核能够集成到片上系统。保证半导体产品的可靠性和高品质,仍然是片上系统测试的主要目标,然而完成片上系统测试需要大量测试数据。测试应用期间,自动测试仪将测试数据通过测试通道传输到片上系统,由于通道数量以及带宽都是有限的,直接影响数据传输速率。不仅延长了测试应用时间,同时也增加测试功耗。与时间及功耗相关测试问题已经成为测试领域研究的热点问题,解决它的有效方法之一是测试激励压缩。为了增强对测试激励数据的编码压缩效率,本文主要研究基于拆分的测试激励预处理方法。实现减少测试激励数据量,减少测试应用时间以及降低扫入测试功耗的目标。本文主要工作内容和贡献如下:1、首先提出一种对哈德玛矩阵的按列重排序算法,该算法通过变换将测试集拆分成主分量集和残差集。主分量集可片上压缩,残差集取代原测试集并作为基于编码的被压缩数据。与原测试集相比,残差集可以更有效被编码压缩。此外,拆分中利用了测试向量之间的相关性,但始终没有改变测试向量顺序。其次设计了一种新颖对残差集的按列重排序算法,该算法通过逐一确定残差集中的每一列位置,实现残差集的熵值降低。通过理论分析,发现减少残差集熵值可进一步提高编码压缩率。针对大的残差集,重排序可以降低残差集的熵值,该重排序问题等价于一个NP难问题,提出的算法有效地解决该问题。对部分ISCAS’89标准电路产生的Min Test集进行实验,结果表明两种算法可将7种编码方法的总平均压缩率提高19.91%,并且压缩率最高可达85.04%。对比两种算法应用前后的编码压缩率,它们之间的差异在缩小,表明提出的算法适用于各类编码压缩。2、提出一种伪随机变换与拆分的测试集预处理方法。该方法在分析测试集位流特征过程中获得一组向量,然后结合线性反馈移位寄存器(LFSR)电路输出的伪随机序列,并通过序列间组合及异或运算构造出一个伪随机矩阵。该矩阵与测试集进行数学上的矩阵相乘即矩阵变换,测试集中的每一个位流通过该变换确定其对应的主分量。所有主分量按照其对应位流的顺序组成一个主分量集。主分量集与原测试集之间的差分结果定义成残差集。针对主分量集压缩,设计出一种结构简单并基于LFSR的测试向量解压器。至此,对原测试集的编码压缩可转化为对残差集的压缩。鉴于LFSR特征多项式存在本原与非本原之分,设计出两种基于伪随机变换与拆分的测试向量压缩算法。对ISCAS’89部分标准电路以及7种常用编码压缩方法的实验结果表明,这两种算法显著提高编码压缩效率,并且它们的压缩效果非常接近,同时也表明伪随机变换与拆分方法对测试集处理是有效的。3、提出了一种基于测试集主成分的变换-拆分预处理方法。研究发现当前用于变换与拆分的矩阵不能充分体现测试集数据的主要特征,影响进一步提高测试集与主分量集之间的相似度。本研究从主分量集来源矩阵为切入点,首先对测试集位流进行分类与聚类,提取能代表测试集特征的主成分,然后利用这些主成分作为向量构造出一个矩阵。该矩阵与位流经过数学中的矩阵变换即可将测试集拆分成一个主分量集和一个残差集。针对主分量集压缩,本文设计出一个片上基于RAM并行输出的测试向量解压缩器。相比原测试集,残差集有更好的编码可压缩性。结合ISCAS’89基准电路以及7种常用编码压缩方法,实验结果表明本研究方法下的最高平均压缩率可达到80.53%,与最先进的变换-拆分法相比,不同编码的平均压缩率都有提高,其中最大提高幅度为RL-Huffman编码的5.27%。4、提出了一种基于双重海明距离的测试集二维重排序方法。对含无关位X的测试集,该方法能够有效减少扫入测试功耗并压缩测试向量。在此方法中,先后对测试集中的行和列进行重新排序,以达到相似行或相似列聚集在一起,与其它重排序方法不同,本研究方法在重排序过程将每两个含更多相同位的行摆放更近,两个含更多相同位的列也摆放更近。此过程聚集更多无关位,在最小跳变填充方法应用下,使用0或1填充所有无关位,最小化“1-0”和“0-1”的逻辑状态跳变数量。少量逻辑状态跳变数会带来低频率的开关活动,不仅可降低扫入测试功耗,而且还有利于测试向量编码压缩。基于ISCAS’89部分标准时序电路的Min Test集以及7种常用编码压缩方法的实验结果显示,与最先进方法相比,本研究中的方法在峰值功耗和平均功耗方面分别降低18.01%和12.97%。此外,在测试向量压缩方面,ASFDR编码的平均压缩率提高到73.76%。