入行IC| 数字IC设计和验证哪个好?(内含薪资对比)

news2024/11/15 15:24:47

网上有一个很火的问题那就是数字IC设计和验证哪个好?接下来我们从以下几个维度来对比一下这两个岗位。
在这里插入图片描述

入行门槛

在这里插入图片描述

从上述对比就可以看出,IC设计要比验证门槛高。

具体工作内容有哪些?

数字IC前端设计

1.配合芯片架构的设计;一般当芯片需求架构到手之后,首先就应该进行架构设计,这时候就需要数字前端设计工程师和架构工程师一起配合完成。
2.负责数字电路结构的实现、仿真;这块是数字前端工程师主要的工作内容,首先需要对架构工程师设计的内容进行微架构的设计。
3.配合验证人员制定验证方案,完成验证. 每个人对于芯片设计的理解不同,这种情况下,就需要和验证工程师对接好内容,弄清楚到底需要测试哪块,哪些是重点。这些都需要验证工程师一起商量制订。
4.配合FPGA工程师及后端工程师分析及调试问题;
5.配合芯片测试工程师;在芯片设计的整个过程中都需要与测试工程师紧密配合。

数字验证工程师

①读文档,写文档:Verification spec、Test plan。
②编程搭建验证平台:通常是用Systemverilog/UVM,如果做SOC,则用到C或C++。验证工程师也需要学习很多脚本语言,如Perl,Makefile,python。
③Debug:创建测试用例,跑仿真。
④support

一般来说数字IC验证岗位企业的需求会比较大。一个数字前端设计,需要2-3个甚至更多的数字验证工程师,目前市场对于验证工程师的人才需求非常大。

分别需要学习哪些东西?

数字前端设计
1、熟悉数字电路设计
2、熟悉Verilog或VHDL
3、熟悉异步电路设计
4、熟悉FIFO的设计
5、熟悉UNIX系统及其工具的使用
6、熟悉脚本语言Perl、Shell、Tcl等
7、熟悉C/C++语言、SystemVerilog、Matlab等
8、熟悉DC、VCS、Verdi、LEC、PT、Spyglass等工具的使用
9、有FPGA验证经验
10、熟悉CMOS电路原理
11、熟悉数字信号处理算法、通信算法、图像算法、人工智能算法等中的一种或多种
12、熟悉计算机体系结构、熟悉通用MCU/SOC设计流程
13、熟悉各种总线协议、接口协议等14、有相关芯片设计/流片经验

这里给大家推荐几本书

《Verilog HDL高级数字设计》

在这里插入图片描述

书里对如何用Verilog HDL对数字系统进行建模、设计、验证讲的很详细,涵盖了RISC、UART、异步FIFO、数字信号处理、乘法器和触发器相关知识。对ASIC/FPGA系统芯片工程设计开发的关键技术与流程也进行了深入讲解。

对于前端设计来说,这本书对code水平提升很有帮助,大家可以试着做个简单但完整的设计。

《数字集成电路:电路、系统与设计(第2版)》

在这里插入图片描述

这本书是加州大学伯克利分校的经典教材,也是国内高校的参考教材和考研参考书。

书里详细地介绍了MOS管原理、CMOS组合逻辑、时序逻辑、加法器乘法器等运算单元、存储结构、以及时序、互连、电路寄生效应,包含充分的理论分析和电路结构图。

在这里插入图片描述
(文末可领)

数字验证工程师
IC验证工程师要学习的主要有数字电路基础、软件设计思想、SystemVerilog、OVM/UVM以及环境脚本语言等相关知识。这些学好之后可以获得如下好处:

1、学习了数字电路基础之后,才可以更好地在工作中,去理解RTL硬件设计。
2、必须要学会相应的编程语言,例如:SystemVerilog,最好也要懂C和C++。
3、还要学习OVM/UVM,因为这些都是基于SystemVerilog的一些基础的验证方法学。
4、还要学习好制定验证计划,这样才可以在今后工作中做好搭建验证平台。
5、环境脚本语言也是必学的课程,这样才可以在今后工作中编程时应用得到,如:Tcl,Perl,Python。

要想成为验证工程师,就必须要掌握好基础知识,只有把基础打扎实之后,才能成为一名合格的验证工程师。

这里给大家推荐几本验证书目

《UVM实战》

在这里插入图片描述

这本书的内容简单易懂,详细介绍了UVM的各种机制,以及寄存器模型的使用。值得一提的是,这本书提供了大量的实例代码,这些代码都是经过实际运行过的。

至于Perl跟Python这两种入行必备的脚本语言就不用多说了,对想要入行IC的小伙伴而言,都是必须掌握的基础语言。

《System verilog验证》

