数字IC验证工程师要点满哪些技能?

  • 2021/12/16

芯片行业是个高风险、高投入的行业,做一款芯片仅仅是开模的费用就是百万起。

从设计到制造都是环环相扣的,设计过程中的BUG或者错误能够达到上千个。

所以验证是保证芯片功能正确性和完整性最重要的一环。

如果设计方面的缺陷没被发现,那么化沙子为芯片的这种高能操作就会变成:沙子→沙子做的垃圾。这就是验证工程师之于芯片的重要性。

一般好的IC设计公司设置设计和验证岗位的比例都是1:3。

验证在设计的哪个环节?

作为一名验证工程师,一定要具备全流程的意识。芯片设计流程,主要有需求分析→芯片规格定义→RTL设计→逻辑综合→布局布线→Sign-off这几个大的步骤。

那验证处于哪个环节?又在扮演什么样的角色呢?

主要处于RTL设计环节,这个环节的验证就是功能验证,也就是RTL前仿真。在这个环节,功能验证工程师要验证RTL设计是否符合芯片规格说明书里要求的功能。

其次就是布局布线环节,需要进行物理验证,比方说时序分析和后仿真。

事实上验证是贯穿于芯片设计整个流程的,而数字验证工程师主要做的工作就是前仿真+后仿真。

扮演的角色可以理解为验证就是为设计纠错的存在。这就是验证的价值体现。

优秀的验证工程师,需要掌握的技能有很多,兼备硬件软件,可以说是更加触类旁通。所以还是需要循序渐进,从最基础的内容开始逐步掌握。

验证工程师的必备技能?

这里罗列的是数字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中还会使用到很多协议,所以验证工程师还需要了解各种通用协议。

如果说前面的技能都属于基础的话,协议就属于进阶类型的技能了,可以直接理解为大招。

· 综合能力

这类综合能力在一众技能中算是平A。

作为验证工程师,有很大一部分的工作时间都是在读文档,而文档全都是英文,所以英语的读写能力是非常重要的。

沟通、学习和团队能力就不必多说了,这是任何岗位都需要具备的基础能力。

结 语

验证在整个芯片设计流程中的重要性不言而喻。

作为兼备硬件和软件的验证岗来说,对于学历和专业的要求还是比较友好的。且路漫漫其修远兮,入行之后的进步空间和学习上限仍然很充足。

技术、管理、转岗都是可以选择的道路,自然不必担心长期的职业发展。

着眼当下,学到知识、学得扎实才是最紧要的任务。

学习之路上,IC修真院与你同行。

人工客服
(售后/吐槽/合作/交友)

相关资讯

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
  7. 7.
  8. 8.
  9. 9.
  10. 10.
  11. 11.
  12. 12.
  13. 13.
  14. 14.
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
查看全部20条内容