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

2024-02-09 03:40

本文主要是介绍入行IC| 数字IC设计和验证哪个好?(内含薪资对比),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网上有一个很火的问题那就是数字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入行指导

这篇关于入行IC| 数字IC设计和验证哪个好?(内含薪资对比)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/693014

相关文章

opencv图像处理之指纹验证的实现

《opencv图像处理之指纹验证的实现》本文主要介绍了opencv图像处理之指纹验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、简介二、具体案例实现1. 图像显示函数2. 指纹验证函数3. 主函数4、运行结果三、总结一、

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat

python中字符串拼接的几种方法及优缺点对比详解

《python中字符串拼接的几种方法及优缺点对比详解》在Python中,字符串拼接是常见的操作,Python提供了多种方法来拼接字符串,每种方法有其优缺点和适用场景,以下是几种常见的字符串拼接方法,需... 目录1. 使用 + 运算符示例:优缺点:2. 使用&nbsjsp;join() 方法示例:优缺点:3

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

java字符串数字补齐位数详解

《java字符串数字补齐位数详解》:本文主要介绍java字符串数字补齐位数,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java字符串数字补齐位数一、使用String.format()方法二、Apache Commons Lang库方法三、Java 11+的St

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)

《Python爬虫selenium验证之中文识别点选+图片验证码案例(最新推荐)》本文介绍了如何使用Python和Selenium结合ddddocr库实现图片验证码的识别和点击功能,感兴趣的朋友一起看... 目录1.获取图片2.目标识别3.背景坐标识别3.1 ddddocr3.2 打码平台4.坐标点击5.图