半导体质量保证与DFT的演进
现代半导体产业,特别是系统级芯片设计领域,"为可测试性而设计"(Design for Testability, DFT)-半导体质量保证与DFT的演进
在现代半导体产业,特别是系统级芯片设计领域,可测试性设计(Design for Testability,简称DFT)已超越制造后验证的设计范畴,成为决定产品全生命周期与经济性的核心工程领域。

根据摩尔定律,晶体管集成度的指数级增长必然导致制造缺陷的发生概率上升, 在7nm、5nm、3nm等超微工艺节点中,已出现无法用传统简单"卡位故障"模型解释的复杂缺陷机制。
DFT的主要目标可归纳为三大要点:
- 其一是通过最大化故障覆盖率实现质量保障。在汽车、航空航天、医疗设备等必须确保功能安全性的领域,必须将DPPM(百万分之缺陷件数)值必须控制在接近零的水平。

- 其次是降低测试成本。测试时间直接影响芯片生产单价,因此需要采用高效架构,以最少的测试模式和时间检测最大缺陷量。
- 第三是良率。strong>。这包括考虑缺陷的冗余设计方法,以及可通过开关控制避免使用缺陷核心的设计方案。(高速CPU设计中广泛采用此类方案。)
扫描架构:DFT的第一步
数字逻辑测试的难点在于:对于存在数百万个触发器的序列电路,从外部控制和观察其状态几乎是不可能的。
现代半导体芯片中包含数十亿个如下所示的电路单元。 为验证芯片内所有触发器是否正常工作,需采用DFT技术,而针对此类序列电路测试,主要运用扫描设计方案。

扫描架构通过在测试模式下将这些顺序电路转换为巨型移位寄存器,从而实现了可控性与可观察性的最根本解决方案。
2.1 扫描单元(Scan Cell)的结构与工作原理
在RTL综合(Synthesis)过程中,DFT编译器会将设计中的普通D触发器(D-FF)替换为包含扫描功能的特殊单元。 业界最广泛采用的标准方案是Mux-D扫描(Multiplexed Scan Flip-Flop)结构。
2.1.1 SCAN D触发器的内部机制
Mux-D扫描单元除功能性数据输入(D)外,还包含用于测试的扫描输入(SI)及选择信号扫描使能(SE)。该结构通过在输入端添加2:1多路复用器(MUX)实现。
always @(posedge clk or negedge rst_n) begin if (!rst_n) begin q <= 1'b0; end else begin if (se) q <= si;
else q <= d; end endendmodule
- if {SE =0} : MUX选择系统数据输入(D)并传递至触发器。此时芯片以原始功能模式运行。
- else: 接收SI的数据。

2.1.1 SCAN D触发器的内部机制
这种替换过程在网表中自动完成,由于新增的MUX可能导致数据路径产生轻微延迟。 因此,DFT工程师在插入SCAN后需更新时序约束,并分析其对功能路径时序裕度(建立/保持裕度)的影响。
重新审视先前电路,其结构如下所示。

2.2 SCAN 插入
综合工具例如DesignCompiler,使用compile -scan命令时,会将单元改为SCAN单元。 综合工具仅执行单元修改操作。

2.2 扫描拼接(Scan Stitching)与链优化
当扫描单元替换完成后,DFT工具将执行连接这些单元的拼接过程。 若将数百万个触发器组成单一链路,测试时间将呈指数级增长,因此实际实现中会将其分割为多个并行扫描链路。
核心在于:
- 扫描移位模式:当扫描使能为0时,基本RTL的函数模式运行
- SCAN Capture模式:当Scan Enable为1时,扫描输入端信号不经组合逻辑处理,仅沿扫描触发器链进行信号移位。

2.2.1 扫描链输入输出预算分配
为优化自动测试仪(ATE)的内存效率与测试时间,需确保所有扫描链长度趋于一致。此过程称为链平衡。 例如,当总翻转器数量为10,000个且可用100个扫描通道时,每条链应包含100个翻转器。
若链长出现不平衡,较短链需等待最长链完成移位,导致产生冗余填充数据并浪费测试时间。
为解决此问题,代工厂会根据触发器数量提供推荐的扫描I/O预算表。
2.2.2 扫描链重新排序
扫描链拼接阶段并不考虑单元几何坐标,这可能在布局与布线阶段引发严重布线拥塞。当物理上相距较远的单元在链上相邻连接时,长布线会贯穿整个芯片。
图2.2.2 扫描链重新排序示意图& Route阶段可能引发严重的布线拥塞。当物理上相距甚远的单元在链上相邻连接时,长布线将贯穿整个芯片。