在这里插入图片描述

这是一本学习SV语言的初级阶段读物。主要讲SV语言的工作原理和各种验证方法,书里还有大量的实例可供参考。

《C语言程序设计》

在这里插入图片描述

说起C语言,不少小伙伴应该都挺熟悉了。这本书介绍了C语言的“现代方法”,在聚焦程序设计的核心问题的前提下,给C语言这门经久不衰的语言赋予了崭新面貌。

本书介绍了C99和C1X的许多新特性,而且编排十分直观,方便读者查阅。特别适合具备了一定语言基础,想深入了解C语言精髓的读者进行阅读。

在这里插入图片描述

就业前景怎么样?

IC前端设计
毫无疑问,随着IC行业不断发展,前端设计一般门槛相比其他岗位高,一般要求学历硕士以上,薪资待遇也比较高,但是总体来说,就业情况比较好。

北京上海深圳平均薪资多数在30W以上,南京武汉成都西安平均薪资多数也在25W以上,优秀者甚至可以开到40W-60W。

数字IC验证
这个岗位之所以非常受关注,是因为相比于数字前端设计、模拟IC设计岗位,数字验证岗位的门槛没有那么高,包括一些本科生也在企业考虑的范围之内,专业技能要求也不是特别高。年薪可达20-40万,这让不少人心动。

总而言之,这两个岗位工作内容所要求的技能点也有所区别。就设计而言,对理论知识的要求更高一些,比如算法协议、接口、功能、结构等。

对验证来说,对工程师的coding能力要求更高,需要更熟悉各类EDA工具,熟悉各种脚本。

要说天花板,那肯定是设计高。

设计能出架构师和项目经理的概率比验证要大很多(从比例上来说),虽然我也见过做pv出身的arch,但真心不多。

对于想要入行的同学来说,验证(或者后端)都是比设计更好的选择,真的对设计有执念的话,之后工作几年再转de也未尝不可。具体还是要看你感兴趣的方向。

如果你当下对入行/转行有一定困惑和意向,或者想获取项目资源,以及免费获取上述学习资料,任何关于转行的问题都有老师会为你解答。

这里放个入口:IC入行指导

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/440210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

技术干货|直流电源自动测试系统功能介绍

直流电源是一种将交流电转换为恒定电压或电流输出的电子设备。在实际生产生活中,直流电源被广泛应用于各种场合。但由于各种原因,包括工艺、质量等因素,直流电源存在一定的出厂偏差。为了确保直流电源的精度和稳定性,在生产过程中…

layui框架学习(23:代码文本修饰模块)

