2、可测试性设计基础:DFT基本概念、故障模型、测试成本、可观测性与可控性

在深入IEEE 1687(IJTAG)标准之前,必须首先建立可测试性设计(Design for Testability, DFT)的理论基石。DFT并非一种单一的技巧,而是一套贯穿芯片设计全流程的系统性工程方法论。其核心目标是在芯片物理实现之前,通过设计手段预先解决“如何高效、低成本地验证芯片功能与制造质量”的问题。本章将围绕DFT的四大支柱——基本概念、故障模型、测试成本以及可观测性与可控性展开,为后续理解IJTAG如何通过标准化接口访问嵌入式仪器奠定基础。

DFT 核心要素与测试成本关系图 DFT 核心方法论 基本概念 扫描链/内建自测/边界扫描 故障模型 固定/跳变/延迟/桥接 测试成本 测试时间/向量/ATE费用 可观测性与可控性 SCOAP度量/测试点插入 测试成本构成与DFT杠杆 测试向量生成 (30%) ATE机时 (25%) 良率分析 (20%) 设计验证与调试 (25%) DFT杠杆: 扫描压缩 → 减少向量深度 BIST → 降低ATE依赖 IJTAG → 标准化仪器访问 注:百分比为典型SoC测试成本分布示意,实际因工艺节点与设计复杂度而异

2.1 DFT基本概念:从“测”到“设”的思维转变

核心原理:传统测试思维是在芯片制造完成后,通过外部测试设备(ATE)施加激励并观测响应。而DFT的核心原理是将“可测试性”作为设计约束,在RTL编码、逻辑综合、物理实现各阶段主动植入测试结构。这种思维转变的本质,是将测试问题从“事后验证”前移到“事前设计”。DFT的基本概念涵盖三个层次:结构测试(针对制造缺陷)、功能测试(针对设计错误)以及在线测试(针对运行期故障)。在IEEE 1687语境下,DFT还延伸出第四个层次——仪器访问测试,即通过标准化的TAP(Test Access Port)控制器访问芯片内部嵌入的传感器、监控器、调试逻辑等仪器。

判断方法:评估一个设计是否具备良好的DFT特性,通常采用以下检查清单:

  • 扫描链完整性:所有触发器是否已纳入扫描链?是否存在不受控的异步逻辑?
  • 测试点覆盖率:内部节点是否具备足够的可控性与可观测性?SCOAP度量值是否在可接受范围?
  • BIST集成度:存储器、逻辑、接口是否具备内建自测能力?
  • 标准符合性:是否遵循IEEE 1149.1(JTAG)、IEEE 1500(芯核测试)、IEEE 1687(IJTAG)等标准?
实战场景:某AI加速芯片设计团队在RTL阶段未考虑DFT,综合后发现关键路径上存在一个深组合逻辑锥,导致测试向量生成时间超过72小时,且故障覆盖率仅达到82%。通过插入测试点(Test Point)和部分扫描链重构,将覆盖率提升至97.5%,但代价是额外增加了3.2%的面积开销。这一案例说明,DFT决策必须在面积、性能、功耗与测试质量之间进行权衡。

2.2 故障模型:缺陷的抽象与量化

核心原理:故障模型是将物理缺陷(如金属桥接、氧化物击穿、离子污染)抽象为逻辑级或晶体管级的行为描述。没有故障模型,测试向量生成将无从下手。最经典的故障模型包括:固定故障(Stuck-At)、跳变故障(Transition)、路径延迟故障(Path Delay)以及桥接故障(Bridging)。在深亚微米工艺下,还需要考虑小延迟缺陷(Small Delay Defect)和参数漂移(Parametric Variation)。

故障模型 缺陷类型 测试方法 覆盖率目标 IJTAG关联
固定故障 (SAF) 金属开路/短路 扫描链+ATPG ≥98% 扫描链配置
跳变故障 (TF) 时序延迟 双捕获/双移位 ≥95% 时钟控制
路径延迟 (PDF) 关键路径时序 时序ATPG ≥90% 片上延迟监控
桥接故障 (BF) 相邻线间短路 IDDQ/逻辑测试 ≥85% 电流传感器
小延迟缺陷 (SDD) 工艺偏差 片上延迟链 ≥80% IEEE 1687仪器

操作流程:在实际项目中,故障模型的建立遵循以下步骤:

  1. 从工艺库获取缺陷统计分布(如金属层缺陷密度、通孔失效率)。
  2. 根据缺陷物理特征映射到对应的逻辑故障模型。
  3. 使用EDA工具(如Tessent、Modus)进行故障注入与仿真。
  4. 计算故障覆盖率 = (检测到的故障数 / 总故障数) × 100%。
  5. 对未覆盖故障进行DFT改进(插入测试点、增加观测寄存器)。
