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

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()函数获取文件大小&#xf…...

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)配置接口 &#xff0…...

Java逻辑运算符(、||和!),Java关系运算符

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

三个设备文件

...

Java赋值运算符(=)

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

提升药店效率:山海鲸医药零售大屏的成功案例

在医药行业中,特别是医药零售领域,高效的药品管理和客户服务至关重要。随着科技的飞速发展,数字化解决方案已经成为提高医药零售管控效率的有效工具之一。其中,医药零售管控大屏作为一种强大的工具,正在以独特的方式改…...

使用Fragement(碎片)

一、Fragment简介 屏幕大小的差距可能会使同样的界面在不同设备上显示出不同的效果,为了能同时兼顾到手机和平板电脑的开发,从Android3.0版本开始提供了Fragment。 Fragment(碎片)是一种嵌入在Activity中的UI片段,它…...

种花问题(Python题目)

假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 …...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

synchronized 学习

学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...