芯片量产 | DFT工程师

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

一、为什么需要DFT?

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

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

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

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

二、什么是DFT?

DFTDesign 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设计通用的必备技能。

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zeal.Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值