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)采用基于图划分或贪心算法的链分配策略。典型流程如下:

  1. 触发器分组:按时钟域、物理位置、电压域进行预分组。
  2. 链长约束设定:指定目标链数 N 和最大链长偏差(如 ±5%)。
  3. 自动分配:工具执行最小化最长链的优化算法。
  4. 后布局调整:在物理设计阶段根据走线拥塞微调链顺序。
工程经验:在 7nm 以下工艺节点,建议将链长偏差控制在 ±3% 以内,同时预留 2~3 条备用链用于 ECO 或修复。

4.1.3 平衡效果对比

指标 未平衡(链长 100~500) 平衡后(链长 300±10)
最长链长度 500 310
测试时间(相对值) 1.0x 0.62x
移位峰值功耗 高(局部集中) 低(均匀分布)
ATE 通道效率 60% 97%

4.1.4 扫描链平衡结构示意

扫描链平衡前后对比 未平衡 链1: 500 个触发器 链2: 300 链3: 100 平衡后 链1: 310 链2: 305 链3: 300 平衡后最长链从 500 降至 310,测试时间减少 38% 链间偏差从 ±67% 缩小至 ±1.6%

4.2 时钟域交叉处理

现代 SoC 包含多个异步时钟域(如 CPU 核、DDR、外设总线)。扫描链在跨时钟域路径上必须特殊处理,否则会导致测试时出现亚稳态、数据丢失或错误捕获。

4.2.1 跨时钟域扫描的挑战

  • 亚稳态风险:不同时钟域的触发器在移位阶段可能因时钟沿对齐问题产生 setup/hold 违例。
  • 测试覆盖率失真:跨域路径上的故障可能被错误屏蔽或重复计数。
  • ATPG 约束复杂:需要为跨域路径添加额外的时序约束。

4.2.2 常用处理方案

方案 原理 适用场景 面积开销
同链同域 同一扫描链只包含同一时钟域的触发器 时钟域数量少、链数充足 无额外开销
锁存器桥接 在跨域路径插入测试专用锁存器 异步时钟域、频率差异大 中等
双沿捕获 使用双沿触发器或专用跨域单元 高速接口、多时钟域 较高
测试时钟复用 测试模式下将所有域切换至同一测试时钟 ATE 通道受限、低功耗测试 低(需 MUX)
注意:测试时钟复用方案虽然简单,但会破坏原有时钟域的功能时序关系,可能导致部分跨域路径上的时序故障无法被测试到。建议配合 at-speed 测试时单独处理。

4.2.3 跨时钟域扫描链结构

跨时钟域扫描链处理方案 时钟域 A (200MHz) FF_A1 FF_A2 同步桥接器 时钟域 B (50MHz) FF_B1 FF_B2 测试时钟 (scan_clk) — 测试模式下统一时钟源 方案:同链同域 + 同步桥接器 + 测试时钟复用 桥接器使用双锁存器结构,消除亚稳态传递

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 压缩架构框图

扫描链压缩架构(X-tolerant 方案) ATE 输入 (N 通道) 解压缩器 链1 链2 链3 ... 链M X-tolerant 压缩器 ATE 输出 压缩比 = M / N,典型值 20:1 ~ 100:1 X-tolerant 压缩器通过掩码逻辑和特征分析,容忍内部链上的未知态 N 通道 M 条内部链 K 通道 (K < M)

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 个数量级。三项技术协同使用,能够显著提升芯片的可测试性和测试经济性。