功能安全之BIST的基本原理
BIST(Built-In Self-Test,内建自测试)是一种将测试功能直接集成到集成电路(IC)或系统内部的设计方法。其基本原理的核心在于:让被测试电路自身(或借助少量专用硬件)来生成测试激励、施加测试、捕获响应并分析结果,从而显著减少对外部自动化测试设备(ATE)的依赖。
以下是BIST的基本原理和关键组成部分:
-
核心思想:自主测试
- 传统测试:需要昂贵的ATE设备从外部向芯片输入管脚施加精心设计的测试向量,再从输出管脚捕获响应并进行分析。
- BIST: 在芯片内部嵌入专门的、相对简单的硬件模块(称为BIST控制器),让它来自动执行测试向量生成、响应捕获和分析的任务。ATE的角色被简化,可能只需要启动测试和读取最终的“通过/失败”标志。
-
关键功能模块:
BIST的实现通常包含以下三个核心硬件模块:-
a. 测试向量生成器:
- 功能: 自动产生用于测试被测电路的输入激励序列。
- 目的: 激活电路中的潜在缺陷(如固定型故障、桥接故障等)。
-
b. 响应分析器:
- 功能: 捕获被测电路对测试向量生成的输出响应,并将其压缩成一个签名。
- 原理: 将电路在测试期间的所有输出看作一个很长的位流。MISR像一种特殊的校验和计算器,将这个长位流压缩成一个短签名。如果电路工作正常,其输出的签名会与预期值(称为“黄金签名”)匹配;如果电路有故障,其输出序列会改变,导致计算出的签名与预期值不匹配的概率极高。
-
c. BIST控制器:
- 功能: 整个BIST操作的“大脑”。
- 职责:
- 初始化测试向量生成器和响应分析器(如复位LFSR/MISR)。
- 控制测试过程的时序(启动、运行、停止)。
- 协调测试向量施加和响应捕获的同步。
- 在测试结束时,读取响应分析器(MISR)计算出的签名。
- 将计算出的签名与存储在芯片内部(通常是在只读存储器或通过设计固定连线)的预期签名进行比较。
- 产生一个最终的测试结果输出(通常是一个简单的“Pass/Fail”信号)。
- 可能包含状态机来管理复杂的测试序列。
-
-
BIST工作流程:
- 启动: 外部信号(或上电自检逻辑)激活BIST控制器。
- 初始化: BIST控制器复位测试向量生成器(如LFSR)和响应分析器(如MISR)。
- 测试执行:
- 测试向量生成器在每个时钟周期产生一个测试向量。
- 该测试向量被施加到被测电路的输入端。
- 被测电路产生响应输出。
- 响应分析器(MISR)捕获这些输出,并将其压缩到正在计算的签名中。
- 重复: 步骤3重复执行预定的次数(例如,直到LFSR循环一个完整周期或达到预设的测试长度)。
- 签名比较: 测试结束后,BIST控制器从响应分析器(MISR)中读取最终的签名。
- 结果判定: BIST控制器将读取的签名与内部存储的预期签名进行比较。
- 输出结果: 控制器根据比较结果产生一个“Pass”或“Fail”信号,输出到芯片的特定管脚或内部状态寄存器。
-
BIST的主要优点:
- 降低测试成本: 大幅减少对昂贵、高速ATE的依赖和占用时间。
- 提高测试访问性: 解决深亚微米设计和高密度封装带来的物理探测难题,直接访问内部节点。
- 支持并行测试: 可同时对芯片上多个模块进行BIST,提高整体测试效率。
- 支持在线测试: 可在系统运行时(例如启动时或空闲时)进行周期性自检,提高系统可靠性。
- 简化测试接口: 外部只需要简单的启动和读取Pass/Fail信号的接口。
- 更好的故障诊断: 签名分析有助于定位故障区域(虽然不如扫描链精确)。
-
BIST的主要挑战/代价:
- 面积开销: 增加了额外的硬件(TPG, ORA, BIST控制器),占用芯片面积。
- 性能影响: BIST逻辑可能位于关键路径上,增加延迟。
- 功耗增加: 测试期间电路切换活动率高,可能导致功耗高于正常工作模式。
- 设计复杂性: 需要额外的设计和验证工作。
- 测试覆盖率: 伪随机测试可能无法覆盖所有故障,需要精心设计向量生成策略或结合其他测试方法(如扫描)。
- 故障屏蔽: MISR压缩存在极小的概率(混叠概率)导致故障响应被压缩成正确的签名(误判为Pass)。
总结:
BIST的基本原理就是将测试功能内建到芯片中,通过专用的硬件模块(测试向量生成器、响应分析器、控制器)自动完成测试激励生成、响应捕获和结果分析(通过与预期签名比较),最终输出一个简单的通过/失败指示。其核心价值在于实现了测试的自主化,从而降低对外部测试设备的依赖和成本,提高测试的可访问性和效率,并支持系统级的在线测试。这是一种通过增加少量芯片面积开销来换取巨大测试便利性和成本效益的设计技术。常见的应用包括处理器、DSP、ASIC的核测试以及嵌入式存储器的测试(MBIST - Memory BIST)。