芯片DFT设计与BIST内建自测试联合优化课 - 第1节
1.1 可测试性设计(DFT)的定义
可测试性设计(Design for Testability, DFT)是指在芯片设计的早期阶段,通过添加额外的硬件逻辑和电路结构,使得芯片在制造完成后能够高效、低成本地进行功能与结构测试的一套设计方法学。DFT 的核心目标是将一个原本难以测试的复杂时序电路,转化为易于通过自动测试设备(ATE)施加测试向量并观测响应的可测电路。
可控性指通过芯片的输入引脚,将内部电路节点设置到特定逻辑状态的能力;可观测性指将内部节点的逻辑状态传输到芯片输出引脚,从而被外部测试设备捕获的能力。DFT 技术通过增加测试模式、扫描链、边界扫描单元等结构,显著提升这两项指标。
1.2 DFT 的重要性:为什么必须做 DFT?
随着半导体工艺进入纳米时代,芯片集成度呈指数级增长,一颗 SoC 可能包含数亿甚至数十亿个晶体管。制造过程中的缺陷(如短路、断路、栅氧击穿、金属桥接等)无法完全避免。没有 DFT 的芯片,其内部节点如同“黑箱”,测试覆盖率极低,导致大量缺陷芯片流入市场,造成灾难性的可靠性问题。
| 维度 | 无 DFT 的芯片 | 有 DFT 的芯片 |
|---|---|---|
| 测试覆盖率 | 通常 < 30%(仅能测试 IO 和部分功能路径) | 通常 > 95%(可覆盖内部所有标准单元和存储器) |
| 测试时间 | 极长(需编写复杂功能测试向量,且难以自动化) | 短(ATPG 自动生成向量,扫描测试时间可控) |
| 故障诊断能力 | 几乎无法定位内部缺陷 | 可精确定位到具体扫描单元或逻辑门 |
| 良率分析 | 无法区分设计错误与制造缺陷 | 支持良率学习和工艺反馈 |
| 总体测试成本 | 极高(依赖人工测试,ATE 占用时间长) | 低(自动化流程,ATE 时间缩短 10~100 倍) |
1.3 DFT 在芯片设计流程中的位置
DFT 并非芯片设计完成后的“附加”步骤,而是与前端逻辑设计、后端物理设计并行推进的关键环节。下图展示了 DFT 在典型 ASIC/SoC 设计流程中的嵌入位置:
从图中可以看出,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)的测试,确保芯片在额定频率下正常工作。
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)、修改扫描链结构或调整测试模式来提升覆盖率。