4. 扫描链优化
扫描链(Scan Chain)是 DFT 实现可测试性的核心载体。在实际工程中,原始扫描链往往存在长度不均、跨时钟域路径混乱、测试数据量过大等问题。本章聚焦三项关键优化技术:扫描链平衡、时钟域交叉处理以及扫描链压缩,帮助工程师在面积、功耗、测试时间和覆盖率之间取得最优平衡。
4.1 扫描链平衡
扫描链平衡(Scan Chain Balancing)是指将芯片内部所有扫描触发器(Scan Flip-Flop)分配到多条扫描链上,使每条链的长度尽可能相等。链长不均会导致测试时间由最长链决定,造成测试效率低下。
4.1.1 平衡的必要性
- 测试时间最小化:测试时间 ≈ 最长扫描链长度 × 扫描时钟周期 × 测试向量数。链长均衡直接缩短测试时间。
- 功耗分布均匀:避免单条链在移位阶段产生局部热点,降低 IR Drop 风险。
- ATE 通道利用率:每条链对应一个测试通道,平衡链长可最大化通道带宽利用率。
4.1.2 平衡算法与流程
现代 EDA 工具(如 Synopsys DFT Compiler、Cadence Genus)采用基于图划分或贪心算法的链分配策略。典型流程如下:
- 触发器分组:按时钟域、物理位置、电压域进行预分组。
- 链长约束设定:指定目标链数 N 和最大链长偏差(如 ±5%)。
- 自动分配:工具执行最小化最长链的优化算法。
- 后布局调整:在物理设计阶段根据走线拥塞微调链顺序。
工程经验:在 7nm 以下工艺节点,建议将链长偏差控制在 ±3% 以内,同时预留 2~3 条备用链用于 ECO 或修复。
4.1.3 平衡效果对比
| 指标 | 未平衡(链长 100~500) | 平衡后(链长 300±10) |
|---|---|---|
| 最长链长度 | 500 | 310 |
| 测试时间(相对值) | 1.0x | 0.62x |
| 移位峰值功耗 | 高(局部集中) | 低(均匀分布) |
| ATE 通道效率 | 60% | 97% |
4.1.4 扫描链平衡结构示意
4.2 时钟域交叉处理
现代 SoC 包含多个异步时钟域(如 CPU 核、DDR、外设总线)。扫描链在跨时钟域路径上必须特殊处理,否则会导致测试时出现亚稳态、数据丢失或错误捕获。
4.2.1 跨时钟域扫描的挑战
- 亚稳态风险:不同时钟域的触发器在移位阶段可能因时钟沿对齐问题产生 setup/hold 违例。
- 测试覆盖率失真:跨域路径上的故障可能被错误屏蔽或重复计数。
- ATPG 约束复杂:需要为跨域路径添加额外的时序约束。
4.2.2 常用处理方案
| 方案 | 原理 | 适用场景 | 面积开销 |
|---|---|---|---|
| 同链同域 | 同一扫描链只包含同一时钟域的触发器 | 时钟域数量少、链数充足 | 无额外开销 |
| 锁存器桥接 | 在跨域路径插入测试专用锁存器 | 异步时钟域、频率差异大 | 中等 |
| 双沿捕获 | 使用双沿触发器或专用跨域单元 | 高速接口、多时钟域 | 较高 |
| 测试时钟复用 | 测试模式下将所有域切换至同一测试时钟 | ATE 通道受限、低功耗测试 | 低(需 MUX) |
注意:测试时钟复用方案虽然简单,但会破坏原有时钟域的功能时序关系,可能导致部分跨域路径上的时序故障无法被测试到。建议配合 at-speed 测试时单独处理。
4.2.3 跨时钟域扫描链结构
4.3 扫描链压缩技术
扫描链压缩(Scan Compression)通过编码技术减少测试数据量和测试时间,同时保持或提升故障覆盖率。现代 DFT 工具普遍支持基于 X-tolerant 的压缩架构。
4.3.1 压缩原理
压缩的核心思想是在芯片内部增加解压缩器(Decompressor)和压缩器(Compressor),将 ATE 输入的少量测试数据展开为多条内部扫描链,再将响应数据压缩后输出。
- 输入压缩比:ATE 通道数 : 内部扫描链数 = 1 : N(典型值 1:10 ~ 1:100)
- 输出压缩比:通过 MISR(多输入特征寄存器)或 X-tolerant 压缩器实现
- X 态处理:压缩器必须容忍未知态(X),避免特征污染
4.3.2 压缩架构对比
| 架构 | 输入方式 | 输出方式 | X 态容忍 | 典型压缩比 |
|---|---|---|---|---|
| MISR 压缩 | 直接输入 | MISR 签名 | 否(需 X 屏蔽) | 10:1 ~ 50:1 |
| XOR 树压缩 | 直接输入 | XOR 网络 | 部分容忍 | 5:1 ~ 20:1 |
| X-tolerant 压缩 | 解压缩器 | X-tolerant 压缩器 | 完全容忍 | 20:1 ~ 100:1 |
| 自适应压缩 | 动态解压缩 | 可配置压缩器 | 完全容忍 | 50:1 ~ 200:1 |
选型建议:对于 28nm 以上成熟工艺,XOR 树压缩性价比最高;对于 16nm 以下先进工艺,建议采用 X-tolerant 或自适应压缩架构,以应对大量 X 态和更高的测试数据量需求。
4.3.3 压缩架构框图
4.3.4 压缩带来的覆盖率影响
压缩技术通常不会降低故障覆盖率,但需要注意以下工程细节:
- X 态屏蔽:压缩器中的 X 态屏蔽逻辑必须完整,否则会污染特征签名。
- ATPG 约束:压缩模式下 ATPG 需要额外约束,避免解压缩器产生非法向量。
- 诊断能力:压缩会降低故障诊断的分辨率,建议保留非压缩模式用于失效分析。
工程案例:某 12nm AI 芯片采用 X-tolerant 压缩方案,压缩比 40:1,测试数据量从 2.4GB 降至 60MB,测试时间从 12 秒缩短至 0.3 秒,故障覆盖率保持 98.7% 不变。代价是芯片面积增加约 1.2%(解压缩器 + 压缩器逻辑)。
4.4 本章小结
扫描链优化是 DFT 工程中投入产出比最高的环节之一。通过扫描链平衡,可减少 30%~50% 的测试时间;通过合理的时钟域交叉处理,可避免跨域测试盲区;通过扫描链压缩,可在保持覆盖率的前提下将测试数据量降低 1~2 个数量级。三项技术协同使用,能够显著提升芯片的可测试性和测试经济性。