【有芯职说】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嵌入式面试经验与题库。 励志讲清每一个知识点,找到每个问题最好的答案。 让你学懂,掌握,融会贯通。订阅即赠送学习笔记、简历模板、面试提纲模板【正在精心完善丰富中】。同时不定期更新内推招聘机会。

全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
04-28 11:00
歌尔 工艺研发 9Kx12 硕士其他
点赞 评论 收藏
转发
头像
不愿透露姓名的神秘牛友
05-20 11:41
中芯国际 智能制造 13800*15 硕士985
点赞 评论 收藏
转发
头像
04-30 13:10
已编辑
门头沟学院 材料类
投票
xdm 工艺岗 10-12w 硕士
点赞 评论 收藏
转发
点赞 1 评论
分享
牛客网
牛客企业服务