第2章 · DFT基础概念与高频面试问题
本章覆盖 扫描链、ATPG、BIST、边界扫描 四大基础概念,是DFT面试的“必考区”。面试官通过这些问题判断你对DFT本质的理解深度——是停留在名词记忆,还是真正掌握其设计动机与工程取舍。每个问题附带 回答框架 和 追问路径,助你建立结构化表达习惯。
| 核心概念 | 核心目的 | 关键原理 | 主要应用场景 |
|---|---|---|---|
| 扫描链 | 提升内部节点可控制性与可观测性 | 触发器替换为扫描触发器,测试模式下串联成移位寄存器 | 逻辑测试、ATPG 基础 |
| ATPG | 自动生成测试向量 | 基于故障模型(stuck-at、transition)自动推导向量 | 制造测试、良率分析 |
| BIST | 芯片内建自测试 | 片上LFSR生成向量,MISR压缩响应 | 存储器自检、逻辑BIST |
| 边界扫描 | 板级互连与调试 | IEEE 1149.1标准,JTAG控制边界寄存器链 | PCB焊接检测、芯片调试 |
🔹 面试问题 1:请解释什么是扫描链,以及它在 DFT 中的作用?
🎯 面试官考察点:是否理解扫描链如何提升可测试性(可控制 + 可观测);能否区分“扫描链”与“普通寄存器”的本质差异;是否了解扫描链是 ATPG 的基础。
📐 回答框架:
- 一句话定义:扫描链是将普通触发器替换为扫描触发器,在测试模式下串联形成的移位寄存器链。
- 核心原理:测试模式下(SE=1),每个扫描触发器作为移位寄存器单元,输入向量串行移入,输出响应串行移出。
- 设计价值:提供芯片内部节点的 可控制性(置入任意值)和 可观测性(捕获内部状态)。
- 应用关联:是 ATPG 生成测试向量的物理基础,也是逻辑测试覆盖率的主要来源。
💬 简短示例回答:扫描链将普通触发器替换为扫描触发器,在测试模式下串联成移位寄存器。通过扫描链可串行输入测试向量到内部节点,并串行捕获输出响应,从而实现对芯片内部逻辑的可控制与可观测,显著提升测试覆盖率,是 ATPG 测试的基础。
🔍 可能追问:
- 扫描链的综合实现流程是怎样的?(综合 -> 扫描链插入 -> 优化)
- 如何优化扫描链的功耗和面积?(分簇、时钟门控、多 Vt 混合)
- 扫描链测试中的常见故障有哪些?(stuck-at、transition、保持时间违例)
⚠️ 避坑提醒:不要只背诵“扫描链是触发器串联”的定义,要结合 可控制性 + 可观测性 这两个 DFT 核心价值来解释。面试官想听的是“为什么需要扫描链”,而不是“扫描链是什么”。
🔹 面试问题 2:ATPG 的基本原理是什么?常用的 ATPG 算法有哪些?
🎯 面试官考察点:是否理解 ATPG 的数学本质(故障传播与线赋值);能否列举 2-3 种经典算法并说明其演进关系;是否关注覆盖率与向量数量的工程平衡。
📐 回答框架:
- 定义与目的:ATPG 基于故障模型自动生成测试向量,用于检测芯片制造缺陷。
- 核心原理:通过 故障传播(D 算法)和 线赋值(implication)推导出能激活故障并传播至输出的输入组合。
- 常用算法:D 算法(经典)、FAN 算法(减少回溯)、SOCRATES(学习机制加速)。
- 关键指标:故障覆盖率、测试向量数量、生成时间 —— 三者需要权衡。
💬 简短示例回答:ATPG 基于 stuck-at 等故障模型,通过 D 算法、FAN 算法自动推导测试向量。核心思路是激活故障并传播到输出端,同时进行线赋值满足路径条件。实际项目追求 95%+ 的 stuck-at 覆盖率,同时控制向量数量以降低测试成本。
🔍 可能追问:
- stuck-at 故障和 transition 故障的核心区别是什么?(静态 vs 动态)
- ATPG 如何处理时序电路?(时间帧展开、时序 ATPG)
- 覆盖率达不到目标怎么办?(增加测试点、改善可控性/可观测性)
⚠️ 避坑提醒:不要只提 D 算法就结束,要展示对 算法演进脉络 的了解(D → FAN → SOCRATES),并提到覆盖率与测试时间的工程 trade-off。面试官更看重“能否在实际项目中平衡指标”。
🔹 面试问题 3:请比较 BIST 和边界扫描的区别及其各自的应用场景。
🎯 面试官考察点:能否清晰区分“芯片内自检”与“板级互连测试”两个不同层次;是否理解 BIST 和边界扫描的互补关系;是否了解 IEEE 1149.1 标准的基本结构。
📐 回答框架:
- BIST 要点:片上集成测试向量生成器(LFSR)和响应分析器(MISR),实现芯片内建自测试。
- 边界扫描要点:基于 IEEE 1149.1 标准,通过 TAP 控制器和边界寄存器链实现板级互连测试。
- 核心区别:BIST 测试 芯片内部 逻辑/存储器;边界扫描测试 芯片间 互连与 PCB 焊接。
- 互补关系:BIST 用于晶圆测试和系统自检,边界扫描用于板级调试和故障定位。
💬 简短示例回答:BIST 通过 LFSR 生成测试向量并用 MISR 压缩响应,适用于芯片内部存储器或逻辑自检。边界扫描基于 IEEE 1149.1 标准,利用 JTAG 控制边界寄存器链实现板级互连测试。两者互补:BIST 测内部,边界扫描测外部互连,共同覆盖芯片-板级测试需求。
🔍 可能追问:
- BIST 的测试覆盖率如何保证?(确定性 BIST、test point insertion)
- TAP 控制器状态机包含哪些关键状态?(Test-Logic-Reset、Shift-DR、Update-DR…)
- 如何将 BIST 和边界扫描结合在一个测试方案中?(共用 TAP 接口、分级测试)
⚠️ 避坑提醒:不要笼统说“两者都用于测试”,要强调 测试层级不同(芯片内部 vs 板级互连)。最好主动对比两者在测试向量生成、响应分析、标准协议方面的差异,展现结构化辨析能力。