公关活动后:

为解决此问题,P&R工具会执行扫描重新排序功能。在单元物理布局位置确定后,工具会寻找最小化布线长度的路径,动态调整扫描链的连接顺序。 这是确保时序裕度和缩减芯片面积的关键步骤。
扫描重新排序后:

2.3 锁存器:时钟偏移管理与保持时间违规防范
在大规模SoC中,扫描链常需跨越不同时钟域,或在单一时钟域内跨越物理距离极远的区域。 此时产生的时钟偏移可能在移位过程中引发致命的保持时间违规。
2.3.1 保持时间违规:
- 假设扫描链中发送数据的发射触发器时钟比捕获触发器时钟延迟到达。
- 当发射触发器输出新数据时,捕获触发器可能尚未完成对前一数据的捕获。
- 此时将发生保持时间违规。
2.3.2 锁存器的作用与布局
为解决此类问题,需在时钟域切换点或时序偏差较大的区段插入锁存器。

- 在Domain1末端添加锁存器。 此时关键点在于采用负锁存器,使其在与触发器相反的时钟信号下工作。
- 当Domain1末端时钟电平由0升至1时,数据不会传至Domain2,仅传播至锁存器D端。
- 当时钟进入低电平时,锁存器才开始向Domain2传输数据。
- 1(上升沿)时,数据不会传至Domain2,仅传播至锁存器D端。
- 当时钟进入低电平后,锁存器才开始向Domain2传播数据。
因此数据会延迟半个时钟周期才到达Domain2。
这最终有利于满足保持时间要求。
3. ATPG(自动测试模式生成):缺陷检测的核心引擎
当设计结构化测试准备就绪后,需输出用于实际缺陷检测的"测试输入模式与正确输出向量"。
例如: "按下自动售货机的可乐按钮时,必须输出可乐。否则即为缺陷。""此即测试模式示例。
3.1 故障模型的进阶
随着工艺技术的发展,故障表现形式不断变化,其建模方式也随之演进。
3.1.1 滞留故障(Stuck-at Fault)
这是最经典且广泛应用的模型。 假设布线中途断开,或永久连接至VDD,导致电路特定节点逻辑值永久固定为'0'(Stuck-at-0)或'1'(Stuck-at-1)。

- 测试方式:例如要检测AND门输出端的Stuck-at-0缺陷,需施加能使输出变为'1'的输入模式,并观察输出是否符合预期值。
- 局限性: 仅能检测低速运行的静态缺陷,无法捕捉时序相关缺陷。
生成此类测试模式的过程即为ATPG。
查阅D算法、PODEM等ATPG算法相关资料,可获取大量数字电子学领域的技术文献。

3.1.2 过渡故障与延迟故障
虽然布线并未中断,但当布线过粗或过细时,网的RC值会发生变化,从而导致速度变化现象。
- 上升延迟(Slow-to-Rise):电平从0变为1所需时间过长。
- 下降延迟(Slow-to-Fall): 1变为0的过渡时间过长。
- 路径延迟故障: 测试电路中整体路径的累积延迟,而非单个门电路的延迟。
3.2 速率测试与时钟控制
为检测延迟缺陷,必须采用以芯片实际工作频率运行的速率测试。但外部可施加的时钟频率仅限于极低速率时钟。
为此需要采用片上时钟控制器等IP模块。
3.3 测试压缩技术
随着芯片尺寸增大导致扫描链延长,加之高速测试所需测试序列数量激增,测试数据量与测试时间呈现爆炸式增长。为解决此问题,引入了扫描压缩技术。
3.3.1 压缩器、MISR与嵌入式确定性测试
压缩器是新思科技(Synopsys)的技术, EDT技术由Mentor(现西门子EDA)推广普及,通过在芯片内部添加硬件逻辑实现压缩功能。

