当前位置: 首页 > news >正文

均薪36W还缺人,DFT工程师到底有多重要?

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

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

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

在这里插入图片描述

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工程师薪资水平。
在这里插入图片描述

平均年薪高达36W+,与验证岗、后端岗也是不相上下的。
从当下来看的话,DFT有着大量的需求。人才培养没有相对成熟的体系,DFT就变得非常稀缺和珍贵。

同时,DFT技术也一直在进步,现在入行无疑是一个好时机。
《IC入行指导建议》快来参与吧!(https://www.wenjuan.com/s/3EBZB3H/#)

相关文章:

  • mybatis-plus实现多租户Saas
  • 使用Python以UCI心脏病数据集为例,进行数据简单分析
  • URL编码解码详解
  • win10+ubuntu双系统下载ubuntu方法(卸载系统不完整会进入grub)
  • Spring事务传播机制
  • 实现深度理解函数指针
  • C/C++常用预编译指令介绍
  • 杰理强制升级工具4.0使用和原理解析
  • Vue3介绍和安装
  • Linux命令--权限(chmod、chown)--使用/实例
  • flink-sql所有语法详解
  • 【图像分割】基于matlab萤火虫算法图像聚类分割【含Matlab源码 2106期】
  • SQL 入门之第一讲——MySQL 8.0.29安装教程(windows 64位)
  • 用Python进行数学建模(一)
  • 力扣:669. 修剪二叉搜索树,今日份快乐
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Android框架之Volley
  • emacs初体验
  • Flex布局到底解决了什么问题
  • Java 23种设计模式 之单例模式 7种实现方式
  • Javascripit类型转换比较那点事儿,双等号(==)
  • LeetCode算法系列_0891_子序列宽度之和
  • Promise面试题2实现异步串行执行
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • Python_网络编程
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • underscore源码剖析之整体架构
  • v-if和v-for连用出现的问题
  • vue-loader 源码解析系列之 selector
  • 百度小程序遇到的问题
  • 回流、重绘及其优化
  • 你不可错过的前端面试题(一)
  • 使用parted解决大于2T的磁盘分区
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​什么是bug?bug的源头在哪里?
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (07)Hive——窗口函数详解
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (ZT)一个美国文科博士的YardLife
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (九)信息融合方式简介
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (四) Graphivz 颜色选择
  • (新)网络工程师考点串讲与真题详解
  • (转)ABI是什么
  • ***通过什么方式***网吧
  • ***详解账号泄露:全球约1亿用户已泄露
  • .gitattributes 文件
  • .NET 8.0 中有哪些新的变化?
  • .NET Core 版本不支持的问题
  • .Net中的设计模式——Factory Method模式