芯片DFT设计与BIST内建自测试联合优化课 - 第1节

1.1 可测试性设计(DFT)的定义

可测试性设计(Design for Testability, DFT)是指在芯片设计的早期阶段,通过添加额外的硬件逻辑和电路结构,使得芯片在制造完成后能够高效、低成本地进行功能与结构测试的一套设计方法学。DFT 的核心目标是将一个原本难以测试的复杂时序电路,转化为易于通过自动测试设备(ATE)施加测试向量并观测响应的可测电路。

DFT 的本质: 在芯片内部植入“测试基础设施”,在不破坏原始功能逻辑的前提下,提供对内部节点的可控性(Controllability)与可观测性(Observability)。

可控性指通过芯片的输入引脚,将内部电路节点设置到特定逻辑状态的能力;可观测性指将内部节点的逻辑状态传输到芯片输出引脚,从而被外部测试设备捕获的能力。DFT 技术通过增加测试模式、扫描链、边界扫描单元等结构,显著提升这两项指标。

1.2 DFT 的重要性:为什么必须做 DFT?

随着半导体工艺进入纳米时代,芯片集成度呈指数级增长,一颗 SoC 可能包含数亿甚至数十亿个晶体管。制造过程中的缺陷(如短路、断路、栅氧击穿、金属桥接等)无法完全避免。没有 DFT 的芯片,其内部节点如同“黑箱”,测试覆盖率极低,导致大量缺陷芯片流入市场,造成灾难性的可靠性问题。

维度 无 DFT 的芯片 有 DFT 的芯片
测试覆盖率 通常 < 30%(仅能测试 IO 和部分功能路径) 通常 > 95%(可覆盖内部所有标准单元和存储器)
测试时间 极长(需编写复杂功能测试向量,且难以自动化) 短(ATPG 自动生成向量,扫描测试时间可控)
故障诊断能力 几乎无法定位内部缺陷 可精确定位到具体扫描单元或逻辑门
良率分析 无法区分设计错误与制造缺陷 支持良率学习和工艺反馈
总体测试成本 极高(依赖人工测试,ATE 占用时间长) 低(自动化流程,ATE 时间缩短 10~100 倍)
行业共识: 在 28nm 及以下工艺节点,不做 DFT 的芯片几乎不可能实现量产。DFT 是芯片从设计走向量产的“通行证”。

1.3 DFT 在芯片设计流程中的位置

DFT 并非芯片设计完成后的“附加”步骤,而是与前端逻辑设计、后端物理设计并行推进的关键环节。下图展示了 DFT 在典型 ASIC/SoC 设计流程中的嵌入位置:

DFT 在芯片设计流程中的位置 DFT 在芯片设计流程中的位置 1. 规格定义 2. RTL 设计 + DFT 架构规划 3. 逻辑综合 + DFT 插入 4. ATPG 向量生成 + 仿真验证 5. 后端物理设计(布局布线) 6. 流片 → ATE 测试 → 良率分析 DFT 关键活动 • 扫描链设计 • 存储器 BIST 集成 • 边界扫描 (JTAG) • 测试模式时序约束 DFT 设计输入 • 功能 RTL 代码 • DFT 规格文档 • 时钟/复位方案 • IO 与电源规划

从图中可以看出,DFT 架构规划在 RTL 设计阶段即开始介入,与功能设计同步进行。逻辑综合阶段完成扫描链的物理插入和测试逻辑的优化。ATPG(自动测试向量生成)在综合后立即启动,生成用于制造测试的向量集。后端物理设计阶段需要确保测试模式的时序收敛。最终,流片后的芯片在 ATE 上运行 DFT 向量,完成量产测试。

1.4 DFT 的主要技术分类

现代 DFT 技术体系包含多种互补方法,针对不同类型的电路结构提供测试解决方案:

  • 扫描测试(Scan Test): 将普通寄存器替换为扫描寄存器,连接成扫描链,实现对时序逻辑的全扫描或部分扫描测试。覆盖率最高,是 DFT 的核心技术。
  • 内建自测试(BIST): 在芯片内部集成测试向量生成器(如 LFSR)和响应分析器(如 MISR),使芯片能够“自测”。特别适用于存储器(Memory BIST)和高速接口。
  • 边界扫描(Boundary Scan / JTAG): 基于 IEEE 1149.1 标准,在芯片 IO 边界添加扫描单元,用于板级互连测试和芯片调试。
  • 测试压缩(Test Compression): 通过编码技术(如 X-tolerant、EDT)减少测试数据量和测试时间,降低 ATE 成本。
  • 延迟测试(Delay Test): 针对路径延迟缺陷(transition fault、path delay fault)的测试,确保芯片在额定频率下正常工作。
常见误区: DFT 不是“测试工程师”的专属工作。前端设计工程师必须在 RTL 阶段考虑 DFT 约束(如避免异步复位、禁止组合反馈环路),否则后期插入 DFT 可能导致功能时序违规或面积大幅增加。

1.5 DFT 的关键指标:测试覆盖率

测试覆盖率是衡量 DFT 质量的核心量化指标,通常定义为:

测试覆盖率 = (检测到的故障数 / 总故障数) × 100%

在工业界,常用的故障模型包括:

故障模型 描述 典型覆盖率目标
固定故障(Stuck-at) 节点固定为逻辑 0 或 1 > 98%
转换故障(Transition) 节点无法在时钟沿完成 0→1 或 1→0 跳变 > 90%
桥接故障(Bridging) 两条信号线意外短路 > 85%
路径延迟故障(Path Delay) 关键路径的累积延迟超过时钟周期 > 80%

达到高覆盖率需要 DFT 架构与 ATPG 工具的紧密配合。覆盖率低于目标值时,设计团队需要分析未覆盖的故障点,通过增加测试点(Test Point)、修改扫描链结构或调整测试模式来提升覆盖率。

DFT 设计黄金法则: 测试覆盖率每提升 1%,量产缺陷逃逸率(DPPM)可降低约 5%~10%。在汽车电子、航空航天等安全关键领域,DFT 覆盖率要求通常为 99.5% 以上。