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

大家好,我是你们的DFT讲师。今天咱们聊聊DFT最基础的东西。嗯,说白了,就是三个问题:它是什么?为什么要有它?它在整个芯片设计里到底站哪个位置?

我刚开始接触DFT的时候,也觉得这东西挺玄乎的。后来做了几个项目,踩了不少坑,才真正明白——DFT不是锦上添花,而是雪中送炭。

1.1 什么是DFT?

DFT,全称Design for Test,中文叫“可测试性设计”。你想想看,芯片做出来,你怎么知道它好不好用?总不能拿个放大镜一个个晶体管去看吧?

DFT就是在芯片设计阶段,提前植入一些“测试机关”。等芯片流片回来,通过这些机关,我们就能快速判断芯片有没有制造缺陷。

核心思想: 设计时就为测试铺好路,而不是等芯片做出来再想办法测。

我个人习惯把DFT比作给大楼装消防系统。你不能等火烧起来了再装喷淋头,对吧?得在设计图纸阶段就规划好。

1.2 为什么需要DFT?

这个问题,我当年也问过。答案其实很简单——芯片制造不是100%完美的。

我在项目中遇到过这样的事:一批芯片流片回来,功能仿真全过,但实际测试时有一半都不工作。为什么?因为制造过程中引入了缺陷,比如金属线短路、晶体管漏电等等。

没有DFT,你只能靠功能测试去碰运气。但功能测试覆盖不了所有内部节点。你想想看,一个几亿门的芯片,靠功能测试能测到多少?

DFT的核心价值就三点:

  • 提高测试覆盖率——能测到芯片内部99%以上的节点
  • 降低测试成本——自动化测试,不用人工一个个点去量
  • 缩短产品上市时间——快速定位缺陷,加速良率提升

避坑指南: 我曾经在一个项目里忽略了DFT的覆盖率要求,结果流片回来,有20%的芯片测不出来好坏。最后只能手动加探针,那叫一个痛苦。从那以后,我再也不敢小看DFT了。

1.3 DFT在芯片设计中的位置

这个问题,我建议你用一张图来理解。嗯,我画了个框架图,你看看就明白了。

DFT在芯片设计流程中的位置 前端设计 RTL编码 / 功能验证 DFT插入 扫描链 / MBIST / JTAG 后端实现 综合 / 布局布线 流片 测试反馈 / 良率优化 关键说明: • DFT 插入通常在前端设计完成后、后端实现之前进行 • DFT 结构(扫描链、BIST等)会随芯片一起流片 • 测试结果反馈给设计团队,用于良率提升和设计改进 • 我个人的经验:DFT 做得越早,后期改起来越轻松 • 千万别等到后端都做完了才想起来加 DFT,那会哭的

从这张图你能看到,DFT插入的位置非常关键。它在前端设计之后、后端实现之前。为什么是这个位置?

因为前端设计阶段,RTL代码还没定型,这时候插入DFT结构,改动成本最低。等到了后端,布局布线都做完了,你再想加扫描链?嗯,那基本等于重新设计。

1.4 DFT的主要技术手段

说到具体怎么做,DFT主要有这么几招:

技术 作用 我遇到的坑
扫描链(Scan Chain) 把普通寄存器连成链,测试时能串行灌入/读出数据 有一次链长设计不合理,测试时间长了10倍
内建自测试(BIST) 芯片自己产生测试向量,自己判断好坏 存储器BIST最常用,但逻辑BIST容易漏测
边界扫描(JTAG) 测试芯片引脚之间的连接是否正常 板级调试时JTAG救过我很多次
测试压缩(Test Compression) 减少测试数据量,降低测试时间 压缩比设太高,覆盖率反而下降了

注意: DFT不是万能的。它只能测制造缺陷,测不了设计功能错误。功能验证是前端工程师的事,别混为一谈。

1.5 小结

好了,咱们捋一捋今天的内容:

  • DFT是什么?——设计时植入测试机关,方便流片后检测缺陷
  • 为什么需要?——制造不完美,功能测试覆盖不全,DFT能高效测出坏片
  • 位置在哪?——前端设计之后、后端实现之前,这个窗口期很关键

我个人觉得,DFT就像芯片的“体检系统”。没有它,你只能等芯片出问题了再去找原因。有了它,你可以在芯片出厂前就把有问题的挑出来。

嗯,这一章就到这里。记住一句话:DFT不是负担,而是保障。

核心记忆点: DFT = 设计阶段为测试铺路,让芯片自己会“说话”,告诉我们它哪里坏了。

可可精品资料库