story · 2021年06月15日

在功能验证中一般会发现哪些类型的BUG

简而言之,bugs 可以从简单的拼写错误复杂的逻辑场景(scenarios)。此外,bugs 的严重程度可以从无伤大雅到导致项目灾难性地失败

以下是对功能验证过程中发现的BUG尝试性地进行一些分类:

1、RTL/逻辑bugs 与 DV bugs :bugs 既可以存在于RTL中也可以存在于DV(验证代码)中。 在验证的早期阶段,DV 代码相比RTL代码更容易存在bugs。随机验证环境的稳定并生成良好的激励,将发现更多的 RTL bugs。

2、简单的bugs :简单的bugs 可能是代码中粗心的拼写错误或导致基本功能问题的简单逻辑错误。这些bugs 一般在验证的初始阶段就可以发现。

3、边界场景bugs :边界场景bugs是当设计(或测试平台)中的各种逻辑同时发生或者以某种时序关系活动导致的bugs。 这些bugs是整个验证过程中最具价值的成果。很多时候,只有进行高质量的测试计划、测试点分解,代码审查、质量活动才能有这些重要的发现。

4、挂起、死锁、活锁bugs :这些bugs 就是前文提到的灾难性的bugs。 验证工程师需要彻底地了解微架构,并与设计架构师共同进行头脑风暴,确定要测试的所有潜在场景,以避免这些情况。

5、性能bugs :这些问题可能不会导致功能问题,但可能会导致设计无法满足某些性能目标。例如更长的延迟、流水线气泡、不必要的replay逻辑等。

作者:XinXinHu
原文链接:https://mp.weixin.qq.com/s/e0DpB1K9QdsclFSHKzmLuw
微信公众号:
qrcode_gh_e85b37ca379a_1.jpg
授权转自数字芯片实验室公众号,请勿二次转载。

推荐阅读

更多数字IC设计技术干货等请关注数字芯片实验室专栏。
推荐阅读
关注数
12320
内容数
221
前瞻性的眼光,和持之以恒的学习~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息