Layui中的代码文本修饰模块layui.code主要用于修饰代码区域或文本行,其基本用法是使用预设类layui-code标识包含代码或文本的元素,然后调用layui.code函数渲染样式。Layui官网教程及示例中主要使用pre元素包含带修饰的代码或文本(pre元素可定…

Myslq架构和原理

这里写自定义目录标题 Myslq体系架构连接层存储引擎 MYSQL原理单表访问连接查询(原理) Myslq体系架构 连接层 存储引擎 查看日志文件:show variables like ‘log_error’\G; BIN LOG 日志: show variables like ‘log_bin’; MYS…

Leetcode 622. 设计循环队列

文章目录 1.题目描述2.原题链接3.思路分析4.接口实现 :FrontRearenQueue(value):deQueue():isEmpty(): 检查循环队列是否为空isFull():myCircularQueueFree 5.代码实现 1.题目描述 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FI…

16.泛型

泛型 一、什么是泛型 泛型的本质是参数化类型,即给类型指定一个参数,然后在使用时再指定此参数具体的值,那样这个类型就可以在使用时决定了。这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。 二…

【ONE·C++ || 模板进阶】

总言 主要介绍模板相关内容:非类型模板参数、类模板特化、模板的分离编译。 文章目录 总言1、非类型模板参数1.1、主要介绍1.2、std::array 简要说明 2、模板的特化2.1、基本介绍2.2、函数模板特化2.3、类模板特化2.3.1、基本说明2.3.2、用途举例2.3.3、分类&#…

统信UOS 20 安装达梦数据库V8

统信UOS 20 安装达梦数据库V8 1、安装教程2、启动数据库实例服务失败解决方法3、使用dm管理工具连接数据库 1、安装教程 https://blog.csdn.net/OceanWaves1993/article/details/129936878 此教程进行到启动数据库实例步骤时 使用下面命令启动数据库实例服务时,报…

找高清图片素材,这8个网站就够了

相信很多设计师、自媒体都为找素材而烦恼,很多朋友不知道去哪里找图片素材,找到了版权还不明确,怕造成侵权,今天我就把我独家珍藏的8个图片素材网站分享给大家,免费下载,还可以商用,建议收藏起来…

APIs -- DOM浏览器

1. Window对象 1.1 BOM(浏览器对象模型) BOM(Browser Object Model)是浏览器对象模型 window对象是一个全局对象,也可以说是JavaScript中的顶级对象像document、alert()、console.log()这些都是window的属性,基本BOM的属性和方…

crackme例子1

样本 jadx 静态分析 其中v2为查v5表得到,v3为用户输入index 下面就分别分析这几个值是啥 abcdefghddddd 得到v5和v4 解压assets下abcdefghddddd 拖入010 editor查看,实际是一个带相关数据的png文件 v5为图片位置89473开始,长度768字节&am…

Web安全 SQL注入漏洞测试.(可以 防止恶意用户利用漏洞)

Web安全 SQL注入漏洞测试 SQL注入就是 有些恶意用户在提交查询请求的过程中 将SQL语句插入到请求内容中,同时程序的本身对用户输入的内容过于相信,没有对用户插入的SQL语句进行任何的过滤,从而直接被SQL语句直接被服务端执行,导致…

AutoSAR软件组件开发的两类工作流程(Matlab/Simulink)

目录 前面 自顶向下 导入arxml文件 生成模型框架 搭建算法模型 生成代码 自下向上 前面 如何在Matlab进行AutoSAR软件组件SWC的开发?也就是下图红框标识出来的部分。 常规的有两种方式自顶向下与自下而上: 从上往下:从软件组件描述文…

改bug神器ChatGPT AI测试将取代人工吗?

最近ChatGPT大火,各大论坛中都会出现它的关键词。 机器和人对话本不是什么新鲜事,而ChatGPT上线仅5天,用户数量就超百万,之所以能在短时间吸引到这么多用户尝鲜,是因为它比“人工智障”的AI前辈们聪明多了~ 玩了一会…

Vue 3 组件通信

本文采用<script setup />的写法&#xff0c;比options API更自由。那么我们就来说说以下七种组件通信方式&#xff1a; props emit v-model refs provide/inject eventBus vuex/pinia 举个例子 本文将使用下面的演示&#xff0c;如下图所示&#xff1a; 上图中…

继承下的类型转换

一、私有/保护继承下的向上类型转换 示例&#xff1a; 图中蓝色、黄色代码均不允许使用&#xff0c;原因是在私有继承下&#xff0c;派生类和基类的public接口完全不搭界&#xff08;所实现的功能没有重叠&#xff09;&#xff0c;因此不允许强制转换&#xff0c;也无任何意义…

04-waf绕过权限控制

WAF绕过-权限控制之代码混淆及行为造轮子 思维导图 后门工具介绍: 菜刀&#xff0c;蚁剑&#xff0c;冰蝎优缺点 菜刀&#xff1a;未更新状态&#xff0c;无插件&#xff0c;单向加密传输 蚁剑&#xff1a;更新状态&#xff0c;有插件&#xff0c;拓展性强&#xff0c;单向加…

远程虚拟桌面解决方案 OpenText™ Exceed™ TurboX(ETX)的优势有哪些?

远程虚拟桌面解决方案 OpenText™ Exceed™ TurboX&#xff08;ETX&#xff09;的优势有哪些&#xff1f; 为 Windows、Linux 和 UNIX 实施精益、经济高效的虚拟化&#xff1b;提供完整的远程 Windows 可用性&#xff1b;以类似本地的性能远程工作&#xff1b;安全地保护系统和…

【Redis7】 Redis7 哨兵(重点:哨兵运行流程和选举原理)

【大家好&#xff0c;我是爱干饭的猿&#xff0c;本文重点介绍Redis7 哨兵&#xff0c;重点&#xff1a;哨兵运行流程和选举原理。 后续会继续分享Redis7和其他重要知识点总结&#xff0c;如果喜欢这篇文章&#xff0c;点个赞&#x1f44d;&#xff0c;关注一下吧】 上一篇文…

第一章 webpack与构建发展简史

官方loader和插件 Loaders | webpack Plugins | webpack 为什么需要构建工具&#xff1f; 初识webpack webpack默认配置文件&#xff1a;webpack.config.js 可以通过webpack --config <config_file_name>指定配置文件 rules是个数组&#xff0c;一个打包配置可以有多…

基于凸集上投影(POCS)的聚类算法

POCS&#xff1a;Projections onto Convex Sets。在数学中&#xff0c;凸集是指其中任意两点间的线段均在该集合内的集合。而投影则是将某个点映射到另一个空间中的某个子空间上的操作。给定一个凸集合和一个点&#xff0c;可以通过找到该点在该凸集合上的投影来进行操作。该投…