国内外****提出了许多测试压缩方法,如基于Variable-Tail编码压缩技术和周期可重构压缩方法[1-2],李晓维等[3]对2种压缩技术也进行了相关研究。向东等[4]提出了重新配置扫描森林的设计架构,通过结构分析对扫描触发器分组,使得所有测试向量可以并行加载且不会导致重名问题,显著减少了测试数据容量、测试时间以及测试功耗。后续向东等[5]又针对LOC (Launch-on-Capture)延时故障测试数据难以压缩问题,提出了新的扫描设计架构,通过合并扫描触发器在相同的群组,显著减少了测试数据容量和测试时间,并且保证了故障覆盖率。其中Rajski等[6]提出的嵌入式确定性测试(EDT)测试压缩方法已经嵌入到了Mentor公司的电子设计自动化(EDA)工具,广泛应用在芯片可测试性设计中。对测试压缩电路进行优化设计可以提高扫描测试的压缩效率,如Liu[7]、Huang[8]等通过共享EDT测试通道的方式解决了多核片上系统(SoC)测试引脚资源有限的问题。Czysz等[9]提出了低功耗的测试压缩技术,通过减少测试向量无关位在测试移位时的翻转次数来降低测试功耗。上述研究针对扫描测试电路进行了共享通道和低功耗等方面的优化设计,目前少有从测试向量和移位周期等测试压缩结果的角度对扫描测试压缩电路优化方面的研究。
为此,本文针对ISCAS’89基准电路进行了基于EDT压缩结构的扫描测试压缩设计[10],提出了固定测试端口和固定压缩率的扫描测试压缩电路优化方法,通过分析不同测试向量、移位周期和测试端口等仿真数据对覆盖率、测试数据容量和测试时间的影响,给出了扫描测试压缩电路的优化设计方案,提高了测试压缩效率。
1 EDT压缩原理及设计流程 EDT的压缩设计是在扫描链输入和输出周围加入额外的逻辑,通过较少的外部扫描通道来控制内部较多数量的扫描链,产生一组新的经过压缩的测试向量,加入的压缩逻辑没有改变电路本身的逻辑功能,图 1为SoC设计中典型EDT结构[11]。
图 1 EDT压缩结构[11] Fig. 1 Structure of EDT compression[11] |
图选项 |
图 2为在外部扫描测试通道为2时传统自动测试向量生成(ATPG)和EDT压缩逻辑的对比[12]。传统ATPG使用了2条较长扫描链来完成扫描测试,EDT逻辑将相同数量的扫描单元配置成多个由解压缩器和压缩器驱动的较短扫描链,ATE设备只需2个测试输入和输出通道,且扫描链长度短很多,因此测试周期和测试数据比传统ATPG少得多,芯片测试对测试设备内存要求也更小,可以使用更便宜的测试设备,降低测试成本。
图 2 EDT压缩逻辑与传统ATPG对比 Fig. 2 EDT compression logic compared with traditional ATPG |
图选项 |
基于EDT的扫描压缩设计流程如图 3所示。主要分为以下几步:首先对未加入扫描测试的寄存器传输级(RTL)电路进行综合和扫描链插入,生成带有扫描测试电路的网表;然后针对扫描测试电路生成EDT压缩逻辑,并产生EDT综合脚本和测试描述文件TPF和Dofile;之后将EDT电路通过综合脚本与带扫描链的电路进行逻辑综合,生成带有压缩逻辑的扫描测试电路网表;最后使用ATPG工具生成压缩的测试向量。其中使用Synopsys的DC (DFT Compiler)完成扫描链的插入以及EDT电路的综合[13],使用Mentor的Tessent shell完成EDT压缩逻辑的生成以及测试向量的产生[14]。
图 3 EDT压缩设计流程 Fig. 3 EDT compression design flow |
图选项 |
2 扫描测试压缩的优化 2.1 测试数据容量和测试时间 芯片的扫描测试分为测试初始化、测试移位和测试捕获3个过程。在测试初始化后,每条测试向量都会依次完成测试数据的移位和测试输出的捕获,其中移位占据了扫描测试的绝大部分时间,在只考虑扫描移位周期的条件下,扫描测试数据容量V和测试时间T分别可以通过式(1)、式(2)计算[15]。
(1) |
(2) |
式中:N为扫描测试端口数量;P为测试向量数量;C为测试向量移位周期个数;Fre为ATE提供的测试时钟频率。其中测试向量数量取决于ATPG工具生成的数量,与扫描链的数量有关,而测试向量的移位周期取决于最长扫描链的长度。
在扫描测试中,ATE提供了一定的内存容量用于存储测试向量,对于测试数据容量较大的芯片,ATE设备需要更多的内存,同时ATE提供的最高测试时钟频率也影响了测试效率。考虑测试压缩后的结果,EDT压缩逻辑通过减少测试端口数量和扫描链长度显著减少了测试数据容量和测试时间,由式(1)、式(2)可知,不同扫描链长度和数量对测试压缩结果有较大影响,因此在扫描链压缩设计之前,通过测试压缩分析综合考虑扫描测试的测试端口数量、测试向量数量以及测试移位周期个数多种影响因素,确定扫描链的长度和数量配置方式,可以提高EDT电路的压缩效果。
2.2 EDT测试压缩影响因素 1) 压缩率:扫描测试压缩的设计需要考虑测试电路的压缩率,压缩率为扫描链的条数比上扫描测试端口数。一般来说芯片可用于测试的端口数量是有限的,EDT压缩结构使用较少扫描测试通道解决了测试端口不够用问题,确定了压缩率即可确定扫描链的数量,压缩率C.R.的公式为[16]
(3) |
式中:Nca为扫描链的数量;Ncn为扫描通道的数量,即测试端口数。较高的压缩率意味着每个端口能测试到更多的扫描链,提高了扫描测试的并行度。压缩率的提高会导致故障覆盖率的损失,解压缩器通过求解一个满足布尔矩阵的线性方程组来完成测试向量的压缩转换,对于一组测试向量,有效的测试位只占其中很少一部分,因此在压缩率较高的电路中,存在较多的有效测试位数量,会增加解压缩器不可编码测试向量的概率,损失一部分覆盖率。通过压缩率的分析可以衡量压缩率的增加所带来的覆盖率损失程度。
2) 测试向量:扫描测试向量主要有针对于固定故障测试的基本测试向量和针对于延时故障测试的时序测试向量,同时为了保证插入的扫描链测试移位没有问题,ATPG工具会产生针对于扫描链的测试向量,用Pb、Ps和Pc分别表示基本测试向量数、时序测试向量数和扫描链测试向量数,则总的测试向量数P为
(4) |
3) 测试周期:在加入EDT压缩逻辑的测试电路中,扫描测试的移位周期主要由测试向量的移位周期和EDT解压缩器和压缩寄存器配置的额外移位周期组成。除了移位周期占据了主要测试周期外,还需要考虑测试初始化周期和捕获时钟周期,不同类型的测试向量捕获时钟周期是不一样的。固定故障由于只需要检测单点的固定故障值,因此只需要一个捕获时钟周期,对于跳变延时故障,需要检测电路0→1或者1→0的翻转变化,因此需要2个捕获时钟周期,而扫描链测试向量只有移位的过程,不需要捕获时钟周期,总的测试周期数C为
(5) |
式中:Ct为测试向量移位周期;Ca为EDT压缩逻辑的额外移位周期;Pb、Ps和Pc对应的3种测试向量捕获时钟周期分别取1、2和0。
通过上述分析,对于加入EDT压缩逻辑的扫描测试电路,由于每条测试向量会引入额外的移位周期去进行解压缩器的初始化,同时考虑固定故障和跳变延时故障的测试向量类型的不同,给出了加入压缩电路后测试数据容量V′和测试时间T′更为准确的公式为
(6) |
(7) |
式中:测试数据容量V′为所有测试向量激励所占用的位数;测试时间T′为所有测试向量完成测试移位和测试捕获所需要的时间。为了研究扫描链个数和EDT压缩逻辑额外周期的增加对测试向量的影响,考虑扫描链测试向量所占的百分比P′c以及EDT额外移位周期在测试周期所占的百分比C′a,分别可表示为
(8) |
(9) |
2.3 扫描测试压缩的优化方法 扫描测试电路的压缩设计需要确定以下几个参数:需要的测试端口个数、最大的扫描链长度、选择压缩率的大小等,同时还需要考虑一些限制条件,如测试时间、ATE测试机台内存容量和可获得的扫描测试端口数量等。在最初的设计周期中可供做出这些决策的数据是非常有限的,因此本文提出了固定测试端口和固定压缩率的方法去优化扫描测试的压缩设计,如图 4所示。
图 4 EDT压缩优化方法 Fig. 4 EDT compression optimization method |
图选项 |
固定测试端口方法可以分析压缩率对扫描测试的影响,在测试端口数不变条件下通过增加压缩率的方式来减少扫描链长度,进而减少测试向量的移位周期,找出测试数据容量和测试时间相对较小的压缩率范围。由于扫描移位在测试过程中占据绝大部分时间,因此采用这种方式来减少测试数据容量和测试时间效果是非常明显的。
固定压缩率分析方法可以分析测试端口对扫描测试的影响,在压缩率不变的条件下通过增加测试端口数量的方式来减少扫描链长度,进而减少测试向量的移位周期,找出满足测试压缩条件的测试端口数量和扫描链长度范围。这种方法是为了不改变芯片测试压缩的并行度,使用较多的测试端口能够有效减少芯片测试的时间。
采用上述两种扫描测试压缩分析方法,分别对式(4)、式(5)、式(8)和式(9)中测试向量和测试周期等影响测试压缩的因素进行综合研究,并由式(6)和式(7)给出的公式计算出测试数据容量和测试时间,作为压缩设计优化的指导方针,同时通过压缩率的分析确定是否满足故障覆盖率的要求,最终确定扫描链长度、压缩率以及测试端口等参数的取值范围,在减少测试数据容量和测试时间的同时保证故障覆盖率损失在接受的范围内。采用扫描测试压缩的优化方法对ISCAS’89基准电路多组仿真数据分析。表 1提供了固定测试端口和固定压缩率相关参数及测试结果的变化趋势,可以作为测试压缩设计的参考,其中:FC为故障覆盖率。
表 1 压缩分析参数变化 Table 1 Change of compression analysis parameters
测试结果 | 固定测试端口 | 固定压缩率 |
P | 增加 | 基本不变 |
P′c | 增加 | 增加 |
C | 先减少后增加 | 减少 |
C′a | 增加 | 增加 |
FC | 减少 | 基本不变 |
V′ | 先减少后增加 | 增加 |
T′ | 先减少后增加 | 减少 |
表选项
3 仿真结果与分析 3.1 扫描测试压缩影响因素 测试压缩电路会导致故障覆盖率有所损失,且会随压缩率的增加变得越来越大,图 5分别给出了上述基准电路固定故障覆盖率和跳变延时故障覆盖率随压缩率从0到1%损失的变化曲线。可以看出,跳变延时故障覆盖率的损失要比固定故障对压缩率的变化更为敏感,不同基准电路的实际电路结构有所不同,故障覆盖率开始出现损失的位置和变化趋势也不一样,S38584电路在压缩率达到20以上时,固定故障覆盖率开始出现损失,而跳变延时故障覆盖率的损失在压缩率为27时就已经达到1%。
图 5 ISCAS’89基准电路故障覆盖率损失 Fig. 5 Fault coverage loss of ISCAS'89 benchmark circuits |
图选项 |
考虑测试向量对测试压缩的影响,对ISCAS’89基准电路分别做了固定测试端口和固定压缩率分析。其中固定测试端口压缩方法在测试端口为2的情况下,压缩率从1增加到128,固定故障的测试向量数量P和扫描链测试向量Pc占比P′c如图 6 (a)、6(b)所示,可以看出随着压缩率(即扫描链数量)的增加测试向量会有明显增加,扫描链测试向量占比也会随之增加,为了避免扫描链测试占用太多测试时间,更有效地测试到逻辑电路,同时避免较多的测试向量数量增加测试数据容量和测试时间,选取了12~28的压缩率范围,扫描链测试向量占比小于20%,测试向量少于400条。固定压缩率的方法将4个基准电路的压缩率分别设为12、14、16和24,测试端口数从1增加到8,固定故障的测试向量数量P和扫描链测试向量占比P′c如图 6 (c)、6(d)所示,由于压缩率一定,没有改变测试端口的并行度,测试向量数量没有太大变化,扫描链测试向量占比会有小幅度的增加,可以选取较少的测试端口数范围,节约测试端口资源,提高测试效率。
图 6 测试向量数量和扫描链测试向量占比 Fig. 6 Number of test patterns and scanchain test patterns percentage |
图选项 |
考虑到移位周期对测试压缩的影响,测试端口为2时,将压缩率从1增加到128,固定故障的移位周期数C和EDT额外移位周期占比C′a如图 7(a)、7(b)所示。可以看出移位周期数随压缩率的增加是有明显降低的,在压缩率为12~28的范围内存在一个相对稳定的低值,而随着测试向量数量和EDT额外移位周期占比的增加,移位周期数会有一定程度的反弹,在C′a为45%以下时,4个基准电路分别选取压缩率12、14、16和24,测试端口数从1增加到8,固定压缩率分析的移位周期和额外移位周期占比如图 7 (c)、7(d)所示。同样由于扫描链长度的减少,测试周期数量随测试端口数的增加有明显的减少,但EDT额外移位周期占比存在一定程度的增加,选取较少数量的测试端口数可以提高测试向量的效率,节约测试端口资源。
图 7 移位周期数和EDT额外移位周期占比 Fig. 7 Shift cycles and EDT additional cycles percentage |
图选项 |
3.2 扫描压缩测试数据容量和测试时间 由式(6)和式(7),图 8给出了固定测试端口为2时固定故障和跳变延时故障测试数据容量和测试时间随压缩率的变化,测试时钟频率为10 MHz。由图 8可知,测试数据容量和测试时间随压缩率的提高都有明显减少,在压缩率超过32时会有一定程度的增加。根据图 6(a)、6(b)和图 7(a)、7(b)的分析,测试向量数量的增加和EDT模块引入的额外移位周期数占据的测试时间比重增大是导致测试数据容量和测试时间增加的主要因素。综合考虑固定故障和跳变延时故障的测试数据,4个基准电路在压缩率分别为12、14、16和24时分别具有较小的测试数据容量和测试时间。
图 8 固定测试端口数分析结果 Fig. 8 Analysis results by constant number of test ports |
图选项 |
同样根据式(6)和式(7),图 9给出了基准电路在压缩率分别固定为12、14、16和24时固定故障和跳变延时故障测试数据容量和测试时间随测试端口数变化,测试时钟频率为10 MHz。在压缩率不变的条件下,测试端口数量由1增加到8,测试数据容量有一定增加,测试时间有明显减少。根据图 6 (c)、6(d)和图 7 (c)、7(d)的分析,固定压缩率减少了移位周期且没有增加测试向量的数量,由于增加了测试向量的纵向宽度,使得测试数据容量有小幅度增加,同时扫描链测试向量占比和EDT额外移位周期占比都有所增加,而并行测试端口的增加减少了测试时间。
图 9 固定压缩率分析结果 Fig. 9 Analysis results by constant compression ratio |
图选项 |
3.3 扫描测试压缩优化结果 由上述分析,测试端口都为2时,基准电路压缩率分别选用了12、14、16和24。表 2为在相同测试端口条件下未经压缩的电路Bef.和经过EDT压缩优化设计的电路Aft.参数对比,压缩电路减少链长的同时增加了一定电路规模,其中:G为电路门数,FFs为寄存器数量,L为扫描链长,Fau为总故障数。
表 2 基准电路参数变化 Table 2 Change of benchmark circuits parameters
基准电路 | G | FFs | L | Fau | |
S13207 | Bef. | 3 404 | 447 | 224 | 12 630 |
Aft. | 4 009 | 507 | 19 | 14 894 | |
S15850 | Bef. | 4 168 | 448 | 224 | 16 194 |
Aft. | 4 874 | 508 | 14 | 19 198 | |
S38417 | Bef. | 12 690 | 1 484 | 742 | 46 692 |
Aft. | 13 429 | 1 550 | 47 | 51 892 | |
S38584 | Bef. | 12 906 | 1 235 | 620 | 51 306 |
Aft. | 14 126 | 1 305 | 26 | 56 018 |
表选项
表 3和表 4分别给出了测试压缩优化设计前后固定故障和跳变延时故障的仿真结果,其中:Div.为测试数据容量和测试时间减少的倍数。对于固定故障,经过测试压缩优化后各基准电路的故障覆盖率降低了0.51%~1.68%不等,测试数据容量减少了3.9~6.4倍,测试时间减少了3.8~6.2倍。对于跳变延时故障,经过测试压缩优化后测试电路的故障覆盖率降低了0.41%~1.04%不等,测试数据容量减少了4.1~5.4倍,测试时间减少了3.8~5.2倍。为了验证在较大规模电路中的适用性,对一个实际芯片中60万门级子模块电路SS进行了优化分析,该电路寄存器数量为26 576个,总故障数约为114万。分析结果表明,在测试端口为2,压缩率为28时,最长扫描链为500,扫描链测试向量占比和EDT额外移位周期占比分别在1%和8%以下,测试数据容量和测试时间比压缩前都减少了20倍以上。
表 3 固定故障测试压缩优化数据对比 Table 3 Comparison of stuck-at faults test compression optimization data
基准 电路 | FC/% | P | P′c/% | C/103 | C′a/% | V′/KB | Div. (V′) | T′/(10-2μs) | Div. (T′) | |||||
Bef. | Aft. | Bef. | Aft. | Bef. | Aft. | Bef. | Aft. | Bef. | Aft. | |||||
S13207 | 99.81 | 98.13 | 130 | 176 | 12.5 | 29.1 | 6.1 | 43.0 | 58.2 | 12.0 | 4.9 | 29.1 | 6.1 | 4.7 |
S15850 | 99.94 | 98.72 | 144 | 295 | 14.0 | 32.3 | 8.5 | 44.2 | 64.5 | 16.5 | 3.9 | 32.3 | 8.5 | 3.8 |
S38417 | 100 | 99.05 | 156 | 329 | 11.6 | 115.8 | 21.0 | 25.0 | 231.5 | 41.5 | 5.6 | 115.8 | 21.0 | 5.5 |
S38584 | 99.91 | 99.40 | 161 | 374 | 10.4 | 99.8 | 16.1 | 37.3 | 199.6 | 31.4 | 6.4 | 99.8 | 16.1 | 6.2 |
SS | 98.16 | 98.14 | 4 267 | 5 597 | 0.7 | 56 153.7 | 2 776.1 | 7.9 | 112 298.9 | 5 541.0 | 20.3 | 56 153.7 | 2 776.1 | 20.2 |
表选项
表 4 跳变延时故障测试压缩优化数据对比 Table 4 Comparison of transition faults test compression optimization data
基准电路 | FC/% | P | P′c/% | C/103 | C′a/% | V′/KB | Div. (V′) | T′/(10-2μs) | Div. (T′) | |||||
Bef. | Aft. | Bef. | Aft. | Bef. | Aft. | Bef. | Aft. | Bef. | Aft. | |||||
S13207 | 82.31 | 81.27 | 200 | 253 | 8.7 | 44.8 | 9.1 | 41.9 | 89.6 | 17.2 | 5.2 | 44.8 | 9.1 | 4.9 |
S15850 | 76.34 | 75.93 | 175 | 332 | 12.0 | 39.2 | 10.2 | 43.8 | 78.4 | 19.3 | 4.1 | 39.2 | 10.2 | 3.8 |
S38417 | 94.21 | 93.63 | 255 | 734 | 5.2 | 189.2 | 47.6 | 24.7 | 378.4 | 92.5 | 4.1 | 189.2 | 47.6 | 4.0 |
S38584 | 81.10 | 80.14 | 319 | 874 | 4.5 | 197.8 | 38.4 | 36.4 | 395.6 | 73.4 | 5.4 | 197.8 | 38.4 | 5.2 |
SS | 84.09 | 82.80 | 6 830 | 8 790 | 0.4 | 89 889.6 | 4 368.5 | 7.3 | 179 751.9 | 8 702.1 | 20.7 | 89 889.6 | 4 368.5 | 20.6 |
表选项
4 结论 本文采用了扫描测试压缩方法对ISCAS’89基准电路进行了压缩分析,考虑了基准电路固定故障和跳变延时故障的测试向量和移位周期,并分析了扫描链测试向量占比和压缩电路额外移位周期占比,综合考虑多种影响测试压缩的因素,可以实现测试压缩电路较好的压缩效果。
1) 对于各基准电路,测试数据容量和测试时间都减少了3~6倍不等。在较大规模电路中,由于扫描链较长,且扫描链测试向量占比和压缩电路额外移位周期占比相对较低,因此压缩效果更明显。
2) 在芯片设计中还需要考虑具体设计要求,如测试端口数量限制以及测试成本等,同时不同扫描链配置结构对于测试故障的影响也是需要考虑的因素。
参考文献
[1] | WANG L T, WU C W, WEN X Q. VLSI test principles and architectures design for testability[M]. San Francisco: Morgan Kaufmann Publishers Inc, 2006: 351-357. |
[2] | WANG L T, STROUD C E, TOUBA N. System-on-chip test architectures:Nanometer design for testability[M]. San Francisco: Morgan Kaufmann Publishers Inc, 2007: 118-122. |
[3] | 李晓维, 韩银和, 胡瑜, 等. 数字集成电路测试优化[M]. 北京: 科学出版社, 2010: 13-44. LI X W, HAN Y H, HU Y, et al. Test optimization of digital integrated circuit[M]. Beijing: Science Press, 2010: 13-44. (in Chinese) |
[4] | XIANG D, LI K, SUN J, et al. Reconfigured scan forest for test application cost, test data volume, and test power reduction[J]. IEEE Transactions on Computers, 2007, 56(4): 557-562. DOI:10.1109/TC.2007.1002 |
[5] | XIANG D, CHEN Z, WANG L T. Scan flip-flop grouping to compress test data and compact test responses for launch-on-capture delay testing[J]. ACM Transactions on Design Automation of Electronic Systems, 2012, 17(2): 18. |
[6] | RAJSKI J, TYSZER J, KASSAB M, et al. Embedded deterministic test[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2004, 23(5): 776-792. DOI:10.1109/TCAD.2004.826558 |
[7] | LIU X, YU C, QI Y, et al.Case study of testing a SoC design with mixed EDT channel sharing and channel broadcasting[C]//2016 IEEE 25th North Atlantic Test Workshop(NATW).Piscataway: IEEE Press, 2016: 12-17. |
[8] | HUANG Y, KASSAB M, JAHANGIRI J, et al.Test compression improvement with EDT channel sharing in SoC designs[C]//2014 IEEE 23rd North Atlantic Test Workshop(NATW).Piscataway: IEEE Press, 2014: 22-31. |
[9] | CZYSZ D, KASSAB M, LIN X, et al. Low-power scan operation in test compression environment[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2009, 28(11): 1742-1755. DOI:10.1109/TCAD.2009.2030445 |
[10] | MANASY M, DEVIKA K N, MURUGAN S.Performance analysis of embedded deterministic test (EDT) on standard benchmark designs[C]//2017 International Conference on Technological Advancements in Power and Energy (TAP Energy).Piscataway: IEEE Press, 2017: 1-5. |
[11] | LI G L, ZHAO H, YANG Q, et al.Industrial case studies of SoC test scheduling optimization by selecting appropriate EDT architectures[C]//2018 IEEE International Test Conference in Asia (ITC-Asia).Piscataway: IEEE Press, 2018: 109-114. |
[12] | Mentor Graphics Corporation.Tessent® TestKompress® user-s manual[EB/OL].[2019-08-17].http://support.mentor.com. |
[13] | Synopsys Corporation.DFT compiler, DFTMAX, and DFTMAXTM ultra user guide[EB/OL].[2019-08-26].http://www.synopsys.com. |
[14] | Mentor Graphics Corporation.Tessent® shell reference manual[EB/OL].[2019-09-13].http://support.mentor.com. |
[15] | LI G L, QIAN J, ZUO Y, et al.Scan test data volume reduction for SoC designs in EDT environment[C]//201322nd Asian Test Symposium.Piscataway: IEEE Press, 2013: 103-104. |
[16] | GEBALA M, MRUGALSKI M, MUKHERJEE N, et al.On using implied values in EDT-based test compression[C]//201451st ACM/EDAC/IEEE Design Automation Conference (DAC).Piscataway: IEEE Press, 2014: 1-6. |