1、DFT概述:什么是可测试性设计?为什么需要DFT?DFT在芯片设计流程中的位置。

大家好,我是你们的DFT讲师。今天咱们聊聊DFT最基础、也最核心的问题——可测试性设计到底是什么鬼?为什么我们非得在芯片里塞这些“额外”的电路?

说实话,我刚入行那会儿也觉得DFT挺烦人的。本来设计就够复杂了,还要加一堆扫描链、BIST控制器,这不是给自己找事吗?直到我第一次参与流片回来,芯片功能全对,但良率死活上不去……嗯,从那以后我再也不敢小看DFT了。

什么是可测试性设计?

可测试性设计,英文叫Design for Testability,简称DFT。说白了,就是在设计阶段就考虑好芯片流片回来之后怎么测试

你想想看,一颗芯片里可能有几千万甚至上亿个晶体管。流片回来后,你怎么知道每个晶体管都正常工作?靠肉眼?不可能。靠功能测试?也测不全。

DFT就是在芯片内部“埋”一些测试电路。这些电路平时不干活,但测试模式下能帮我们快速定位故障。我习惯把DFT比作给芯片装了个“体检系统”——平时不用,体检时能告诉你哪里出了问题。

核心要点:DFT不是功能设计的一部分,而是为了测试而添加的辅助电路。它不会改善芯片的功能,但能大幅提升芯片的可测试性和良率。

为什么需要DFT?

这个问题我问过很多新人,答案五花八门。其实原因很直接——没有DFT,你根本测不了芯片

具体来说,有这几个关键原因:

  • 物理访问受限:芯片封装后,你能接触到的只有那几个引脚。内部几千万个节点,你怎么测?DFT通过扫描链把这些内部节点“串”到引脚上,让外部测试设备能访问到。
  • 故障覆盖率低:纯功能测试只能覆盖一小部分电路。我在项目中遇到过,功能测试跑得挺好,但一上ATE(自动测试设备)就发现大量故障。加了DFT后,故障覆盖率从30%直接飙到95%以上。
  • 测试成本高:没有DFT,测试时间会非常长。你想想,一颗芯片在ATE上多待一秒,成本就多一分。DFT能并行测试,大幅缩短测试时间。
  • 良率分析需要:流片回来良率低,你得知道是哪个工艺步骤出了问题。DFT提供的诊断数据能帮你定位到具体是哪一层金属短路了,哪个晶体管漏电了。

个人经验:我曾经接手过一个项目,前期没做DFT,流片回来发现良率只有20%。我们花了三个月才定位到问题——一个很隐蔽的桥接故障。如果当时有扫描链,一周就能搞定。所以我现在做项目,DFT是优先级最高的任务之一。

DFT在芯片设计流程中的位置

很多新人以为DFT是后端的事,或者测试工程师的事。其实不对。DFT贯穿整个芯片设计流程,从架构定义到量产测试,每个阶段都有DFT的影子。

我习惯把DFT的介入点分成这几个阶段:

设计阶段 DFT活动 关键输出
架构定义 确定DFT策略、选择测试方法 DFT架构文档
RTL设计 插入扫描链、BIST控制器、边界扫描 DFT RTL代码
综合 扫描链重排、测试点插入 综合后网表
物理设计 时钟树综合、布局布线考虑DFT GDSII版图
ATE测试 生成测试向量、执行测试 测试报告、良率数据

你看,DFT不是某个阶段的事。我建议你在项目一开始就拉上DFT工程师一起讨论。别等到综合完了才发现扫描链插不进去,那时候改起来就痛苦了。

常见的DFT技术

聊到这儿,你可能想知道DFT具体有哪些技术。我简单列几个最常用的:

  • 扫描链(Scan Chain):把普通寄存器替换成扫描寄存器,串成一条链。测试时可以把数据“扫”进去,再“扫”出来对比。这是最基础、最常用的DFT技术。
  • 内建自测试(BIST):在芯片内部集成测试向量生成器和响应分析器。常用于存储器测试,比如SRAM、DRAM。我做过一个项目,芯片里有上百个SRAM,用BIST测一遍只要几毫秒。
  • 边界扫描(Boundary Scan):在芯片I/O引脚和内部逻辑之间插入扫描单元,遵循JTAG标准。主要用于板级测试和芯片互连测试。
  • 测试点插入(Test Point Insertion):在电路中添加额外的观测点或控制点,提高故障覆盖率。这个技术我经常用来解决那些“顽固”的低覆盖率区域。

注意:DFT技术不是越多越好。加太多测试电路会占用芯片面积、增加功耗、影响时序。你需要根据项目需求做权衡。我一般建议故障覆盖率做到95%以上就够了,追求100%往往得不偿失。

DFT的挑战与趋势

最后聊聊DFT面临的挑战。随着工艺节点不断缩小,芯片越来越复杂,DFT也越来越难做。

比如,7nm以下的工艺,晶体管漏电严重,测试时功耗控制成了大问题。还有,AI芯片、SoC芯片动辄几十亿晶体管,传统的扫描链方法已经不够用了。

我个人比较看好这几个方向:

  • 层次化DFT:把大芯片分成多个小模块,每个模块独立做DFT,最后再整合。这样能降低复杂度,也方便复用。
  • 自适应测试:根据芯片的实际表现动态调整测试策略。比如,良率高的批次可以少测一些,良率低的批次多测一些。
  • 机器学习辅助DFT:用AI来优化测试向量生成、故障诊断等环节。我最近在尝试用ML做测试点插入,效果还不错。

好了,这一章的内容就到这里。DFT是个实践性很强的领域,光看书没用,得动手做。下一章我会带大家用TetraMAX跑一个实际的扫描链测试案例,到时候你们就能感受到DFT的威力了。

记住一句话:没有DFT的芯片,就像没有体检报告的人——你永远不知道它到底健不健康