4、测试模式生成技术:LFSR原理、伪随机模式生成、加权随机模式、确定性模式生成(ATPG)与BIST的结合
在数字IC测试领域,测试模式生成是决定测试质量、测试时间与测试成本的核心环节。对于内建自测试(BIST)架构而言,测试模式不再由外部ATE(自动测试设备)逐条施加,而是由芯片内部逻辑自行产生。这一转变带来了三个关键问题:如何用最少的硬件代价生成足够覆盖缺陷的测试向量?如何控制测试向量在电路中的激活率与传播路径?以及如何在随机生成与确定性生成之间取得平衡?本章围绕LFSR(线性反馈移位寄存器)这一基础结构,系统讲解伪随机模式、加权随机模式与确定性ATPG模式在BIST中的结合策略,并给出工程实践中的判断方法与典型案例。
4.1 LFSR核心原理与伪随机模式生成
核心原理:线性反馈移位寄存器(LFSR)由一组D触发器和异或门构成,其反馈多项式决定了状态转移规律。一个n位LFSR最多可产生2n-1个非零状态(最大长度序列,即m序列),这些状态在统计特性上接近均匀分布的伪随机数。在BIST中,LFSR被用作伪随机模式生成器(PRPG),其输出直接作为测试向量施加到被测组合逻辑的输入端。
LFSR的数学本质是GF(2)域上的多项式除法。反馈抽头位置对应本原多项式,例如常用的多项式x16+x14+x13+x11+1可产生65535个非零状态。硬件实现时,只需将对应抽头位置的触发器输出接入异或门,再反馈到最低位即可。相比ATE逐条存储测试向量,LFSR的硬件开销极小——16位LFSR仅需16个触发器和3个异或门。
判断方法:评估LFSR伪随机模式是否满足测试需求,主要看两个指标:故障覆盖率和测试长度。故障覆盖率指检测到的故障占所有可测故障的比例;测试长度指施加的向量数量。工程上通常通过故障仿真(fault simulation)确定达到目标覆盖率(如98%)所需的向量数。若覆盖率不足,可增加LFSR位数、更换本原多项式或调整种子。
| LFSR位数 | 最大序列长度 | 典型故障覆盖率(组合电路) | 硬件开销(触发器数) |
|---|---|---|---|
| 8 | 255 | 70%~85% | 8 + 2 XOR |
| 16 | 65,535 | 85%~95% | 16 + 3 XOR |
| 24 | 16,777,215 | 92%~98% | 24 + 4 XOR |
| 32 | 4.29×109 | 95%~99% | 32 + 5 XOR |
案例拆解:某通信芯片的ALU模块包含约50万门组合逻辑,采用16位LFSR生成伪随机模式。初始仿真显示,施加10,000个向量后故障覆盖率为91.2%,未达到95%的目标。分析发现,部分控制信号(如进位链的进位传递逻辑)在随机模式下激活概率极低。解决方案是将LFSR扩展为24位,并选用本原多项式x24+x23+x22+x17+1,同时将种子从0x5A5A改为0x3C3C3C。重新仿真后,10,000个向量的覆盖率提升至94.8%,20,000个向量时达到96.3%。硬件代价仅增加8个触发器,但测试时间翻倍——这提示我们需要在覆盖率和测试时间之间做权衡。
4.2 加权随机模式生成技术
核心原理:加权随机模式(Weighted Random Pattern, WRP)针对伪随机模式的固有缺陷——某些节点(如高扇入门、长路径上的控制点)在均匀分布下激活概率过低——通过调整每个输入位的“1”概率来提升关键故障的激活率。实现方式是在LFSR输出与扫描链输入之间插入权重逻辑,通常采用“与门+或门”的组合:将LFSR的多个输出位进行逻辑组合,生成具有特定偏置概率的信号。
权重设计是WRP的核心。对于需要高激活概率的节点,将其对应输入位的“1”概率设为0.75或0.875;对于需要低激活概率的节点,设为0.125或0.25。权重值通过ATPG工具分析电路结构后自动生成,也可由工程师根据经验手动指定。硬件实现时,权重逻辑通常采用“LFSR输出位与权重寄存器逐位相与”的方式,权重寄存器在测试过程中可动态更新。
操作流程:加权随机模式的工程实施分为四步:
1. 运行ATPG工具,统计每个扫描输入位的信号概率需求(即该位为1时能激活多少故障);
2. 将概率需求量化到2的幂次(如0.5、0.25、0.125、0.75、0.875),生成权重配置表;
3. 在RTL中实例化权重逻辑,将LFSR输出与权重寄存器组合;
4. 进行故障仿真验证,若覆盖率仍不足,迭代调整权重值。
案例拆解:某处理器核的浮点单元(FPU)包含大量多输入异或门和进位保存加法器。伪随机模式下,这些结构的故障覆盖率仅为82%。ATPG分析显示,有约300个故障需要特定输入组合(如多数输入为1)才能激活。工程师将FPU的64个扫描输入分为三组:第一组(32位)权重设为0.75,第二组(16位)设为0.5,第三组(16位)设为0.25。硬件实现采用两级权重逻辑:第一级将LFSR输出与权重寄存器相与,第二级通过或门合并。仿真结果显示,在相同向量数(15,000)下,覆盖率从82%提升至93.5%。但代价是权重逻辑增加了约200个门,且测试向量生成时间增加了30%。
4.3 确定性模式生成(ATPG)与BIST的结合
核心原理:确定性测试模式由ATPG工具针对特定故障模型(如固定故障、转换故障)自动生成,能保证100%的测试覆盖率(在故障模型完备的前提下)。但确定性向量数量庞大(通常每故障1~4个向量),直接存储在芯片内不现实。BIST与ATPG结合的关键在于压缩存储:将确定性向量压缩为种子或差分数据,在测试时通过LFSR或解压器还原。
主流方案有两种:重播种(Reseeding)和内建确定性测试(BIST with Deterministic Patterns)。重播种方案将LFSR的种子按需存储,每个种子可展开为一段伪随机序列,覆盖一组故障;内建确定性测试则采用更复杂的解压电路(如折叠计数器、LFSR+XOR网络),将压缩后的向量数据实时解压为完整测试向量。
判断方法:选择重播种还是全解压方案,取决于三个因素:
1. 故障覆盖率差距——若伪随机模式覆盖率已超过95%,仅需少量确定性向量补足,重播种更经济;
2. 存储预算——芯片可用的ROM/RAM容量决定了可存储的种子数或压缩数据量;
3. 测试时间——重播种需要暂停测试、加载新种子,若种子切换频繁会显著增加测试时间。
| 方案 | 存储开销 | 硬件复杂度 | 测试时间 | 适用场景 |
|---|---|---|---|---|
| 纯LFSR伪随机 | 极低(仅种子) | 低 | 长(需大量向量) | 覆盖率要求≤95% |
| LFSR + 重播种 | 中(每种子32~64位) | 中 | 中(种子切换开销) | 覆盖率要求95%~99% |
| LFSR + 解压器 | 高(压缩向量库) | 高 | 短(连续解压) | 覆盖率要求100%,存储充足 |
案例拆解:某SoC的GPU着色器核心包含120万门逻辑,目标故障覆盖率为99.5%。纯LFSR伪随机模式在50,000个向量下达到96.8%,剩余约400个故障为随机抵抗型(random-resistant)。工程师采用重播种方案:ATPG工具生成400个确定性向量,通过LFSR编码压缩为12个种子(每个种子32位),存储在芯片的OTP中。测试流程为:先运行LFSR伪随机模式50,000个向量,然后暂停,依次加载12个种子,每个种子展开1,024个向量。最终覆盖率达到99.6%,存储开销仅384位(12×32),硬件增加一个种子加载状态机(约150个门)。测试时间从纯伪随机的50,000周期增加到62,288周期,增加24.6%,但远低于纯确定性测试所需的400,000周期。
4.4 混合策略与工程实践
核心原理:实际BIST设计几乎从不采用单一模式,而是将伪随机、加权随机和确定性模式按阶段组合。典型流程为:
1. 阶段一:LFSR伪随机模式,快速覆盖大部分易测故障(通常5,000~20,000个向量);
2. 阶段二:加权随机模式,针对伪随机未覆盖的中等难度故障(2,000~5,000个向量);
3. 阶段三:重播种或确定性解压,补足剩余随机抵抗故障(数百至数千个向量)。
阶段切换由BIST控制器管理,每个阶段结束后通过MISR(多输入特征寄存器)计算签名,与预期值比对。若签名不匹配,则报告测试失败并终止后续阶段,节省测试时间。
操作流程:混合策略的工程实施遵循以下步骤:
1. 运行ATPG工具,生成故障字典,按可测性将故障分为“易测”“中等”“难测”三类;
2. 对易测故障,用LFSR伪随机模式仿真,确定达到目标覆盖率所需的向量数;
3. 对中等故障,设计权重配置,仿真验证覆盖率提升效果;
4. 对难测故障,生成确定性向量并压缩为种子;
5. 整合三个阶段,编写BIST控制器状态机,生成RTL代码;
6. 进行门级仿真,验证整体覆盖率、测试时间和硬件开销。
案例拆解:某汽车电子MCU的CAN控制器模块,面积约30万门,要求测试覆盖率≥99%,测试时间≤10ms(测试时钟100MHz)。工程师采用混合策略:
- 阶段一:24位LFSR,种子0xABCDEF,运行8,000个向量,覆盖率94.2%;
- 阶段二:权重配置为“高8位0.75、中8位0.5、低8位0.25”,运行3,000个向量,覆盖率提升至97.8%;
- 阶段三:ATPG生成150个确定性向量,压缩为5个种子,每个展开512个向量,覆盖率最终达到99.2%。
总测试向量数=8,000+3,000+5×512=13,560,测试时间=13,560×10ns=135.6μs,远低于10ms预算。硬件开销:LFSR(24触发器)+权重逻辑(约80门)+种子存储(5×24=120位)+控制器状态机(约200门),总计约400门,占模块面积的0.13%。
总结复盘:测试模式生成技术的核心在于理解LFSR的数学特性、掌握加权逻辑的设计方法、以及合理运用ATPG工具生成确定性向量。工程实践中,建议遵循以下原则:
1. 先用仿真确定伪随机模式的覆盖率饱和点,避免盲目增加向量数;
2. 权重设计应基于ATPG的信号概率分析,而非经验猜测;
3. 重播种方案中,种子数控制在10个以内,否则存储开销和切换时间会抵消收益;
4. 混合策略的阶段切换逻辑必须经过门级仿真验证,防止时序冲突;
5. 始终保留MISR签名诊断能力,便于量产测试失败时的故障定位。