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