近两年,随着IC行业的发展,DFT设计工程师越来越火。大家都知道,芯片在设计出来之后,测试是相当重要的一个环节,如果没有准确地识别出来bug,那么后果将会是非常严重的。

在超大规模集成电路时代,可测试性设计(DFT)就显得尤为重。它通过在芯片原始设计中插入各种用于提高芯片可测试性(包括可控制性和可观测性)的硬件逻辑,方便芯片生产之后能够迅速测试区分芯片的好坏。

在要求比较苛刻的芯片中,通过近一步的设计,能够准确地定位错误发生在哪个地方,从而使芯片变得容易测试,大幅度节省芯片测试的成本。

ftt岗位待遇(DFT工程师到底有多重要)(1)

DFT是什么?

DFT是design for test(可测性设计)的缩写,就是在芯片设计过程中,加入可测性逻辑。有的公司把该职位归到前端设计,有的归到中端实现。

DFT职位大多分布于规模较大的数字IC设计公司里,因为大公司对芯片品质要求高,而且规模越大,芯片越贵,DFT就越复杂越重要。DFT主要是通过在芯片中加入可测性逻辑,等芯片制造出来,在ATE(AutomaticTestEquipment,自动测试仪)设备上通过可测性逻辑对芯片进行测试,挑出有制造缺陷的芯片并淘汰掉,留下没有制造缺陷的好芯片。这里需要强调下,DFT只负责挑出制造缺陷,至于逻辑缺陷那是前端设计工程师和验证工程师的职责,DFT工程师也鞭长莫及。

DFT的逻辑都有哪些?DFT的核心技术有哪些?

要分四方面:

a.根据芯片功能定制的DFT逻辑。这部分需要前段设计自己根据自己写的代码自己做,你基本不会接触。

b. sram自测逻辑 memory bist(mbist) 流片后通过输入不同组数值测试sram存储器有没有坏点。ram一般都是第三方IP 所以前端设计一般不会太研究,连上接口跑仿真就完了,实现这些自检功能的硬件逻辑就要你(或者你指导设计,或者你来检验设计有没有正确的)加到RTL里了。

c. 寄存器自检,最常见的 scan chain 就是把所有寄存器串联起来 然后一位一位地传递0或1,看有没有哪个寄存器坏了。

概念很简单 难点在于多少个寄存器连在一起,串多了测试时候花的时间太长,没办法测,串少了浪费接口,而且生成这个寄存器串的步骤要保证综合的时候没出错。

如果出错了要DFT排查哪里错了 这部分比较枯燥,因为完全是和综合的EDA软件提供商打交道(有的时候花两个礼拜研究出来是EDA软件bug就疯了)。

这个部分有两个方向的延伸。

1)既然可以串寄存器,那就可以吧所有接口也串起来检验测试;

2)寄存器串起来以后,芯片大的话,测试时间太长,因为寄存器数量太多,一位一位的位移太慢,所以有引入压缩的概念。这两个方向小芯片经常会选择跳过 。

d. 对于一串寄存器串,已知寄存器串联顺序,那么根据某个寄存器的位置,位移特定数量时序后就可以把该寄存器数值位移到接口管脚并被观测,也就说,对于被串联起来的所有寄存器,任意时刻的任意寄存器的数值都是可观测的。 既然寄存器数值可观测,那对于一块组合电路来说(比如z=a&b)不断改变它的输入端的寄存器a和b的值,并观测输出寄存器c,就可以知道这段组合电路有没有出次品。

根据这个原理,用的EDA软件会有一个功能来产生一组数值(实际上是无数组)来测试虽有组合电路。这个功能叫ATPG。虽然是软件生成 但是你要配置得让软件正确的生成是个麻烦事儿。 至此,芯片所有硬件期间基本都可以被测试。

DFT的前景怎么样?

这是一个越在大厂越重要的角色,有些大厂还会成立专门的DFT团队。就其在芯片设计的重要程度而言,这个岗位绝对不输验证。

DFT在IC设计端来说是个刚需,并不会那么轻易被淘汰掉。相反,还会因为人才短缺变得更加值钱。

“值钱”可以从薪资水平上得到很好的体现。工作年限、所在城市都会在一定程度上影响薪资,下图是不同情况下的DFT工程师薪资水平。

ftt岗位待遇(DFT工程师到底有多重要)(2)

平均年薪高达36W ,与验证岗、后端岗也是不相上下的。

从当下来看的话,DFT有着大量的需求。人才培养没有相对成熟的体系,DFT就变得非常稀缺和珍贵。

同时,DFT技术也一直在进步,现在入行无疑是一个好时机。

,