第4章 BIST与边界扫描

BIST(内建自测试)和边界扫描(JTAG)是DFT验证工程师必须掌握的两大核心技术。面试中常围绕原理、设计权衡、接口协议和实际项目应用展开提问。以下从回答框架、高频追问和避坑角度系统拆解。

对比维度BIST边界扫描 (JTAG)
核心目的芯片内部自测试,减少ATE依赖板级互连测试、芯片调试
关键组件TPG、ORA、BIST控制器TAP控制器、指令寄存器、边界扫描链
测试对象存储器、逻辑模块芯片引脚级互连、内部逻辑(BYPASS)
面积开销中等~高(取决于覆盖率)约5%~15%(每个I/O增加一个边界单元)
面试频率⭐⭐⭐⭐⭐⭐⭐⭐⭐
BIST面试回答四步框架 定义&原理 TPG+ORA+控制器 优缺点 面积 vs 测试成本 设计决策 覆盖率/时间/面积 项目落地 混合策略 / 分模块 面试加分点 • 明确BIST与边界扫描互补 • 提及ATE成本与工程折中
💡 框架使用提示 回答BIST问题时按“定义→优缺点→设计折中→项目经验”递进,面试官最关注第3、4步的实际权衡。

问题1:请解释什么是BIST?它的主要优点和缺点是什么?

🔍 面试官考察点
  • 对BIST基本架构(TPG、ORA、控制逻辑)的理解
  • 能否量化面积开销与测试成本的关系
  • 是否知道BIST在存储器、逻辑模块的不同实现方式
📐 回答框架
  1. 定义:芯片内部集成测试电路,实现自主测试。
  2. 核心部件:测试向量生成器(TPG)、响应分析器(ORA)、控制器。
  3. 优点:减少ATE依赖、支持在线测试、测试时间短。
  4. 缺点:面积开销(约10%~30%)、额外功耗、测试覆盖率可能受限。
✏️ 简短示例回答

BIST是片上自测试方案,由TPG生成伪随机向量,ORA压缩比较响应。优点是可大幅降低ATE测试成本,支持快速启动测试;缺点是面积开销通常占芯片面积的10%~30%,且无法覆盖所有时序路径,常与扫描链混合使用。

❓ 可能追问
  • BIST的故障覆盖率如何评估?如何弥补随机测试的盲点?
  • 在SoC中多个BIST控制器如何协同?
  • 你如何计算BIST的面积开销并决定是否采用?
⚠️ 避坑提醒

不要只说“BIST很好”,必须结合面积和测试时间折中。很多面试者忽略BIST对时序和功耗的影响,尤其在高速设计中,BIST控制器可能成为关键路径。

JTAG边界扫描链结构 TAP控制器 TCK/TMS/TDI/TDO 指令寄存器 (IR) 数据寄存器 (DR) Chip 1 内嵌扫描链 BS cell Chip 2 内嵌扫描链 BS cell TDO 板级菊花链:TDI→Chip1→Chip2→TDO,通过TAP选择指令
📌 关键理解 边界扫描的核心是测试访问端口(TAP)和边界扫描单元(BS cell)。面试中需能画出Daisy Chain并说明BYPASS、SAMPLE、EXTEST等指令。

问题2:边界扫描如何工作?JTAG接口有哪些信号?

🔍 面试官考察点
  • 对JTAG物理层和协议层的熟悉程度
  • 能否解释边界扫描链的建立过程
  • 是否理解EXTEST、SAMPLE、BYPASS等指令用途
📐 回答框架
  1. 信号:TCK(时钟)、TMS(状态机)、TDI(输入)、TDO(输出)。
  2. 结构:每个I/O引脚增加边界单元,串联成扫描链。
  3. 操作:TAP状态机通过TMS切换,选择指令寄存器或数据寄存器。
  4. 指令举例:EXTEST测试外部互连,SAMPLE捕获内部状态,BYPASS旁路芯片。
✏️ 简短示例回答

JTAG通过4线TAP接口控制边界扫描链。TCK提供时钟,TMS驱动状态机进入Shift-IR/DR等状态;TDI串行输入,TDO串行输出。EXTEST指令将输出值驱动到引脚检测互连断路或短路,SAMPLE则在正常运行时捕获引脚状态用于调试。

❓ 可能追问
  • 如何通过边界扫描检测引脚开路/短路?
  • 边界扫描链的时钟频率如何确定?与芯片核心时钟的关系?
  • 如果链上某个芯片损坏,怎样隔离测试?
⚠️ 避坑提醒

不要混淆TAP状态机与普通状态机。面试者常见错误是忘记描述Capture→Shift→Update的三个动作过程。另外,务必强调边界扫描单元不是寄存器而是带有旁路逻辑的测试单元。

问题3:如何权衡BIST的面积开销、测试覆盖率和测试时间?

🔍 面试官考察点
  • 能否用具体数字或经验法则说明折中
  • 是否了解BIST的测试时间公式(向量数×时钟周期)
  • 是否考虑过混合策略(BIST+扫描链)
📐 回答框架
  1. 面积 vs 覆盖率:TPG线性反馈移位寄存器长度越长,伪随机向量质量越高,覆盖率上升但面积增加。
  2. 测试时间 vs 覆盖率:增加测试向量数可提高覆盖率,但测试时间线性增长,需结合ATPG压缩。
  3. 实际策略:对存储器用完整BIST,对逻辑模块用BIST+确定性扫描。
  4. 常用指标:目标覆盖率>95%,面积预算<15%,测试时间<10ms(视产品定)。
✏️ 简短示例回答

我会以典型SoC为例:对SRAM采用March C+ BIST,面积增加约8%;对逻辑模块使用1000个LFSR种子+BIST控制器,达到98%覆盖率。若面积超15%,则减少种子数并用确定性ATPG补点。测试时间控制在5ms以内,满足量产需求。

❓ 可能追问
  • 你如何评估BIST对芯片良率的影响?
  • 在低功耗设计中,BIST如何融入电源域控制?
  • 为什么有些公司选择用P1500而不是BIST?
⚠️ 避坑提醒

避免给出数值而不加条件。必须声明“取决于工艺、模块类型和测试策略”。另外,不要忽略BIST的硬件开销对后端布局布线的压力,面试时可主动提及“BIST控制器与核心逻辑的距离会影响时序收敛”。