材料转验证,入行后谈谈IC验证工程师的工作流程究竟是怎样的?
大家眼中的验证工程师可能是整天对着电脑撸代码,或者是像一些自媒体宣传的那样和设计工程师扯皮。曾经我也这样认为的,验证工程师就是敲代码!
真实情况真的不是这样啊!!!材料转验证,入行后,最大的感受就是验证工程师的每一天都很不一样,至于每天干啥要取决于项目进度,环节不同、模块不同,工作内容也就不一样。以及一个项目中每个工程师负责的板块不同,工作内容也完全不一样。
之前我还担心会不会很无聊,入行之后发现大可不必担心无聊、枯燥、重复、简单这一问题。因为验证工作本身是真的不简单呀,真的是需要不断地学习总结!
这边我放了一款删减版的SOC芯片的spec目录,删减后页数一共是400页,目录里有28个章节,每个章节都是一个模块,这些将分配给多个验证人员,一般情况下会给一个工程师分几个模块进行验证。(当时这28个模块,也并不是每一个都需要验证。)
验证工程师工作的大概流程是这样的(完成一个项目的周期一般是几个月,时间更长的也有)
1、拿到项目之后,需要先熟读spec、以及相关协议(你负责哪块的内容,你就着重去了解哪块,上面400页的spec,你负责的可能也就是几个章节而已)
(1)根据验证计划、项目安排的时间节点开始验证。这块会产生各种测试用例去逐个验证—计划中提到的验证点,验证环境一般由资历较高的工程师(leader)搭建(纵观整个项目周期,这块是最耗时的。需要经常开会,交流项目进度,也会经常和设计工程师沟通debug RTL中存在的问题)
(2)review(测试用例写完之后,感觉没啥问题了。大家就会坐到一起,开会讨论还会存在哪些漏洞,每个验证工程师都会把自己手里的这块内容过一遍,有漏洞就继续验证,没有就进行下一步)
(3)回归测试(将所有验证工程师写好的test case放到一起运行,确保test case都能通过)
(4)收集覆盖率并分析
这就是验证工程师的全部工作内容了,我认为:一个合格的验证工程师不仅仅只具备Coding能力,逻辑分析能力、团队协作能力、良好的交流沟通能力也是很重要的,同时也要善于归纳总结,积累经验。
以上是从总体说验证工程师的工作内容,其实不难理解验证工程师的每一天、不同的时间段里工作内容都不一样,不同的验证工程师,工作内容也都不一样,擅长的领域也不一样,所以验证工程师会受到各种协议和接口通信的影响,工作中往往是在某一个具体的方向,进行深耕。
滴滴公司福利 1815人发布
