Dinglei_hello · 2021年11月30日

提高验证效率,做一个不加班不丢球的高质量人类验证工程师

相信很多人都听说过这样的一个论断:“功能验证需要占用芯片设计周期的70%”。

编写测试计划/可重用验证环境/设计断言、定位RTL bug、实现代码覆盖和功能覆盖目标以及门级仿真和调试,是功能验证工程师在tapeout前经历的一些常见活动。

如果DUT有更多的bug,验证工程师的工作就会呈指数级增加,这需要大量的RTL定位工作。

这是个dirty work啊!

评估验证工程师的指标是“在功能验证中发现多少bug,哪些是简单的bug,哪些是corner case”,以及遗留了多少bug”。

有人说验证是守门员,我觉得不够充分。验证是一个不允许丢掉任何一个球的守门员,即使只遗留了一个bug,也是前功尽弃。

如果你是验证工程师,你觉得你很难在deadline前完成你的计划,只能通过加班来完成工作。以下是一些有效的方法,在不损失验证质量的条件下减少加班。

1)根据事情的工作量来做计划,并且和验证经理达成一致 。

2)每当工作增加/减少时,重新计划工作,并让验证经理保持更新。

3)对任务排优先级,一个接一个地完成。

4)编写可复用的代码和验证环境,可以帮助提高以后的工作效率。

5)尽量编写随机验证环境来测试DUT,大多数错误很容易被随机验证环境捕获。只有在需要达到功能覆盖率/代码覆盖率时,才能编写一个定向测试用例。

6)始终跟随市场,尝试学习和使用新技术。最初可能很困难,但从更长的时间来看,它将提高你的验证效率。

7)当发现设计问题时,提交一个问题单,这是评估验证工程师最好的指标。此外,高层管理人员也将根据问题单评估验证进度。

8)总是让你的验证经理更新你的任务状态,这样他就能够评估和安排你的工作量。

9)不要因为缺乏Testbench支持而不去完备验证DUT的某个特性,这可能导致bug遗漏。

10)当你陷入到某个问题时,不要持续解决这个问题,这将增加压力。休息一下,换换脑子再来解决。

11)尝试理解、增强或修改和自己相关的代码库,而不是尝试学习所有的轮子。

功能验证工程师操这么多心,是否会因为他的验证工作而得到奖励,这真的是一个问号,而且在很大程度上取决于你工作的公司。

我们应该做什么,个人都有个人的想法。正所谓,懂的都懂。

作者:验证哥布林
原文链接:https://mp.weixin.qq.com/s/0ai5RAWR2gOB8PTi4HOUVA
微信公众号:
 title=

推荐阅读

更多IC设计技术干货请关注IC设计技术专栏
推荐阅读
关注数
10973
内容数
1216
主要交流IC以及SoC设计流程相关的技术和知识
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息