第4章 扫描链设计与实现面试题
本章聚焦扫描链设计的四大核心考点:扫描链插入、扫描链压缩、多时钟域处理和DFT规则检查。面试中,面试官通常从流程方法、技术选型、工程实践三个层次考察候选人对扫描链设计的理解深度。以下内容按照“核心概念 → 回答框架 → 问答实战 → 项目复盘”结构组织,便于快速复习与迁移。
扫描链设计核心要素对比
| 维度 | 核心目标 | 关键技术 | 常见挑战 |
|---|---|---|---|
| 扫描链插入 | 高测试覆盖率,低面积开销 | Muxed-D / Clocked 扫描 | 面积与性能的权衡 |
| 扫描链压缩 | 减少测试数据量与测试时间 | XOR 压缩 / MISR | X态屏蔽与压缩率平衡 |
| 多时钟域处理 | 跨域测试安全,时序收敛 | 按域分组 / Lockup Latch | 异步路径的测试覆盖 |
| DFT规则检查 | 设计合规性,ATPG 通过率 | DRC / Violation 修复 | 违规定位与 ECO 修复 |
📌 问题1:请描述扫描链插入的完整流程及关键优化点
考察对扫描链插入全流程的理解,以及面积、时序、测试覆盖率三者权衡的工程思维。
明确目标 → 选型设计 → 插入实现 → 规则检查 → 验证优化。先确定测试覆盖率目标和芯片面积约束;选择 Muxed-D 或 Clocked 扫描方式;按模块划分扫描链,均衡链长;运行 DRC 检查并修复违规;最后用 ATPG 验证覆盖率。
扫描链插入首先根据芯片规模与测试目标确定链长与链数,选择 Muxed-D 扫描降低时序影响。按功能模块划分扫描链,每条链长度控制在 500 个寄存器以内以平衡测试时间。插入后运行 DFT DRC 检查时钟域交叉与 hold time 路径,修复后 ATPG 覆盖率达 98.2%。
如何解决扫描链上的 hold time 问题?链长均衡的具体方法有哪些?
不要忽略扫描链对功能时序的破坏,尤其是高速时钟路径;避免为了追求链长均衡而打破关键模块的物理边界。
📌 问题2:扫描链压缩技术的工作原理及优缺点是什么?
考察对压缩架构(XOR 网络 / MISR)的理解,以及在面积、测试时间、X态处理上的工程判断力。
压缩原理 → 架构类型 → 优势分析 → 劣势与应对 → 适用场景。先说明通过 XOR 网络将多链输出压缩为少量观察端口,或使用 MISR 进行响应压缩;然后对比面积开销、测试数据减少量、X态影响;最后给出典型应用场景。
扫描链压缩使用 XOR 树将 32 条链压缩为 4 个观察端口,测试数据量减少约 70%,面积增加仅 3%。但 X 态会污染压缩结果,需在链内插入 X 态屏蔽逻辑。该方案适用于大规模 SoC,可在测试时间和芯片成本间取得良好平衡。
X态如何产生?解压器如何设计才能保证高故障覆盖率?
不要忽视 X 态对压缩率的实际影响——未屏蔽的 X 态可能导致压缩失效;避免为了追求高压缩率而过度增加 XOR 网络级数,导致时序收敛困难。
📌 问题3:多时钟域下扫描链如何设计?DFT规则检查重点关注什么?
考察跨时钟域扫描链设计的工程经验,以及对 DFT 规则检查项(DRC)的系统掌握。
时钟域分析 → 分组插入 → 跨域同步 → 规则检查 → 验证收敛。先识别所有时钟域及其关系;按时钟域分组插入扫描链;跨域路径使用 Lockup Latch 或同步器隔离;运行 DFT DRC 重点检查:时钟域交叉、三态总线、扫描使能信号完整性;最后用静态时序分析收敛。
多时钟域设计中,我将 5 个时钟域分别插入独立扫描链,每条链内寄存器均属于同一时钟域。跨域路径使用 Lockup Latch 解决 hold time 问题。DFT DRC 重点检查了跨时钟域路径的测试覆盖、扫描使能布线延迟,最终所有 violation 清零,ATPG 覆盖率达 97.8%。
Lockup Latch 的工作原理是什么?异步时钟域间的测试如何保证?
不要将不同时钟域的寄存器混入同一条扫描链,否则会导致扫描移位时的时序混乱;Lockup Latch 必须放置在时钟域边界处,且要满足建立/保持时间。
📁 真实项目案例:基于 ARM Cortex-A72 的 SoC 扫描链设计与实现
以下项目案例采用 STAR 结构呈现,便于面试中清晰、有层次地描述个人贡献。