怎么成为一名很棒的验证工程师?
来源:EETOP BBS 作者:西西在冰城、qyxu1979、dtyuzhou
本文是从 西西在冰城 在EETOP的一个问答帖整理而来,由 qyxu1979、dtyuzhou 给出了比较详细的解答。
西西在冰城 的提问:
我的老师之前就从事的是验证的工作,所以受他影响我也希望自己可以做验证方面的工作。但是真正开始接触这方面发现,验证比设计是更难更重要的存在诶(个人观点)
而且发现验证工作对编程能力要求很高?
所以小白在此求助:
1 验证工作需要哪些知识?(比如:脚本语言,system verilog)
2 验证方法学是必须的吗?验证方法学应该怎么学呢?(因为我们有验证这门课程,但是在课程中主要讲system verilog,所以不是很理解验证方法学需要怎么学)
3 有 验证工程师进阶读本之类的吗?就像
程序员的读书历程:
x 语言入门
x 语言应用实践
x 语言高阶编程
x 语言的科学与艺术
编程之美
编程之道
编程之禅
颈椎病康复指南
哈哈,开个玩笑。
希望了解的工程师、同学们说一说。

qyxu1979 的解答:
试着帮你解答下,希望可以帮到你。
1 验证工作需要哪些知识?
a、linux基本知识,编辑器基本操作(gvim),验证基本知识(验证与测试的区别,验证流程与测试点分解等等),设计基本知识
b、验证编程语言sv,脚本知识(perl,shell,tcl至少会一种),验证仿真工具(cadence和synopsis公司的),makefile,待验证领域知识
c、验证方法学(建议就学uvm吧),formal验证
2 验证方法学是必须的吗?验证方法学应该怎么学呢?
a、个人认为验证方法学是必须的,但是可以多思考下如果没有验证方法学自己如何搭建验证环境。
b、先学会应用,然后逐步深入学习源代码(源码不看也可,但思想要理解)。至于应用最快的是找个适当的小模块搭建下验证环境即可,第一个是最难的。
3 有验证工程师进阶读本之类的吗?
这个太多了,英语好的话直接看原版吧,宁缺毋滥,否则越看越糊涂,每个人的理解可能都不一样,找到适合自己的即可,总之目标就是自己搭建的环境简单易用,方便灵活。
后记:
个人觉得验证比设计入门要难,如果说设计3个月初步可以独立干活的话,验证至少需要6个月。一个好的师傅及验证平台很关键,否则会把你带到沟里,形成思维定式想改变就难了。
一个前端项目至少70%的工作量都在验证领域,但很多公司不重视验证,还是认为设计更重要(毕竟是从无到有,而且最终需要形成产品的),看不到或轻视验证所做的贡献。

dtyuzhou 的解答:
验证涉及到的知识面可能确实会比设计多一点,但是好多优秀的工程师是可以做到设计验证通吃的,只是工作重点会有所偏重设计或偏重验证而已。如果觉得自己的软件基础还不错的话,可以考虑做验证。
现在市场对验证工程师的需求非常大,基本上是超过设计人员的需求。现在有很多公司的验证人员都是短缺的,所以工作前景还是不错的。
基础要求前面的大神已经都有所提及了。基本来看的话最基础的还是systemverilog,这个是基础,刚开始主要是要理解OO的部分思想, 如果你已经是C++的用户的,那么会很容易上手的。SV这里的可以多留意一下数据结构、随机、多线程控制、覆盖率处理等等
方法学肯定是要的,最好是UVM,至于版本没有必要刻意的最求高的UVM版本,现在1.1d基本上还是可以的。如果身边有VMM的环境可供学习的话,也是可以的,最好是基于VMM1.2版本的验证环境,VMM 1.2和UVM算是互相借鉴了,可以比较容易的过渡到UVM,毕竟以后的大趋势还是UVM。
书籍的话还是相关的user 手册比较靠谱啊。
为了更好地便于大家交流学习,EETOP按区域组建了一些微信群,欢迎所在区域的网友加入各自的区域群,加群方法: 先加 jack_eetop 为好友,发送如下信息:加群+区域+单位(或院校)+职业。
比如: 加群+北京+利达科技+数字IC设计
目前先开通如下5个城市群,欢迎对号入座。
EETOP北京群
EETOP上海群
EETOP深圳群
EETOP成都群
EETOP西安群
为了防止机器人加入,初次进群请务必主动打招呼!
