【有芯职说】DFT工程师

芯片专用术语里面结尾带字母“T”的太多

UT, BT, IT, ST, FT....,今天我们要谈的主角是DFT。为了让大家(即使小白)有个系统性的认识,本文将从如下五个维度进行介绍。

一、为什么需要DFT?

芯片生产过程中,可能导致物理缺陷。随着新工艺技术演进,芯片尺寸的变小会增加某些错误的可能性。芯片制造过程中的错误是我们不愿看到的,下面列出芯片制造中可能出现的一些问题。

  • 密度问题:随着纳米技术的出现,芯片制造过程越来越复杂。设计的晶体管越来越小,沟道长度越来越小,后端连线也越来越密集。现在的芯片,普遍有数十亿个晶体管,所以,两根导线之间短路或断路的概率很大,这些是错误或者故障的来源。
  • 软件问题:此外,除了制造过程的defect,用于设计芯片的EDA软件的bug或者工程师的失误,也会造成芯片失效。

考虑到这些问题,最关键的是在芯片出厂前进行测试,并且在每个关键过程都需要测试,而且要低成本高效率的测试,解决的方法就是DFT。DFT的终极目标就是在流片后,我们也能通过某些高效测试的方法,保证芯片和我们的设计意图吻合,不出现异常。

可能有知友问,我们可以直接设计一个功能测试脚本程序啊,如果脚本程序运行结果正确,同样可以检查出芯片是否完好。这样就不用再在芯片内部插入DFT,简化设计,并且减少MUX等逻辑资源。但您想过没,测试脚本要按照芯片功能来编写,测试脚本复杂,而且要测试到每个逻辑点,要测试脚本足够完善,几乎不可能做到。从另外一点看,当前的SOC设计规模越来越大很大,想要通过测试脚本来验证芯片的质量,会比插入DFT更耗时费力。而且,编写的测试脚本,无法保证每个逻辑点都被测试到。因此,这也是使用DFT的必要性。

二、什么是DFT?

DFT 是Design For Test(可测试性设计)的简称。是设计人员在进行系统和电路设计的同时,考虑测试的需求,通过在芯片中增加一些测试电路从而简化测试过程。是一种为达到故障检测目的所进行的辅助性设计方法,使制作完成后的芯片能达到“可控制性”和“可测试性”两个目的。

DFT的工作包括:

  • 在项目初期规划DFT架构;
  • 在RTL级别设计测试电路;
  • 在验证阶段验证测试电路;
  • 在synthesis阶段实现测试逻辑的插入;
  • 在测试阶段提供测试向量。

简单说就是:

  • 在架构阶段定义好DFT的架构;
  • 在设计阶段实现DFT的逻辑和验证;
  • 在后芯片阶段做好silicon bringup的辅助。

三、DFT的作用

DFT是用来测试芯片质量,看是否在生产过程中,因为物理制造过程,导致芯片损坏的问题。DFT不是检查芯片的功能是否正常,只检查芯片的内部连线等等,是否都正确连接到。

DFT可以降低通过问题器件的风险,如果最终在实际应用中才发现器件有缺陷,所产生的成本将远远高于在制造阶段发现的成本。它还能避免剔除无缺陷器件,从而提高良率。插入DFT亦能缩短与测试开发相关的时间,并减少测试装配好的芯片所需的时间。

如何能经济、快速的来方便芯片测试,就是DFT工程师的主要工作目的。

四、DFT的工作对象是什么?

DFT需要处理基本上芯片所有逻辑的测试。DFT基本参与了所有的芯片功能,需要提供芯片初始化时FUSE的管理;需要设计协调时钟,复位,电源等控制逻辑确保测试功能的实现,同时不影响芯片正常的工作模式。

对于片上存储器,由于其分布的复杂性,需要统筹设计mbist的分布,以最小的代价实现测试覆盖。

除此之外,芯片中功能模块的每一个寄存器都是扫描链测试的工作对象。任何一个寄存器,或者寄存器之间的组合逻辑发生故障,都需要能被DFT的方法侦测到。

