DFT和ATE岗位前景薪资对比,手把手教你如何选择岗位?
ATE测试和DFT可测性设计,虽然二者都对芯片测试至关重要,但是两个岗位的区别还是很大的。
两个岗位应该如何做选择?
先讲产业环节
我们知道芯片设计、芯片制造、芯片封测每个环节都是大工程,且每个环节都关键且重要。测试是芯片诞生的尾声部分,主要用来确保芯片的功能性、稳定性和可靠性。
如果在某层测试上漏掉了一颗有故障的芯片,就可能需要在下一层测试上花费10倍的物力、人力、时间成本才能发现,这就需要DFT设计,在设计环节就对测试环节的事“未雨绸缪”。
DFT是面向测试的设计,属于芯片设计环节。这是一个越在大厂越重要的角色,目前国内IC设计公司但凡是有些规模或者所做产品需要一定产量,都会设置DFT岗。
而ATE属于测试环节,市场需求相对更广泛,芯片设计公司、测试机制造商、晶圆制造厂和封装测试厂对于ATE测试岗位都有招聘需求。
再说工作内容
之前写过数字设计和功能验证岗位的区别,这是两个配合度比较高的岗位。ATE和DFT之间同样是两个互相配合的岗位,但工作内容却相差比较大。
芯片内部往往都自带测试电路,DFT的工作就是在设计的时候就解决流片后测试环节的一部分问题,提高芯片流片之后的可测试性,很大程度上能够降低测试的金钱以及时间成本。
参与芯片DFT架构定义和设计。
完成DFT电路设计,包括Scan、Mbist、Bscan等。
协助后端团队处理DFT相关的时序分析和timing收敛工作。
使用EDA工具生成测试向量,并且进行仿真验证。
参与ATE,debug 测试failure。
ATE比较依赖于测试机台(芯片生产完成之后检测芯片缺陷的设备),ATE测试工程师要做的就是使用ATE测试机完成芯片产品的测试。
负责芯片功能、性能和可靠性测试。
制定芯片测试方案、计划及测试环境搭建。
调试测试程序。
撰写测试计划和测试报告。
ATE和DFT的工作需要相互配合、相辅相成,从DFT的全称Design for test中就可见一斑了。DFT的一些岗位JD中也要求工程师配合测试团队完成芯片ATE测试和良率分析等工作。
技能要求的区别
无论是理论知识储备也好,还是软硬件技能掌握也好,都是从事IC端岗位的必要条件。
DFT
学历专业要求:本科及以上学历,微电子、集成电路、电信、自动化、电子类等相关专业。(对本科学历比较友好,实际招聘中本科学历占比64.9%)
基础知识要求:数电模电、数集模集等理论基础知识;对SCAN、BIST、JTAG等知识有深刻理解。
软件技能要求:熟练掌握Shell/TCL/Perl/Python等脚本语言;熟练使用Synopsys DFT Compiler/DFTMUX、Mentor Tessent等EDA工具以及Verilog。
ATE
学历专业要求:本科及以上学历,微电子、集成电路、电信、自动化、电子类等相关专业。(对本科学历比较友好,实际招聘中本科学历占比64.9%)
基础知识要求:对数字/混合/模拟/RF各类型集成电路有一定认识;拥有芯片测试原理的理论知识储备;了解CPU/GPU,对通用接口/高速接口有一定了解。
软件技能要求:对ATE测试机熟练操作,掌握ATE测试机的编程环境;熟悉C/C++/VB,有基本的编程经验。
硬件技能要求:掌握loadboard /probe card的制作过程,掌握基本layout技能。
薪资及前景
如果不考虑地区、企业等差异看综合水平的话,DFT和ATE的岗位薪资水平大差不差,基本都是20W起步。这里给大家罗列几个校招案例,仅供参考。
DFT岗位:
· 某民企base上海,211硕薪资21.5*14,另有3W股票。
· 某民企base成都,985硕18.3*16,算上其他福利和补贴,年包34W左右。
ATE测试岗:
加粗样式
· 某民企base上海,985硕年包25.6W,其他福利和补贴不详。
· 某国企base无锡,硕士薪资9.2*18-20,公积金12%,另有餐补和加班费,具体金额不详。
薪资方面相差并不大,所以这个因素反而成为了不太重要的参考项,所以可以再从长期发展和岗位天花板的角度来考虑。
ATE岗位入行门槛和上手难度更低,对于学历背景不那么过硬的同学来说会更友好;DFT岗位的门槛和上限都要更高,前些年我们对DFT并不算重视,近些年才逐渐进入高端线,所以现在的DFT工程师比较稀缺。
有一部分同学担心ATE岗位依赖测试机台之后会被机器/AI所取代。机台的精度虽高,但无论发展到什么阶段,都需要人判断芯片参数规格,需要人工写程序,机台不可能脱离人去操作,所以完全不用担心被替代。
总而言之,ATE和DFT在芯片测试中有相互依赖性,但岗位职责却不同。
到目前为止高校依然没有针ATE、DFT岗位的相关课程。ATE工程师就是靠用人单位自主培训,DFT也所以不存在一毕业就能直接干DFT岗位的科班生,要么是企业内部培养,要么是其他岗位工程师转岗。
如果你对两个岗位还是不知道怎么选择的话,不妨先跟行业的工程师了解一下岗位的学习难度,薪资,就业这些信息,再做抉择。
这里放个入口:IC入行指导
相关文章:

