1. 课程导论

随着半导体工艺节点不断逼近物理极限,一颗SoC(片上系统)中集成的晶体管数量已从千万级跃升至百亿级。当芯片内部包含数十个CPU核心、GPU、NPU、高速SerDes、DDR控制器以及各类模拟前端时,一个严峻的工程问题随之浮现:如何确保这颗极其复杂的芯片在制造完成后是功能完好的?如果一颗芯片在出厂测试环节未能被充分覆盖缺陷,其不良品流入终端市场将导致巨大的返修成本与品牌信誉损失。这正是DFT(Design for Testability,可测试性设计)存在的核心意义——它不是测试本身,而是在设计阶段就为芯片植入“可观测”与“可控制”的基因,使得后续的自动化测试设备(ATE)能够高效、低成本地验证芯片的制造质量。本章作为整个课程的导论,将系统梳理DFT的基本概念、发展脉络,并重点剖析IEEE 1500与IEEE 1687这两个关键标准在芯片测试生态中的定位与不可替代的价值。

DFT与芯片测试标准全景图 RTL设计 功能逻辑 + 架构 DFT逻辑插入 扫描链/BIST/边界扫描 测试封装与接口 IEEE 1500 / 1687 ATE测试执行 向量生成/故障诊断 IEEE 1500 标准定位 • 嵌入式核测试封装(Core Test Wrapper) • 标准化测试访问机制(TAM)与指令 • 解决多核SoC内部IP核的隔离测试问题 • 支持并行测试与分核测试策略 IEEE 1687 (IJTAG) 标准定位 • 可重配置测试访问网络(Segment Insertion Bit) • 动态访问片上调试与监控仪器(如温度/电压传感器) • 通过ICL/PDL描述测试逻辑与访问过程 • 支持在系统/在板可重配置测试流程 标准带来的核心价值 互操作性 不同EDA工具/IP供应商 测试逻辑无缝集成 测试成本降低 减少ATE占用时间 提高并行测试效率 可扩展性 从单核到百核SoC 从生产测试到在线监控 标准化描述 ICL/PDL/SDL 机器可读与自动生成

1.1 DFT的核心原理:从“被动测试”到“主动设计”

DFT的本质是一套设计方法论,其核心思想是在芯片功能逻辑之外,额外增加专门的测试辅助电路,从而将芯片内部节点的可控性和可观测性提升到工程可接受的水平。在没有任何DFT结构的情况下,测试一颗芯片只能通过芯片的原始输入引脚施加激励,并观察原始输出引脚的反应。这种“黑盒测试”方式对于内部状态节点数以百万计的现代SoC而言,覆盖率极低——一个深藏在流水线深处的32位加法器,可能需要成千上万个时钟周期才能将其内部状态传播到输出端,且难以精确控制。

DFT通过三大基本机制解决上述问题:扫描测试(Scan Test)、内建自测试(BIST)和边界扫描(Boundary Scan)。扫描测试将芯片内的时序单元(触发器)串接成移位寄存器链,测试时通过专用测试引脚将测试向量串行移入,捕获功能逻辑的响应后再串行移出,从而实现对内部节点的直接控制与观测。BIST则在芯片内部集成测试向量生成器(如LFSR)和响应分析器(如MISR),使得芯片能够“自测”而不需要外部ATE提供大量测试向量。边界扫描则关注芯片引脚与板级互连的测试,通过IEEE 1149.1(JTAG)标准实现。

DFT技术 核心原理 主要覆盖缺陷类型 典型开销
全扫描(Full Scan) 所有触发器构成扫描链,测试时切换为移位模式 逻辑卡死(Stuck-at)、跳变延迟(Transition) 面积增加5%~10%,性能略有下降
逻辑BIST(LBIST) 片上LFSR生成伪随机向量,MISR压缩响应 逻辑卡死、部分时序缺陷 面积增加3%~8%,测试时间缩短
存储器BIST(MBIST) 针对SRAM/DRAM的专用测试算法(March C等) 存储单元固定故障、耦合故障、地址译码故障 存储器面积增加2%~5%
边界扫描(JTAG) 芯片I/O引脚串接移位寄存器,实现板级互连测试 PCB焊接开路/短路、引脚桥接 每个I/O增加约4个触发器

关键认知:DFT不是“测试的附属品”,而是芯片设计流程中与功能设计并行推进的一等公民。在先进工艺节点(如5nm/3nm)下,制造缺陷的分布更加复杂,若不在设计阶段规划好测试结构,流片后的测试成本将呈指数级上升,甚至导致产品无法量产。

1.2 判断方法与操作流程:何时需要何种DFT策略

在实际工程中,DFT工程师需要根据芯片的规模、应用场景、成本预算和量产目标来制定具体的DFT方案。以下是判断DFT需求与选择策略的典型流程:

  1. 评估芯片复杂度与测试覆盖率目标:对于逻辑门数超过百万门的SoC,必须采用全扫描设计;对于包含大容量SRAM(如>1Mb)的芯片,必须规划MBIST;对于汽车电子等安全等级要求高的芯片(ISO 26262),还需要考虑在系统自测试能力。
  2. 分析测试访问约束:如果芯片内部集成了多个来自不同供应商的IP核(如第三方CPU、GPU、DSP),则需要考虑每个IP核的测试访问机制。此时,IEEE 1500标准提供了统一的嵌入式核测试封装,使得不同来源的IP核能够以标准化的方式接入SoC级测试架构。
  3. 确定测试接口与协议:传统设计中,测试接口通常复用功能引脚或使用专用的测试引脚(如Scan_In/Scan_Out)。但随着芯片引脚数增多和封装尺寸缩小,可用的测试引脚越来越少。IEEE 1687标准通过定义可重配置的测试访问网络(TAN),允许仅通过有限的测试引脚(如JTAG的TDI/TDO)访问芯片内部大量的测试仪器和嵌入式功能模块。
  4. 生成与验证测试向量:使用EDA工具(如Synopsys DFTMAX、Cadence Modus)进行扫描链插入、压缩逻辑生成和ATPG(自动测试向量生成)。验证阶段需要确保DFT逻辑不影响功能时序,且测试覆盖率满足量产要求(通常>95%)。

