一、DFT基础概念:什么是DFT,为什么需要DFT,DFT在芯片设计流程中的位置
1.1 什么是DFT?说白了就是给芯片装个“体检系统”
DFT,全称是Design for Test,中文叫“可测试性设计”。
别被这个高大上的名字唬住。我打个比方你就懂了——
你造了一辆车,总不能等它上路出事故了才知道刹车有问题吧?你得在出厂前就做检测。但问题是,芯片封装好之后,里面几亿个晶体管你根本看不见、摸不着。怎么办?
DFT就是干这个的。它在芯片设计阶段,就提前植入一些“测试电路”。这些电路平时不干活,但测试模式一启动,它们就能帮你检查芯片内部有没有制造缺陷。
核心定义:DFT是一种设计方法学,通过在芯片内部添加专用测试结构,使得芯片在制造完成后能够被高效、低成本地检测出物理缺陷。
我个人习惯把DFT理解为“芯片的体检系统”。没有它,芯片就是黑盒子,坏了你都不知道坏在哪。
1.2 为什么需要DFT?——我踩过的坑告诉你
你可能会问:芯片设计已经够复杂了,为什么还要额外加一堆测试电路?这不是增加面积和成本吗?
嗯,这个问题问得好。我刚开始做DFT时也这么想。直到有一次——
真实案例:我曾经参与过一个项目,芯片流片回来,功能完全正常,但良率只有30%。也就是说,10颗芯片里只有3颗能用。老板脸都绿了。后来一查,是某个存储单元有短路缺陷,但因为没有DFT,我们花了整整两个月才定位到问题。如果当时做了完善的DFT,两天就能搞定。
为什么需要DFT?原因其实就三条:
- 物理缺陷不可避免——晶圆制造过程中,灰尘、工艺偏差、材料缺陷都会导致芯片坏掉。这不是设计问题,是制造问题。
- 芯片内部不可见——封装后的芯片,你没法用万用表去量内部节点。必须靠DFT提供的“测试通道”来访问。
- 测试成本决定利润——一颗芯片的测试时间每增加1秒,百万颗就是百万秒。DFT做得好,测试时间能缩短10倍以上。
| 没有DFT | 有DFT |
|---|---|
| 芯片坏了,只能扔掉 | 能定位到具体哪个晶体管坏了 |
| 测试时间:数分钟/颗 | 测试时间:数秒/颗 |
| 良率分析:靠猜 | 良率分析:有数据支撑 |
| 返修成本:极高 | 返修成本:可控 |
避坑指南:我曾经见过一个团队,为了省面积,把DFT结构砍掉了70%。结果流片后良率只有5%,整个项目延期半年。记住:DFT省下的面积,远不够弥补良率损失的零头。
1.3 DFT在芯片设计流程中的位置——它不是一个“事后诸葛亮”
很多新人以为DFT是芯片设计完了再做的。错!大错特错!
DFT必须从芯片架构阶段就开始介入。你想想看,如果你房子都盖好了,再想装个电梯,那得多麻烦?DFT也是一样的道理。
下面这张图是我自己整理的DFT在芯片设计流程中的位置:
从这张图你能看到,DFT不是最后才做的。它在架构设计阶段就要确定策略,RTL设计阶段就要插入逻辑,综合阶段要优化,布局布线阶段要收敛时序,最后流片前还要生成测试向量。
关键时间节点:
- 架构阶段:决定用哪种DFT方案(扫描链?BIST?边界扫描?)
- RTL阶段:插入DFT逻辑,比如扫描触发器替换
- 综合后:生成测试向量,验证测试覆盖率
- 流片前:最终DFT仿真,确保测试功能正常
1.4 三种主流DFT技术——我常用的“三板斧”
做DFT这么多年,我总结下来,常用的技术就三种。说白了就是“三板斧”:
- 扫描链(Scan Chain)——最基础、最常用。把普通触发器换成扫描触发器,连成一条链。测试时,数据从链的一端扫进去,结果从另一端扫出来。覆盖率最高,能到95%以上。
- 内建自测试(BIST)——主要用于存储器测试。芯片自己生成测试图案,自己检查结果。不需要外部测试设备,速度快。
- 边界扫描(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不是锦上添花,而是雪中送炭。没有它,你的芯片就是盲人摸象。
可可精品资料库