1. DFT基础概念

1.1 什么是DFT?说白了就是给芯片装个“体检系统”

DFT,全称是Design for Testability,中文叫“可测试性设计”。

我经常跟刚入行的同事这么解释:DFT就是在芯片内部植入一套“自检电路”。你想想看,一颗芯片流片回来,成千上万个晶体管,你怎么知道它有没有坏?拿万用表去量?不现实。

DFT的核心思想很简单——在设计阶段就为测试做好准备。不是等芯片造出来了再想怎么测,而是在画版图、写RTL的时候,就把测试电路一并设计进去。

DFT的三大核心能力:

  • 可控性(Controllability):能从外部引脚把测试信号灌进去
  • 可观测性(Observability):能把内部节点的状态从引脚读出来
  • 可隔离性(Isolation):能把故障模块单独拎出来测

我个人习惯把DFT比作医院的体检系统。芯片是病人,ATE测试机是医生,而DFT电路就是CT机、心电图仪这些检查设备。没有这些设备,医生只能靠“望闻问切”,效率低还容易漏诊。

1.2 为什么需要DFT?血的教训告诉我:没有DFT就是裸奔

这个问题,我用一个真实案例来回答。

我曾经参与过一个项目,芯片流片回来,功能验证全过,但量产良率只有30%。查了三个月,最后发现是某个内部节点有桥接故障。问题是——这个节点没有任何测试通路,ATE根本测不到。最后只能靠人工探针台去扎,一片一片地筛,成本高到离谱。

从那以后,我深刻理解了DFT的必要性。说白了,有以下几个硬核原因:

  1. 工艺越先进,缺陷越多——7nm、5nm制程下,一个晶圆上几十亿个晶体管,不可能完美无缺。没有DFT,你根本不知道坏在哪。
  2. 测试成本决定芯片利润——ATE测试机一小时收费几千块。DFT做得好,测试时间从10秒降到1秒,省下的钱就是纯利润。
  3. 功能测试覆盖不了所有场景——你写100万个测试用例,也测不到所有内部节点。但DFT的扫描链,一次就能覆盖99%以上的故障。
  4. 良率分析需要数据——没有DFT,你只知道芯片坏了,但不知道哪里坏了。有了DFT,你可以精准定位到某个标准单元,甚至某个晶体管。

⚠️ 避坑指南:千万不要觉得“我的设计很简单,不需要DFT”。我见过太多小芯片因为没做DFT,流片回来全是废片。哪怕只加一条扫描链,也能救你一命。

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

这个问题,我画了一张图来帮你理解。DFT不是某个阶段的“附加项”,而是贯穿整个设计流程的“主线任务”。

DFT在芯片设计流程中的位置 规格定义 确定测试策略 RTL设计 插入扫描链、BIST 逻辑综合 DFT综合、ATPG 物理设计 时钟树、布线约束 DFT验证 仿真、时序分析 流片 生成测试向量 ATE测试 扫描测试、MBIST 良率分析 故障诊断、改进 反馈优化 DFT贯穿整个设计流程,从规格定义到良率分析

从这张图你可以看到,DFT不是某个节点的“一次性工作”。它从规格定义阶段就开始了——你要决定用哪种测试架构,是full scan还是partial scan,要不要加BIST。

我个人习惯把DFT分成三个阶段:

阶段 主要工作 输出产物
设计阶段 插入扫描链、BIST、边界扫描 DFT网表、测试约束
验证阶段 DFT仿真、时序分析、功耗分析 验证报告、覆盖率数据
测试阶段 生成测试向量、ATE测试 测试向量、良率报告

💡 我的经验之谈:很多工程师觉得DFT是后端的事,或者觉得是测试工程师的事。其实不然。DFT最关键的决策——比如扫描链怎么接、BIST用哪种算法——都是在RTL设计阶段就要定下来的。等综合完了再想加DFT,那就晚了。

1.4 常见的DFT技术有哪些?

嗯,这里我简单列一下,后面章节会详细展开:

  • 扫描链(Scan Chain):最基础的DFT技术,把普通寄存器串成链,实现内部状态的可控可观测
  • 内建自测试(BIST):芯片自己测自己,常用于存储器测试
  • 边界扫描(Boundary Scan):JTAG标准,用于板级测试
  • 测试压缩(Test Compression):减少测试数据量,降低测试时间

你想想看,这些技术组合起来,基本能覆盖芯片上99%以上的物理缺陷。剩下的1%,要么是设计bug,要么是工艺极限问题——那又是另一个话题了。

核心要点回顾:

  • DFT是给芯片装“体检系统”,不是事后补救
  • 没有DFT,量产良率就是碰运气
  • DFT贯穿整个芯片设计流程,从规格定义到良率分析
  • 扫描链、BIST、边界扫描是三大基础技术

好了,这一章就到这里。记住一句话:DFT不是成本,是投资。你花在DFT上的每一分钱,都会在量产测试时加倍赚回来。


可可精品资料库