- 解压缩器:位于芯片输入端,接收来自ATE的少量通道压缩数据,并通过内部大量短扫描链进行广播传输。利用环形发生器和相位移位器提供相关性低的随机数模式。
- 压缩器: 位于扫描链输出端,通过异或树或空间压缩器将众多内部链的结果压缩为少数通道后发送至ATE。
- X掩码: 为防止压缩过程中未初始化值(未知'X')污染压缩签名,必须包含掩盖X值的逻辑。
- MISR:采用多重输入签名寄存器替代每周期输出比较,将完整模式结果累积为单一签名,仅在测试末期进行一次比对。
如您所见,扫描属于设计领域,而ATPG则是流片后仍可实施的测试范畴。
同时需要注意的是,芯片实际运行时以满足芯片功能需求为首要目标,而测试环节会带来巨大成本(设计复杂度提升,需额外占用芯片面积和接口)。
例如SCAN移位操作会产生极高的信号切换频率,导致巨大功耗、发热量,并引发HCI、BTI、IR、EM等电磁干扰。 因此DFT领域也是研究课题相当多元化的领域。
4. MBIST(内存自检)
现代SoC中近半面积的内存区域,其晶体管密度远高于逻辑电路,因此更易受制造缺陷影响。
扫描测试虽适用于测试触发器和逻辑门,但无法检测内存单元内部的微小电容缺陷或相邻单元间的干扰。因此必须采用内存专用测试引擎MBIST。
4.1 March算法
MBIST控制器内置于芯片内部,无需外部设备协助即可自主执行数据写入/读取操作以验证存储器功能。 此时使用的标准算法是March算法。March算法通过顺序遍历内存地址空间,执行一系列读/写操作。
4.2 内置自修复技术(BISR)
内存是导致良率下降的主因,若因发现缺陷就报废整颗芯片将造成巨大经济损失。为避免此情况,采用了BISR技术。
- 冗余设计:内存设计阶段预先布局行/列冗余单元。
- 修复流程:MBIST测试中发现缺陷单元时,控制器将存储其地址信息。测试结束后,该信息将永久写入芯片内部的eFuse(电熔丝)。
- 重新映射:芯片启动时,硬件逻辑读取熔丝信息,将缺陷地址物理重映射至备用行/列。该过程对用户不可见,芯片可如无缺陷般正常运行。
5. LBIST(逻辑内置自检)
LBIST是逻辑电路的自检技术,可在无需自动测试设备(ATE)的情况下实现芯片自主缺陷检测。该技术不仅应用于芯片制造阶段,在汽车启动时(上电自检)及运行期间(运行时测试)中验证芯片完整性的ISO 26262功能安全标准中发挥关键作用。
5.1 STUMPS架构与组件
LBIST基于STUMPS(利用MISR和并行移位寄存器序列生成器的自检)架构实现。

- PRPG(伪随机模式生成器):与使用存储模式的ATPG不同,该方案采用LFSR(线性反馈移位寄存器)在每个周期生成伪随机模式。这使得无需额外存储器即可生成海量模式。
- 相位移位器:LFSR输出可能存在结构依赖性。 相位移位器通过异或网络对其进行混淆,消除相邻扫描链中数据的相关性,从而提高模式的随机性。
- MISR(多重输入签名寄存器): 由于无法存储数千条扫描链的输出结果,该模块通过压缩将其转换为固定长度的签名。其工作原理类似于执行多项式除法的LFSR逆结构。
- BIST控制器: 作为状态机,负责控制测试的启动、停止、模式数量、时钟速度等参数。
5.2 金签名与X-Pounding问题
LBIST的验证方式是将测试完成后生成的最终签名,与通过仿真预先计算的金签名进行比对。 若两者完全一致则判定为通过(Pass),存在任何差异则判定为失败(Fail)。
此过程中最大的难点在于处理'X' (未知)值的处理。当电路中存在未初始化的内存、模拟模块输出、悬浮节点等情况时,模拟结果会显示为'X'。
ATPG可忽略此类情况,但LBIST的MISR机制一旦检测到'X'值,会立即导致整个签名发生篡改,产生不可预测的结果。 为防止此情况,需在设计阶段消除'X'的产生源,或通过添加X-Blocking逻辑切断其进入MISR的路径。
6. 标准接口:芯片与外部世界的连接
SoC是由众多IP核(CPU、GPU、DSP、内存控制器等)组成的复杂系统。 为实现对这些核心的独立控制与测试,采用了国际标准化的接口规范。

IEEE1149、1500、1687等标准使用频繁,而在3D-IC时代,1838标准也将得到广泛应用。
结论:DFT技术的未来展望
综上所述,DFT并非半导体设计的简单附加功能,而是关乎芯片良率、成本、 质量、安全的核心架构。
未来DFT技术预计将朝着以下方向演进:
- 基于AI的DFT与ATPG
- 3D-IC、HBM及小芯片测试
- 高速I/O环回测试
综上所述, 随着工艺微缩和芯片复杂度提升,DFT的重要性将日益凸显,而从设计初期就纳入DFT考量的"DFT-First"方法论将成为半导体成功的必要条件。