一、DFT基础概念:什么是DFT,为什么需要DFT,DFT在芯片设计流程中的位置

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

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

别被这个高大上的名字唬住。我打个比方你就懂了——

你造了一辆车,总不能等它上路出事故了才知道刹车有问题吧?你得在出厂前就做检测。但问题是,芯片封装好之后,里面几亿个晶体管你根本看不见、摸不着。怎么办?

DFT就是干这个的。它在芯片设计阶段,就提前植入一些“测试电路”。这些电路平时不干活,但测试模式一启动,它们就能帮你检查芯片内部有没有制造缺陷。

核心定义:DFT是一种设计方法学,通过在芯片内部添加专用测试结构,使得芯片在制造完成后能够被高效、低成本地检测出物理缺陷。

我个人习惯把DFT理解为“芯片的体检系统”。没有它,芯片就是黑盒子,坏了你都不知道坏在哪。

1.2 为什么需要DFT?——我踩过的坑告诉你

你可能会问:芯片设计已经够复杂了,为什么还要额外加一堆测试电路?这不是增加面积和成本吗?

嗯,这个问题问得好。我刚开始做DFT时也这么想。直到有一次——

真实案例:我曾经参与过一个项目,芯片流片回来,功能完全正常,但良率只有30%。也就是说,10颗芯片里只有3颗能用。老板脸都绿了。后来一查,是某个存储单元有短路缺陷,但因为没有DFT,我们花了整整两个月才定位到问题。如果当时做了完善的DFT,两天就能搞定。

为什么需要DFT?原因其实就三条:

  1. 物理缺陷不可避免——晶圆制造过程中,灰尘、工艺偏差、材料缺陷都会导致芯片坏掉。这不是设计问题,是制造问题。
  2. 芯片内部不可见——封装后的芯片,你没法用万用表去量内部节点。必须靠DFT提供的“测试通道”来访问。
  3. 测试成本决定利润——一颗芯片的测试时间每增加1秒,百万颗就是百万秒。DFT做得好,测试时间能缩短10倍以上。
没有DFT 有DFT
芯片坏了,只能扔掉 能定位到具体哪个晶体管坏了
测试时间:数分钟/颗 测试时间:数秒/颗
良率分析:靠猜 良率分析:有数据支撑
返修成本:极高 返修成本:可控

避坑指南:我曾经见过一个团队,为了省面积,把DFT结构砍掉了70%。结果流片后良率只有5%,整个项目延期半年。记住:DFT省下的面积,远不够弥补良率损失的零头。

1.3 DFT在芯片设计流程中的位置——它不是一个“事后诸葛亮”

很多新人以为DFT是芯片设计完了再做的。错!大错特错!

DFT必须从芯片架构阶段就开始介入。你想想看,如果你房子都盖好了,再想装个电梯,那得多麻烦?DFT也是一样的道理。

下面这张图是我自己整理的DFT在芯片设计流程中的位置:

DFT在芯片设计流程中的位置 架构设计阶段 确定DFT策略 RTL设计阶段 插入DFT逻辑 综合阶段 DFT网表优化 ★ DFT插入(核心环节) 扫描链、BIST、边界扫描 布局布线阶段 DFT时序收敛 流片(Tape-out) 生成测试向量 芯片测试 & 良率分析 反馈优化 注:DFT从架构阶段介入,贯穿整个设计流程

从这张图你能看到,DFT不是最后才做的。它在架构设计阶段就要确定策略,RTL设计阶段就要插入逻辑,综合阶段要优化,布局布线阶段要收敛时序,最后流片前还要生成测试向量。

关键时间节点:

  • 架构阶段:决定用哪种DFT方案(扫描链?BIST?边界扫描?)
  • RTL阶段:插入DFT逻辑,比如扫描触发器替换
  • 综合后:生成测试向量,验证测试覆盖率
  • 流片前:最终DFT仿真,确保测试功能正常

1.4 三种主流DFT技术——我常用的“三板斧”

做DFT这么多年,我总结下来,常用的技术就三种。说白了就是“三板斧”:

  1. 扫描链(Scan Chain)——最基础、最常用。把普通触发器换成扫描触发器,连成一条链。测试时,数据从链的一端扫进去,结果从另一端扫出来。覆盖率最高,能到95%以上。
  2. 内建自测试(BIST)——主要用于存储器测试。芯片自己生成测试图案,自己检查结果。不需要外部测试设备,速度快。
  3. 边界扫描(Boundary Scan)——用于测试芯片引脚和板级互连。JTAG接口就是干这个的。
技术 适用场景 覆盖率 面积开销
扫描链 逻辑电路 95%+ 5-10%
BIST 存储器 99%+ 1-3%
边界扫描 引脚/板级 100%(引脚级) 1-2%

个人经验:我一般建议,逻辑电路必做扫描链,存储器必做BIST,有IO接口的必做边界扫描。这三者组合,基本能覆盖99%的制造缺陷。

1.5 避坑总结——我踩过的那些坑

最后,分享几个我亲身踩过的坑,希望能帮你少走弯路:

坑1:我曾经在一个项目中,为了省面积,把扫描链的测试点数量砍了一半。结果测试覆盖率从98%掉到了75%。流片后大量芯片失效,却找不到原因。后来花了三个月重新插入测试点,项目延期半年。

教训:测试覆盖率低于90%的芯片,不要流片。

坑2:有一次我忘了在时钟树上插入测试时钟门控。结果测试模式下,时钟树功耗超标,芯片直接烧了。

教训:DFT一定要考虑测试模式下的功耗问题。

坑3:还有一次,我设计的扫描链长度超过了10万级。测试时间长得离谱,ATE设备都跑超时了。

教训:扫描链长度控制在5000级以内,否则测试成本会失控。

好了,DFT的基础概念就讲到这里。记住一句话:DFT不是锦上添花,而是雪中送炭。没有它,你的芯片就是盲人摸象。

可可精品资料库