DFT和ATE岗位前景薪资对比,手把手教你如何选择岗位?
ATE测试和DFT可测性设计,虽然二者都对芯片测试至关重要,但是两个岗位的区别还是很大的。 两个岗位应该如何做选择? 先讲产业环节 我们知道芯片设计、芯片制造、芯片封测每个环节都是大工程,且每个环节都关键且重要。测试是芯片诞…...

驱动day4作业
通过字符设备驱动的分步实现编写LED驱动,另外实现特备文件和设备的绑定 head.h #ifndef __HEAD_H__ #define __HEAD_H__ typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int OSPEEDR;unsigned int PUPDR;unsigned int IDR;unsigned int ODR; }…...
【Oracle】VC6.0使用 odbc 访问 Oracle 存储过程
环境说明 系统环境 系统:Windows XP IDE: Microsoft Visual C 6.0 使用的对象 msado15.tlh _ConnectionPtr m_pConnection; HRESULT hr m_pConnection.CreateInstance(“ADODB.Connection”); _RecordsetPtr m_pRecordset; m_pRecordset.CreateInstan…...

QWidget快速美化-圆形蓝色单选框
将代码复制进QRadioButton的样式表 效果: 代码: QRadioButton{font:75 9pt "Arial";background:transparent;color:white;border:none; }QRadioButton:disabled{color:gray; }QRadioButton::indicator{width:12px;height:12px;border-radius:8px; }QRadioButton::i…...
adb 获取当前界面元素
adb配置正确,直接看6,pull的位置是你执行pull的目录下。 --------------------------------------------------------------------------------------------------------------------------------- 使用adb命令获取当前应用的元素需要先连接到手机或模…...
SpringSecurity源码学习四:会话管理
目录 1. 什么是会话管理2. springSecurity中的session管理怎么做的3. springSecurity源码中的session管理4. 代码示例5. 源码5.1 不同策略的含义 6. 集群模式session管理7. 总结 1. 什么是会话管理 会话管理是指在Java应用程序中管理用户会话状态的过程。在Spring框架中&#…...
Kotlin笔记(七):协程
1. 协程的定义 协程属于Kotlin中非常有特色的一项技术,因为大部分编程语言中是没有协程这个概念的。 什么是协程呢?它其实和线程是有点类似的,可以简单地将它理解成一种轻量级的线程。要知道,线程是非常重量级的,它需要…...

存储优化知识复习二详细版解析
存储优化 知识复习二 一、 选择题 1、 对数据库调优的方法中,最困难但是最有成效的是( )。 A、优化表的架构设计 B、添加内存 C、索引优化 D、查询语句优化 【参考答案】A2、 防止与处理死锁的方法有( )。 A、尽量避免或尽快处理阻塞 B、访…...

《持续交付:发布可靠软件的系统方法》- 读书笔记(七)
持续交付:发布可靠软件的系统方法(七) 第 7 章 提交阶段7.1 引言7.2 提交阶段的原则和实践7.2.1 提供快速有用的反馈7.2.2 何时令提交阶段失败7.2.3 精心对待提交阶段7.2.4 让开发人员也拥有所有权7.2.5 在超大项目团队中指定一个构建负责人 …...
Go源码实现使用多线程并发下载大文件的功能
摘要:Go语言编码实现了使用多线程并发下载文件的功能。 1. 代码流程介绍 1. 获取系统的CPU核心数量,并将其作为线程数的参考值,并打印出来。 2. 定义要下载的文件的URL、线程数和输出文件名。 3. 使用getFileSize()函数获取文件大小…...

