Amiya · 2021年08月16日

当你发现一个bug,该怎么和设计沟通?

验证工程师的任务是发现所有的设计bug。为此验证工程师必须要理解设计,并且和设计进行密切地合作

验证工程师对于设计的理解分为两次层次,规格级别( specification level )RTL实现级别(implementation level )

规格级别规定了设计的整体功能。它包括体系结构、输入和输出以及性能要求。体系结构是设计的主要规格,例如处理器的指令集、I/O的协议、性能要求和内部存储的大小等。规格一般有很好的文档记录。

实现级别就是设计的微架构,例如控制流、数据流、时钟门控以及状态机等。实施级别的文档一般会比较缺失,这些信息主要来自RTL的设计者。如有必要,验证工程师可以通过设计深刻地理解设计的实现,这有利于验证工程师针对内部设计进行更高效的压力测试(这也是验证人员需要看RTL的原因,端到端的黑盒功能验证往往是不充分的)。

考虑到验证人员在仿真时发现问题,某些验证工程师可能会说,“你的代码有bug,请马上修复。”这可能会激怒设计人员,并影响下次配合。而且大多数时候可能并不是RTL设计的问题,而是验证环境的checker误报,或者输入非法场景激励导致的。

所以当发现仿真报错时,我们应该这样和设计沟通:“我发现一个很有意思的场景,balabala,你能帮忙看一下么 ?”

作者:验证哥布林
原文链接:https://mp.weixin.qq.com/s/9Q0SV5m5Xkkd-6SAkmL41A
微信公众号:
芯片验证工程师.jpg

推荐阅读

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