1. 课程导入

当一颗先进SoC从RTL走向硅片,设计验证只能证明“功能在理想条件下正确”,却无法回答三个量产阶段最致命的问题:制造出来的芯片里,有多少逻辑单元真的能被测试到?测试向量能否在ATE上以可接受的成本跑完?片上存储器阵列的故障能否被高效覆盖?可测性设计(Design for Testability,DFT)正是为回答这三个问题而存在的一整套工程方法。它不是验证的替代品,而是把“可观测性”和“可控制性”主动植入芯片内部,让制造缺陷在测试机上暴露出来。

一、DFT的核心价值:从“能不能测”到“测得快、测得准”

DFT的价值可以从三个维度理解。第一是质量维度:通过扫描链把时序单元串成可移位的通路,ATPG工具可以自动生成高覆盖率的测试向量,把传统功能测试难以触及的内部节点变成可观测点。第二是成本维度:测试时间直接决定单颗芯片的测试成本,扫描压缩、MBIST并行测试、测试调度优化都在压缩测试周期。第三是良率维度:MBIST与BISR(内建自修复)能在测试阶段定位并修复存储器故障,提升有效良率。

DFT的本质不是“加测试逻辑”,而是用可控的面积与功耗代价,换取可预测的测试覆盖率、可收敛的测试时间和可量化的良率收益。

二、三大模块的整体框架

本课程围绕三个相互衔接的模块展开,它们共同构成DFT签核的完整链路:

  • Scan插入:在RTL或网表阶段把普通触发器替换为扫描触发器,连接扫描链,插入压缩逻辑与测试控制端口,为ATPG提供结构基础。
  • ATPG:基于扫描结构自动生成测试向量,完成故障模型覆盖、向量压缩、X态处理与测试协议验证,输出可用于ATE的STIL/WGL向量。
  • MBIST签核:为SRAM、ROM、寄存器堆等存储器插入自测试控制器,完成算法选择、故障覆盖、测试时间评估与BISR修复签核。

三者不是孤立任务,而是共享同一套测试时钟、测试模式控制与功耗约束。Scan插入的质量决定ATPG覆盖率上限,ATPG的向量规模又反过来影响MBIST与扫描测试的调度顺序。下图给出三大模块与项目流程的整体关系。

DFT签核项目整体框架 Scan插入 扫描替换 / 链连接 压缩逻辑 / 测试端口 ATPG 故障模型 / 向量生成 压缩 / X态处理 MBIST签核 算法选择 / 故障覆盖 测试时间 / BISR 共享基础设施:测试时钟 / 测试模式控制 / 功耗约束 / DFT规则检查 Scan结构与ATPG向量共同决定覆盖率上限,MBIST调度影响整体测试时间 RTL / 网表 设计输入与约束 DFT插入与综合 Scan / MBIST / 边界扫描 ATPG与仿真 覆盖率收敛 / 协议验证 签核交付 向量 / 报告 / 覆盖率 关键收敛指标:测试覆盖率 ≥ 目标值 · 测试时间可控 · 面积/功耗增量可接受 · DFT规则零违例 三大模块共享同一套测试约束,任一环节失配都会导致签核返工

三、项目流程与关键交付物

一个典型的DFT签核项目按阶段推进,每个阶段都有明确的输入、输出与准出条件。下表给出从设计输入到签核交付的主流程与关键交付物。

阶段 主要任务 关键交付物 准出条件
设计准备 收集RTL、时钟复位、存储器清单、测试约束 DFT需求规格、测试时钟方案 约束评审通过
Scan插入 扫描替换、链连接、压缩逻辑插入、端口定义 扫描网表、链报告、DFT规则检查报告 规则零违例、链平衡
ATPG 故障模型配置、向量生成、压缩、X态处理 STIL/WGL向量、覆盖率报告 覆盖率达标、协议仿真通过
MBIST签核 算法选择、控制器插入、测试时间评估、BISR验证 MBIST网表、故障覆盖报告、修复报告 覆盖达标、时间可控
签核交付 向量整合、ATE格式转换、签核评审 最终向量包、签核报告 评审通过、可交付测试

四、典型场景:一次覆盖率不达标的复盘

某项目中,ATPG覆盖率在首轮仅达到92%,距离目标98%有明显差距。团队按以下路径排查:

  1. 检查DFT规则报告,发现部分触发器未被扫描替换,原因是时钟门控单元未正确旁路。
  2. 检查扫描链配置,发现链长差异过大,导致部分链在压缩模式下移位效率低。
  3. 检查X态来源,发现未初始化存储器输出在扫描移位时污染了压缩通道。
  4. 修正时钟门控旁路、重新平衡链长、为存储器输出增加X态屏蔽逻辑后,覆盖率收敛至98.6%。
常见误区:把覆盖率不达标简单归因于ATPG工具设置。实际上,Scan插入阶段的规则违例、链不平衡和X态源,往往才是覆盖率收敛的真正瓶颈。签核必须从结构质量抓起,而不是在向量阶段反复试参数。

五、学习目标与工具链概览

完成本课程后,你应当能够独立完成以下任务:

  • 理解DFT在芯片量产中的质量、成本与良率价值,能向项目团队解释DFT签核的必要性。
  • 掌握Scan插入的完整流程,能读懂链报告、规则检查报告并定位常见违例。
  • 掌握ATPG的故障模型、向量生成与压缩方法,能完成覆盖率收敛与协议仿真。
  • 掌握MBIST的算法选择、控制器插入与BISR签核方法,能评估测试时间与故障覆盖。
  • 能整合三大模块的输出,完成DFT签核评审与向量交付。

工具链方面,课程涉及主流DFT工具的使用方式,包括扫描插入与规则检查、ATPG向量生成与压缩、MBIST控制器生成与仿真验证。典型命令形式如下:

# 扫描插入与规则检查(示意)
insert_dft -scan -compression -chain_count 32
check_dft_rules -all -report dft_rules.rpt

# ATPG向量生成(示意)
set_fault_model stuck_at transition
run_atpg -compress -coverage_target 98
write_vectors -format stil -output scan_vectors.stil

# MBIST插入与签核(示意)
insert_mbist -memory sram_2048x32 -algorithm march_c_minus
report_mbist_coverage -fault_model coupling
建议在学习每个模块时,同步维护一份“签核检查清单”:Scan阶段记录链数、链长、规则违例;ATPG阶段记录覆盖率、向量数、X态比例;MBIST阶段记录算法、测试周期、修复率。清单化跟踪能让签核过程可追溯、可复盘。

DFT签核不是单点技术,而是一条从结构插入到向量交付的完整工程链路。接下来的章节将依次深入Scan插入、ATPG与MBIST签核三个模块,逐层拆解每个环节的原理、操作与收敛方法。