论文部分内容阅读
为了解决内建自测试技术(Built-in-self Test, BIST)在深亚微米工艺下所产生的高功耗问题,本文基于单跳变测试(Single Change Input, SIC)技术和2-bit扭环计数器(Twist Ring Counter, TRC),提出了一种新型的基于单双跳变(Single/Double Change Input, SDIC)技术的确定性测试向量产生器结构,能够实现较低的测试功耗。本文提出的低功耗确定性BIST测试向量生成器测试功耗低,面积开销小,测试时间短并且能够实现较高的故障覆盖率。首先,为了实现故障覆盖率最大化,本文采用了确定性测试方案。与一般的确定性测试方案直接存储确定性种子不同,本文利用ROM存储控制信号并通过单双跳变生成确定性种子和确定性测试向量,这样控制信号的长度仅约为确定性种子长度的1/2,大大地节约了面积开销。其次,本文采用单双跳变单元来生成确定性种子和确定性测试向量,这样保证了相邻的两个测试向量间有且仅有1-2位的跳变,大大地降低了测试功耗。最后,为了减少测试时间并降低总能耗,本文采用一个2-bit减法计数器来约束每个确定性种子重播种产生的确定性测试向量的个数,有效地减少了测试过程中产生冗余向量。除了优化硬件结构,本文还提出了对应的种子选择算法和3种不同的x指定算法。算法的设计原理为:先通过种子选择算法筛选出面积开销成本最低的候选种子集,然后再利用x指定算法决定最终的确定性种子。每种x指定算法的设计思路和设计目标有所不同,需要根据实际情况来决定目标算法。算法1从纵向压缩的原理出发,保证了每个种子能够尽可能多地压缩测试向量,减少了面积开销。而为了缩短测试时间。算法2会从候选种子集合中挑选出汉明距离最短的作为最终的确定性种子,减少了生成新的确定性种子所需要的测试周期。算法3则是将种子进行变游程编码,即横向压缩,同样能够达到减少面积开销的目的。为了验证本方案是否达到了预期的要求,本文采用ISCAS’85标准电路作为被测电路,采用Altanta工具生成自动测试向量生成(Auto Test Pattern Generation, ATPG)确定性测试向量集,利用Matlab编程实现种子选择算法和3种不同的x指定算法,进而获得3组不同的控制信号和它们对应的性能指标。实验结果表明本文的平均功耗分别降低了42.36%,32.32%和38.94%,存储位数减少了79.4%,65.2%,68.1%,测试长度(测试时间)缩短了77.6%,86.1%,84.3%。此外,本文采用Verilog编程实现了电路的硬件结构,仿真结果与预期一致。