网上有很多人咨询关于数字IC验证的行情,下面大多数回答都说薪资高、机会多、发展好。
确实,一款芯片从立项到流片生产需要经过层层自测和验证,否则芯片注定是失败。可以说,IC验证是IC设计的关键所在。
验证的重要性
这些年来,随着芯片行业的不断发展,芯片验证这个岗位也变得越来越重要。尤其对于高密度的SoC设计而言,在验证过程中经常会面临数以千计、规模各异的验证任务,如何快速、有效的进行芯片验证成为了一大挑战。在项目的进行过程中,七成以上的工作都是在验证,因此,验证人员的重要性不言而喻。
IC验证工程师的必备技能
理论知识
说起理论知识,数电知识是做数字芯片的基石,也是很多同学入行学习的第一本书,一定是需要先掌握的。可以理解为自带的被动技能。
语言类
先来看Q技能,语言。验证工程师们需要使用各种验证语言去搭建验证环境。常用的验证语言有C、C++和StemVerilog。
验证岗位对Verilog语言的要求是能够看懂、能够理解的程度,并不需要像设计岗位那样精通。
System Verilog就属于验证工程师的核心技能了,随着设计越来越复杂,为了更方便例化模块,所以SV语言也是越来越流行。
工具类
再来看W技能,验证工具。UVM是现在主流的验证方法学,同样属于验证工程师必备的核心技能。当验证环境和测试用例都搭建好后,就需要进行仿真和debug了。
EDA仿真工具,不同公司使用的工具软件不同,但大都是三巨头家的(Synopsys、Cadence、Mentor)。掌握并熟练使用这些EDA工具,能够很大程度上提升仿真和debug效率。
环境类
接下来是E技能,环境。EDA工具基本都提供的是Linux版本,芯片设计公司提供的开发环境也都是Linux。所以需要熟练掌握Linux环境下的常用命令和操作。处理文本需要使用到编辑器,比如VIM,所以对于编辑器同样要做到熟练使用。
协议类
除了验证的一些基本技术之外。IP中还会使用到很多协议,所以验证工程师还需要了解各种通用协议。如果说前面的技能都属于基础的话,协议就属于进阶类型的技能了,可以直接理解为大招。
哪些东西是需要验证工程师时刻思考的?
除了这些外在的能力,个人觉得验证工程师还需要有很多隐性的能力:
如何提高验证效率?
如果把test验证能力提升?
如何设计更加冗余的系统?
如何加速debug的流程?
学习书籍推荐
SV和UVM
SV和UVM就这两本书,想学习的话可以先找视频看一下,SV看第一遍看不懂没关系,再看看书就懂得差不多了,然后学习UVM,UVM是基于SV的验证方法学,把 UVM 的结构理清楚,这对于验证非常重要。
IC验证工程师需要学什么?
IC验证工程师要学习的主要有数字电路基础、软件设计思想、SystemVerilog、OVM/UVM以及环境脚本语言等相关知识。这些学好之后可以获得如下好处:
1、学习了数字电路基础之后,才可以更好地在工作中,去理解RTL硬件设计。
2、必须要学会相应的编程语言,例如:SystemVerilog,最好也要懂C和C++。
3、还要学习OVM/UVM,因为这些都是基于SystemVerilog的一些基础的验证方法学。
4、还要学习好制定验证计划,这样才可以在今后工作中做好搭建验证平台。
5、环境脚本语言也是必学的课程,这样才可以在今后工作中编程时应用得到,如:Tcl,Perl,Python。
要想成为验证工程师,就必须要掌握好基础知识,只有把基础打扎实之后,才能成为一名合格的验证工程师。
IC验证视频学习
关于验证项目
想要转行IC,相应的项目经验至关重要。如果能在学校能做和IC验证相关的项目,可以尽量往上靠一靠。实在没有的话,也可以选择跟着老师学习。尤其是今年企业招人,非常看重项目经验,毕竟企业也是想要一个可以直接上手的人嘛。
项目需要重点关注:
DUT的功能和结构
根据DUT的功能及结构我们搭建的验证平台,为什么要这样搭建
验证平台的各个组件之间的通信,如何跟DUT相关联
分解测试点,都验了哪些功能,各个功能你是怎么验证的(这个可能有时候会问的比较细致)
收集覆盖率,代码覆盖率,功能覆盖率为什么才90%?你是怎么收集的?达不到 100%怎么办?
需要学习资料的同学,可以私信留下正确的联系方式,老师会主动联系你发送学习资料!学习之路上,IC修真院与你同行。