4、测试模式生成技术:LFSR原理、伪随机模式生成、加权随机模式、确定性模式生成(ATPG)与BIST的结合

在数字IC测试领域,测试模式生成是决定测试质量、测试时间与测试成本的核心环节。对于内建自测试(BIST)架构而言,测试模式不再由外部ATE(自动测试设备)逐条施加,而是由芯片内部逻辑自行产生。这一转变带来了三个关键问题:如何用最少的硬件代价生成足够覆盖缺陷的测试向量?如何控制测试向量在电路中的激活率与传播路径?以及如何在随机生成与确定性生成之间取得平衡?本章围绕LFSR(线性反馈移位寄存器)这一基础结构,系统讲解伪随机模式、加权随机模式与确定性ATPG模式在BIST中的结合策略,并给出工程实践中的判断方法与典型案例。

BIST测试模式生成技术架构 测试模式源(BIST控制器) LFSR伪随机生成器 PRPG(伪随机模式) 硬件开销低,覆盖率高 加权随机生成器 WRP(加权随机模式) 提高关键节点激活概率 ATPG确定性生成 DTPG(确定性模式) 针对特定故障,压缩存储 模式选择与混合策略 被测电路 CUT(组合逻辑 + 扫描链) 故障激活 → 故障传播 → 响应捕获 响应分析(MISR / 特征签名) 反馈控制(调整权重/切换模式) LFSR为基核 → 加权/确定性扩展 → 混合策略 → 响应签名比对

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的种子(seed)决定了伪随机序列的起始点。在BIST中,种子通常由测试控制器配置,不同种子可产生不同序列,用于多轮测试或故障诊断。种子为全0时LFSR会陷入死锁(所有状态恒为0),因此必须避免全0种子。

判断方法:评估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个触发器,但测试时间翻倍——这提示我们需要在覆盖率和测试时间之间做权衡。

常见误区:误以为LFSR位数越多越好。实际上,当序列长度超过电路可观测状态空间后,继续增加位数对覆盖率提升有限,反而增加硬件开销和测试时间。工程上应通过仿真确定“饱和点”——即覆盖率增长趋于平缓的向量数阈值。

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. 进行故障仿真验证,若覆盖率仍不足,迭代调整权重值。

经验提醒:权重寄存器通常采用JTAG接口或专用BIST控制器配置。在测试模式切换时,需确保权重更新与LFSR状态同步,避免产生非法中间状态。建议在权重切换后插入2~3个空周期,让电路稳定后再施加有效向量。

案例拆解:某处理器核的浮点单元(FPU)包含大量多输入异或门和进位保存加法器。伪随机模式下,这些结构的故障覆盖率仅为82%。ATPG分析显示,有约300个故障需要特定输入组合(如多数输入为1)才能激活。工程师将FPU的64个扫描输入分为三组:第一组(32位)权重设为0.75,第二组(16位)设为0.5,第三组(16位)设为0.25。硬件实现采用两级权重逻辑:第一级将LFSR输出与权重寄存器相与,第二级通过或门合并。仿真结果显示,在相同向量数(15,000)下,覆盖率从82%提升至93.5%。但代价是权重逻辑增加了约200个门,且测试向量生成时间增加了30%。

常见误区:权重设置并非越极端越好。过高的“1”概率(如0.9375)会导致扫描链上大量位同时翻转,引起电源噪声(IR-drop)增大,甚至导致时序违规。建议单输入位权重不超过0.875,且同一时刻高权重位数量不超过总位数的1/3。

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. 进行门级仿真,验证整体覆盖率、测试时间和硬件开销。

经验提醒:阶段切换时,MISR需要清零或保存中间签名。建议在每个阶段结束时将MISR值存入影子寄存器,便于故障诊断时定位是哪个阶段失败。此外,阶段间的LFSR状态应连续——即阶段二从阶段一的最终状态继续,而非重新加载种子,以保持序列的随机性。

案例拆解:某汽车电子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%。

常见误区:混合策略并非三个阶段都必须存在。若伪随机模式覆盖率已达标,可省略加权和确定性阶段;若电路可测性极差,可能需要直接采用全确定性方案。工程上应通过“覆盖率-成本”分析确定最优组合,避免为追求100%覆盖率而过度增加硬件和测试时间。

总结复盘:测试模式生成技术的核心在于理解LFSR的数学特性、掌握加权逻辑的设计方法、以及合理运用ATPG工具生成确定性向量。工程实践中,建议遵循以下原则:
1. 先用仿真确定伪随机模式的覆盖率饱和点,避免盲目增加向量数;
2. 权重设计应基于ATPG的信号概率分析,而非经验猜测;
3. 重播种方案中,种子数控制在10个以内,否则存储开销和切换时间会抵消收益;
4. 混合策略的阶段切换逻辑必须经过门级仿真验证,防止时序冲突;
5. 始终保留MISR签名诊断能力,便于量产测试失败时的故障定位。