五、DFT工程师的看家本领是什么?

一位合格的DFT工程师,最起码要懂设计、懂测试、懂电路。这是岗位特性使然,要求各个阶段的知识都要涉及到一些。

比如你要会前端设计的RTL,你要懂后端的逻辑综合和时序分析,你懂测试改进芯片良率。但对于coding的能力要求并不算高,也不需要学得很精深。

DFT的设计周期是比较长的,在整个周期中DFT工程师需要:

  1. 参与芯片DFT架构定义和设计;
  2. 完成DFT电路设计,包括Scan、Mbist、Bscan等;
  3. 协助后端团队处理DFT相关的时序分析和timing收敛工作;
  4. 使用ATBG等工具生成测试向量,并且进行仿真验证;
  5. 参与ATE,debug 测试failure,提高芯片良率。

要求再高点,全栈DFT工程师还需要掌握一些基本的知识和技能:

  • SCAN,扫描测试,主要是用来检测芯片制造过程中经常会出现的失效问题。

  • BIST,内建自测试,主要是在芯片内部产生测试码,对测试的结果进行分析。

  • JTAG,是指国际标准测试协议(IEEE 1149.1),也是指JTAG联合测试行动小组。

上面提到的三项技术,是DFT很核心的技术。除了要掌握这些技术原理,还得会用EDA工具,这些技术的实现都得靠EDA工具才行。

还有perl、tcl这些脚本语言以及Liunx,都是IC设计通用的必备技能。

最后上个JD截图

不心动是假的~~~

来自知乎:树哥谈芯

#IC##芯片#
ARM/Linux嵌入式面试集 文章被收录于专栏

让实战与真题助你offer满天飞!!! 华为、OPPO、大疆、Vivo、小米、海康、大华等大厂嵌入式工程师面试真题与经验。 每周两更,共计100篇! 励志做最全ARM/Linux嵌入式面试经验与题库。 励志讲清每一个知识点,找到每个问题最好的答案。 让你学懂,掌握,融会贯通。订阅即赠送学习笔记、简历模板、面试提纲模板【正在精心完善丰富中】。同时不定期更新内推招聘机会。

全部评论

相关推荐

点赞 4 评论
分享
正在热议
# 牛客帮帮团来啦!有问必答 #
1152628次浏览 17153人参与
# 通信和硬件还有转码的必要吗 #
11234次浏览 101人参与
# OPPO开奖 #
19289次浏览 268人参与
# 和牛牛一起刷题打卡 #
19074次浏览 1635人参与
# 实习与准备秋招该如何平衡 #
203482次浏览 3628人参与
# 大厂无回复,继续等待还是奔赴小厂 #
4993次浏览 31人参与
# 不去互联网可以去金融科技 #
20623次浏览 258人参与
# 通信硬件薪资爆料 #
266026次浏览 2484人参与
# 国企是理工四大天坑的最好选择吗 #
2235次浏览 34人参与
# 互联网公司评价 #
97735次浏览 1280人参与
# 简历无回复,你会继续海投还是优化再投? #
25040次浏览 354人参与
# 0offer是寒冬太冷还是我太菜 #
454957次浏览 5125人参与
# 国企和大厂硬件兄弟怎么选? #
53926次浏览 1013人参与
# 参加过提前批的机械人,你们还参加秋招么 #
14647次浏览 349人参与
# 硬件人的简历怎么写 #
82296次浏览 852人参与
# 面试被问第一学历差时该怎么回答 #
19411次浏览 213人参与
# 你见过最离谱的招聘要求是什么? #
28386次浏览 248人参与
# 学历对求职的影响 #
161271次浏览 1804人参与
# 你收到了团子的OC了吗 #
538834次浏览 6389人参与
# 你已经投递多少份简历了 #
344308次浏览 4963人参与
# 实习生应该准时下班吗 #
97014次浏览 722人参与
# 听劝,我这个简历该怎么改? #
63528次浏览 622人参与
牛客网
牛客企业服务