Python基础入门例程1-NP1 Hello World!
描述 将字符串 Hello World! 存储到变量str中,再使用print语句将其打印出来。 输入描述: 无 输出描述: 一行输出字符串Hello World! 解答: str "Hello World!" print(str) 解释说明: 赋值变量&…...
前端面试题10.23
解决的最复杂的前端问题,介绍一下 最复杂的前端问题之一是浏览器兼容性,不同浏览器对网页的渲染方式存在差异,需要针对不同浏览器做兼容性处理。此外,前端性能优化也是一个复杂的问题,需要综合考虑网页加载速度、渲染…...

DYC算法开发与测试(基于ModelBase实现)
ModelBase是经纬恒润开发的车辆仿真软件,包含两个大版本:动力学版本、智能驾驶版本。动力学版包含高精度动力学模型,能很好地复现车辆在实际道路中运行的各种状态变化,可用于乘用车、商用车动力底盘系统算法开发、控制器仿真测试&…...

第四章 路由基础
目录 4.1 路由器概述 4.1.1 路由器定义 4.1.2 路由器工作原理 4.1.3 路由表的生成方式 (1)直连路由 (2)静态路由 (3)动态路由 4.1.4 路由器的接口 (1)配置接口 ࿰…...

Java逻辑运算符(、||和!),Java关系运算符
逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。 逻辑运算符是对布尔型变量进行运算,其结果也是布尔型,具体如表 1 所示。 表 1 逻辑运算符的用…...

三个设备文件
...

Java赋值运算符(=)
赋值运算符是指为变量或常量指定数值的符号。赋值运算符的符号为“”,它是双目运算符,左边的操作数必须是变量,不能是常量或表达式。 其语法格式如下所示: 变量名称表达式内容 在 Java 语言中,“变量名称”和“表达式…...

提升药店效率:山海鲸医药零售大屏的成功案例
在医药行业中,特别是医药零售领域,高效的药品管理和客户服务至关重要。随着科技的飞速发展,数字化解决方案已经成为提高医药零售管控效率的有效工具之一。其中,医药零售管控大屏作为一种强大的工具,正在以独特的方式改…...
使用Fragement(碎片)
一、Fragment简介 屏幕大小的差距可能会使同样的界面在不同设备上显示出不同的效果,为了能同时兼顾到手机和平板电脑的开发,从Android3.0版本开始提供了Fragment。 Fragment(碎片)是一种嵌入在Activity中的UI片段,它…...
种花问题(Python题目)
假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 …...

使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...

C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

逻辑回归暴力训练预测金融欺诈
简述 「使用逻辑回归暴力预测金融欺诈,并不断增加特征维度持续测试」的做法,体现了一种逐步建模与迭代验证的实验思路,在金融欺诈检测中非常有价值,本文作为一篇回顾性记录了早年间公司给某行做反欺诈预测用到的技术和思路。百度…...
用js实现常见排序算法
以下是几种常见排序算法的 JS实现,包括选择排序、冒泡排序、插入排序、快速排序和归并排序,以及每种算法的特点和复杂度分析 1. 选择排序(Selection Sort) 核心思想:每次从未排序部分选择最小元素,与未排…...
初级程序员入门指南
初级程序员入门指南 在数字化浪潮中,编程已然成为极具价值的技能。对于渴望踏入程序员行列的新手而言,明晰入门路径与必备知识是开启征程的关键。本文将为初级程序员提供全面的入门指引。 一、明确学习方向 (一)编程语言抉择 编…...

MCP和Function Calling
MCP MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由 Anthropic 推出的一种开放标准,旨在统一大模型与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而…...
qt 双缓冲案例对比
双缓冲 1.双缓冲原理 单缓冲:在paintEvent中直接绘制到屏幕,绘制过程被用户看到 双缓冲:先在redrawBuffer绘制到缓冲区,然后一次性显示完整结果 代码结构 单缓冲:所有绘制逻辑在paintEvent中 双缓冲:绘制…...