常见误区:许多工程师认为“故障覆盖率越高越好”,但实际上超过98%后,每提升0.1%的覆盖率,测试向量数量可能增加30%以上,导致测试时间急剧膨胀。合理的做法是设定基于缺陷等级(Defect Level)的覆盖率目标,例如:DPPM(Defects Per Million)目标为500时,所需故障覆盖率约为97.5%。

2.3 测试成本:从ATE机时到全生命周期成本

核心原理:测试成本并非仅指ATE的采购费用,而是包含测试向量生成成本(CPU时间与工程师人力)、测试应用成本(ATE机时、测试引脚占用)、测试开发成本(测试程序编写与调试)以及良率损失成本(误判导致的合格品报废)。在先进工艺节点(如5nm/3nm),测试成本已占芯片总制造成本的20%-30%。IEEE 1687标准的核心价值之一,就是通过标准化仪器访问机制,降低测试程序的开发与维护成本。

成本模型:测试成本可以用以下公式近似估算:

总测试成本 = Σ(向量数 × 单向量应用时间 × ATE单位时间成本)
           + 测试程序开发人力成本
           + 测试硬件(探针卡/负载板)成本
           + 良率损失成本(误判率 × 单芯片成本 × 产量)

案例拆解:某通信SoC芯片(28nm,约2亿门)的测试成本优化过程如下:

  • 初始状态:全扫描设计,测试向量12000条,ATE测试时间4.5秒/片,测试成本占芯片总成本18%。
  • 优化措施:① 采用测试压缩技术(EDT),向量数降至3000条;② 对嵌入式SRAM使用BIST,减少外部向量依赖;③ 引入IEEE 1687标准访问片上温度传感器,实现测试过程中的实时热监控,避免过热导致的误判。
  • 结果对比:测试时间降至1.2秒/片,测试成本占比降至7.5%,同时故障覆盖率从96.8%提升至98.2%。
  • 风险与代价:压缩逻辑引入了约1.5%的面积开销,且压缩后的诊断分辨率有所下降,需要额外的诊断向量辅助定位。
经验提醒:在项目早期进行DFT成本预算时,应使用“测试成本效益分析”(Test Cost Benefit Analysis)工具,综合考虑工艺节点、产量规模、产品生命周期等因素。对于量产超过100万片的消费类芯片,每减少0.1秒测试时间,可节省约5万美元的ATE费用。

2.4 可观测性与可控性:DFT的量化度量

核心原理:可观测性(Observability)指内部节点状态通过外部引脚或测试结构被捕获的能力;可控性(Controllability)指从外部将内部节点设置为特定逻辑值的能力。这两个指标是DFT设计的“仪表盘”。最经典的度量方法是SCOAP(Sandia Controllability/Observability Analysis Program),它分别计算每个节点的0可控性(CC0)、1可控性(CC1)和可观测性(CO),数值越小表示可测试性越好。在IEEE 1687框架下,可观测性与可控性被提升到系统级——不仅关注单个节点,更关注整个仪器网络的访问能力。

判断方法:SCOAP度量的工程判读标准如下:

SCOAP值 可测试性等级 建议措施
1-10 优秀 无需干预
11-30 良好 考虑插入测试点
31-100 较差 必须插入测试点或重构逻辑
>100 不可接受 重新设计该逻辑块

操作流程:提升可观测性与可控性的标准工程流程包括:

  1. 运行SCOAP分析,生成全节点可测试性报告。
  2. 识别CC0/CC1/CO值超过阈值的节点(通常阈值设为30)。
  3. 对高CC0/CC1节点插入控制点(如MUX选择器或测试使能信号)。
  4. 对高CO节点插入观测点(如连接到扫描链的观测寄存器)。
  5. 重新运行SCOAP验证改进效果,并评估面积与性能代价。
小型场景化说明:考虑一个32位ALU的进位链,其最高位进位的可观测性极差(CO=85),因为该信号深嵌在组合逻辑中。通过插入一个观测触发器(连接到扫描链),CO值降至12。代价是增加了1个触发器面积和约0.5%的功耗。在IJTAG架构下,这个观测触发器可以被封装为一个“观测仪器”,通过标准化的SIB(Segment Insertion Bit)接入仪器网络,从而在系统测试时灵活访问。
常见误区:过度插入测试点会导致“测试点泛滥”,不仅增加面积,还可能引入新的时序路径。经验法则是:每1000个逻辑门最多插入2-3个测试点,且优先选择在RTL级插入,而非门级网表阶段。此外,测试点的插入必须考虑时钟域交叉(CDC)问题,避免在异步时钟域间插入测试逻辑。

总结复盘:DFT基础是IEEE 1687标准实施的“地基”。理解故障模型决定了测试内容,控制测试成本决定了测试策略,而可观测性与可控性则直接决定了IJTAG仪器网络的架构设计。在实际项目中,建议采用“DFT规划先行”的策略:在芯片架构定义阶段就明确测试需求,将扫描链、BIST、IJTAG仪器网络作为设计的一部分进行统一规划。只有这样,才能在保证测试质量的同时,将测试成本控制在可接受范围内。