Dinglei_hello · 2021年09月03日

黑盒验证、白盒验证和灰盒验证有什么区别?

黑盒验证:

大多数基于仿真的验证环境都是黑盒验证。验证工程师学习设计的规格,然后编写验证环境中的 drivers, monitors, checkers,和scoreboard。整个过程中,验证工程师对设计的内部实现知之甚少。

黑盒验证有利也有弊。有利的一方面是,DUT内部的结构变化对验证环境影响很小,比如设计内部增加打拍逻辑对验证几乎没有影响,设计和验证相对比较独立。 

WeChat Image_20210903105825.jpg

白盒验证:

和黑盒验证的优缺点正好相反,白盒验证需要验证工程师充分理解DUT的内部结构。验证工程师可以观察设计内部信号,预测内部FIFO、流水线、状态机等微架构行为,并添加相应的检查。也就是说,白盒验证常常能够在设计源头上发现bug,而不用等到bug已经体现到了接口上。

白盒验证和设计微结构紧密联系在一起,仅仅是设计内部信号名的修改,验证环境也要同步修改,维护成本比较高。因此,我们应该只在低层次等级上进行白盒验证,尽量对微架构有足够的了解,但是也不要被设计的verilog代码所引导。

灰盒验证:

灰盒验证介于白盒验证和黑盒验证之间,这个“灰”也可以理解为灰度吧,每个验证工程师所负责的模块是应该更黑一点还是更白一点,这也是无法考究的。 灰盒验证存在的另一个原因是作为黑盒验证的助手,对于cache这样的设计,我们无法从端到端实时预测输出结果,这时候就需要借助一些设计内部信号。当然,需要强调的是,这个内部信号需要经过充分的验证和检视确认。 

END

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

推荐阅读

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