论文部分内容阅读
集成电路在制造过程中难免会产生缺陷,测试是保证成品率的重要手段。然而电路复杂度的快速增长给测试带来了巨大挑战。可测试性设计技术可在电路中加入特定结构以增强被测电路的可测试性并降低集成电路的测试难度。扫描链设计是目前主流的可测试性设计技术,但是基于扫描链的测试过程会给被测电路引入较高的测试功耗,过长的测试时间并且占用大量测试数据存储空间。研究表明,在测试应用过程中,电路的功耗正比于电路中跳变数量。扫描链排序法可以有效地减少跳变数量从而降低测试功耗。本研究提出了一种在测试过程中依据扫描单元间产生的跳变数衡量他们的连接代价从而确定扫描单元顺序的方法。该方法还采用具有互补输出端的扫描单元以实现跳变数的进一步减少。实验结果表明,该方法生成的扫描链结构引入的跳变与未经排序的原始扫描设计相比平均减少43.7%;与其他扫描链排序法相比平均可降低6.5%的测试功耗。然而基于测试功耗的扫描链排序会引起过长的连线并导致布线拥塞。为解决这一问题,本研究提出了基于布线约束的测试功耗优化法。对扫描链排序之前,先依据扫描单元的分布用K-means聚类算法把扫描单元分成K个组。然后在满足布线约束的前提下,确定每个组中可移动到相邻组的可移动扫描单元,并依据减少跳变的原则对他们重新分配以进一步降低测试功耗。最后,在组内依据提出的扫描单元排序方法对扫描单元进行排序。实验结果证明,在满足布线约束的前提下,该方法实现的扫描链结构比原始扫描链平均可减少18.9%的跳变数;与其他基于布线约束的扫描连排序方法相比,平均可减少10.2%的跳变数。基于扫描链的测试还有两个突出的问题:测试时间长和测试数据量大。将数据压缩技术和广播式的解压器结构结合可以有效地解决上述问题。而这种方法的关键就是如何使更多测试向量可被压缩并可通过解压器广播进入多个子扫描链,即提高广播率。本研究提出了一种新的解压器结构,该结构采用了双向移位寄存器,实现了一种新的传播模式,提高了广播率。此外本研究还提出了一种启发式的子扫描链排序方法,以提高测试向量的广播率。实验结果表明,与现有的基于广播的扫描设计结构相比较,在相同故障覆盖率的前提下,该方法可减少19.5%的测试时间,同时节省22.8%的测试数据存储空间。