当前位置: 首页 > 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 …...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色&#xf…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...

JVM 内存结构 详解

内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: ​ 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

CSS | transition 和 transform的用处和区别

省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

并发编程 - go版

1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

Python Einops库:深度学习中的张量操作革命

Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...