4. BIST技术概述:内建自测试
内建自测试(Built-In Self-Test, BIST)是将测试激励生成、测试响应分析以及测试控制逻辑直接集成到芯片内部的一种可测试性设计(DFT)技术。BIST使得芯片能够在无需昂贵外部自动测试设备(ATE)的情况下,实现上电自检、在线测试或离线诊断,是提升芯片良率、降低测试成本、实现现场故障定位的核心手段之一。
4.1 BIST的基本定义与工作原理
BIST系统通常由四个核心组件构成:测试控制器(BIST Controller)、测试向量生成器(TPG)、测试响应分析器(ORA)以及被测电路(CUT)。其基本工作流程如下:
- 初始化: BIST控制器接收启动信号(如复位或特定指令),进入测试模式。
- 激励生成: 测试向量生成器(通常为线性反馈移位寄存器,LFSR)自动产生伪随机测试序列。
- 测试执行: 测试序列被施加到被测电路(CUT)的输入端。
- 响应压缩: 被测电路的输出响应被响应分析器(通常为多输入特征寄存器,MISR)压缩成一个“特征签名(Signature)”。
- 结果判断: 将压缩后的签名与预存的“黄金签名(Golden Signature)”进行比较。若一致,则判定为“通过(Pass)”;否则为“失败(Fail)”。
4.2 BIST的分类
根据应用场景和测试对象的不同,BIST主要分为两大类:逻辑BIST(Logic BIST)和存储器BIST(Memory BIST)。此外,还有针对特定模拟或高速接口的BIST变种。
| 分类 | 测试对象 | 核心组件 | 典型应用 |
|---|---|---|---|
| Logic BIST | 标准逻辑单元、组合/时序逻辑、随机逻辑 | LFSR (TPG), MISR (ORA), 相位器 | CPU内核、GPU、DSP、通信基带 |
| Memory BIST | SRAM、DRAM、ROM、寄存器文件、CAM | BIST控制器(状态机)、地址生成器、数据生成器、比较器 | 片上缓存、查找表、FIFO、配置寄存器 |
4.2.1 Logic BIST
Logic BIST主要用于测试芯片中的随机逻辑电路。它通过LFSR生成伪随机测试向量,覆盖大部分固定型故障(Stuck-at Fault)和部分过渡型故障(Transition Fault)。Logic BIST的挑战在于如何在不显著增加面积开销的前提下,达到较高的故障覆盖率(通常要求>90%)。
4.2.2 Memory BIST
Memory BIST是专门为嵌入式存储器设计的测试方案。由于存储器结构规整、故障模型明确(如地址译码故障、存储单元耦合故障、数据保持故障等),Memory BIST通常采用基于March算法的确定性测试序列,而非伪随机序列。March算法能以极短的测试时间覆盖绝大多数存储器故障。
4.3 BIST的优势与挑战
BIST技术在现代芯片设计中占据重要地位,但其应用也伴随着一系列权衡。以下从优势和挑战两个维度进行详细分析。
4.3.1 BIST的核心优势
- 降低测试成本: 减少对昂贵ATE的依赖,支持芯片在封装前、封装后乃至系统级现场进行低成本测试。
- 支持在线/现场测试: 芯片上电后可自动执行BIST,实现系统内自检(如汽车电子、航空航天),满足高可靠性要求。
- 提高测试速度: BIST可以在芯片内部以最高频率运行,测试速度远高于外部ATE的接口速率。
- 增强故障定位能力: 通过设计诊断BIST(Diagnostic BIST),可以精确定位故障的存储单元或逻辑路径,辅助良率分析。
- 保护知识产权(IP): 测试向量和测试逻辑内嵌于芯片,无需向代工厂或第三方测试服务商暴露核心设计细节。
4.3.2 BIST面临的主要挑战
- 面积开销: BIST控制器、LFSR、MISR等额外逻辑会增加芯片面积,通常为5%~15%,对成本敏感型产品影响较大。
- 性能影响: 测试逻辑可能引入额外的路径延迟或负载,影响芯片在正常模式下的时序性能。
- 故障覆盖率瓶颈: 伪随机测试向量可能无法覆盖所有故障类型(如某些时序故障或模拟故障),需要结合确定性测试或ATPG。
- 诊断分辨率有限: 传统BIST仅输出Pass/Fail结果,无法直接定位到具体故障点,需要额外的诊断BIST设计或软件后处理。
- 功耗问题: 测试模式下的电路活动率远高于正常模式,可能导致局部过热或电压降,引发误判。
4.4 BIST在良率分析中的角色
BIST不仅是测试手段,更是良率提升和故障诊断的关键数据源。通过分析BIST的测试结果(如签名、失败地址、失败计数),工程师可以:
- 快速筛选良品与不良品: 在晶圆测试和最终测试阶段,BIST结果作为第一道筛选依据。
- 定位系统级故障: 在系统现场,BIST可以报告故障模块,指导维修或降级使用。
- 辅助良率学习: 将BIST失败数据映射到物理设计(如特定存储单元、特定逻辑区域),帮助工艺和设计团队识别系统性缺陷。