经验提醒:在项目早期(RTL设计阶段)就应确定DFT架构,而不是等网表完成后再“补插”扫描链。早期规划可以避免功能时钟与测试时钟的冲突,减少DFT逻辑对关键路径时序的影响,并确保测试引脚布局满足封装要求。

1.3 案例拆解:从单核到多核SoC的DFT演进

为了更直观地理解DFT标准的作用,我们以一个典型的移动应用处理器(AP)芯片为例。该芯片集成了4个ARM Cortex-A78 CPU核心、1个GPU、1个NPU、2个DDR控制器以及若干外设接口,总逻辑门数约5亿门,SRAM总量约32Mb。

初始现象与约束:在早期单核处理器时代,设计团队仅使用简单的全扫描+MBIST方案,测试引脚直接引出到芯片引脚,测试向量由ATE直接加载。然而,当芯片升级为多核SoC后,面临三个严峻挑战:第一,每个CPU核心的扫描链长度超过10万级,若所有核心串行测试,测试时间将超过数秒,导致单颗芯片测试成本过高;第二,GPU和NPU来自第三方IP供应商,其内部测试结构不透明,无法直接使用SoC级扫描链;第三,芯片引脚数量从原来的200个增加到600个,但可用于测试的专用引脚反而减少,因为大部分引脚被高速接口(如LPDDR5、PCIe)占用。

分析判断过程:DFT团队经过评估后决定采用分层测试策略。首先,在SoC层面,为每个CPU核心和GPU/NPU IP核分别建立IEEE 1500兼容的测试封装(Wrapper)。每个Wrapper内部包含独立的扫描链、BIST控制器和测试访问机制(TAM)。这样,测试时可以通过SoC级的测试总线(如32位TAM)并行访问多个IP核,将测试时间缩短了4倍。其次,针对第三方IP核,通过IEEE 1500标准定义的Wrapper指令(如WS_EXTEST、WS_INTEST)实现隔离测试,无需了解IP内部细节。最后,为了解决测试引脚不足的问题,引入IEEE 1687标准,在芯片内部构建了一条可重配置的测试访问网络(TAN),将原本需要独立引脚的测试控制信号(如Scan_En、Test_Mode)转换为通过JTAG接口串行配置的内部寄存器位。

实际操作步骤与结果:团队在RTL阶段集成了IEEE 1500 Wrapper逻辑和IEEE 1687 SIB(Segment Insertion Bit)网络。综合后,DFT逻辑面积增加了约7%,但测试覆盖率从原来的92%提升至97.5%。量产测试时间从原来的每颗4.2秒降低至1.1秒,按每年1000万颗芯片计算,仅测试时间一项就节省了超过3000小时的ATE占用成本。更重要的是,由于IEEE 1687支持在系统重配置测试网络,该芯片在客户现场可以通过JTAG接口动态访问内部的温度传感器和电压监控器,实现了在线健康监测功能,这是传统DFT方案无法提供的增值能力。

风险提示:IEEE 1500和IEEE 1687的引入并非没有代价。Wrapper逻辑会增加额外的延迟,对高速接口(如PCIe Gen5)的时序收敛可能造成影响。此外,1687的ICL(Instrument Connectivity Language)和PDL(Procedural Description Language)描述文件需要与EDA工具链紧密配合,若描述不完整,可能导致测试向量生成错误。因此,建议在项目早期就与EDA供应商确认工具支持情况,并预留足够的验证时间。

1.4 常见误区与总结复盘

在DFT课程的学习和工程实践中,初学者和部分工程师常陷入以下误区:

  • 误区一:DFT是测试工程师的事,设计工程师只需交付功能网表。实际上,DFT逻辑的插入会改变芯片的时序和功耗特性,设计工程师必须参与DFT方案的制定,确保功能路径的时序余量不被DFT逻辑破坏。
  • 误区二:IEEE 1500和IEEE 1687是替代关系。两者解决的是不同层次的问题。IEEE 1500专注于嵌入式核的测试封装与访问,而IEEE 1687专注于芯片内部测试仪器的可重配置访问网络。在实际SoC中,两者常常协同工作:1500负责IP核的隔离测试,1687负责动态配置测试网络以访问各类传感器和调试逻辑。
  • 误区三:测试覆盖率越高越好。追求100%的测试覆盖率在物理上不可行且经济上不划算。通常,逻辑测试覆盖率在95%~98%之间即可满足量产要求,剩余缺陷可通过系统级测试和在线监控来弥补。
  • 误区四:DFT标准只适用于大型SoC。对于中小规模的ASIC或FPGA设计,采用IEEE 1500/1687标准同样可以带来好处,例如简化测试向量生成流程、提高测试复用性、支持板级调试等。