story · 2021年06月21日

验证平台中配置的艺术之配置分类

所有的验证平台(即使是最简单的验证平台)都需要一些配置参数用于设置验证环境中的功能(feature)。同时在验证环境中还需要提供一种方式允许测试用例的编写者override这些默认配置参数,用于测试某些定向的场景。

这些配置参数可用于配置DUT的参数验证平台的拓扑结构验证组件参数测试用例参数等。合理地规划这些参数将有利于验证平台的垂直和横向复用,并提供较好的可控性和随机性。

本文将这些配置参数分为以下几类:
(1) DUT 配置
(2)验证组件配置
(3)验证环境配置
(4)测试用例配置

(1) DUT 配置

一般复杂的DUT设计为了复用都会具有大量的参数配置。这些配置可能通过软件配置寄存器、verilog parameters、宏定义或者DUT顶层连线控制。通常DUT配置在仿真开始时会进行严格约束,因为在同一个项目中DUT配置一般是固定的,例如总线位宽不会动态变化,而且不同的DUT配置就意味着不同的测试对象

(2) 验证组件配置

验证组件通常包括各种参数,用于配置:
1、工作模式,maskter或者slave,以控制激励和响应的产生。
2、不同发送包之间的延迟。
3、包内容域相关的配置,例如请求类型,请求数量等

(3) 验证环境配置

一般一个接口会有一个相应的agent,这些agent可以在不同的模块和项目之间复用。

对于模块A,接口a可能是master,对于模块B,接口a可能就是slave。可以在模块A和B各自的验证环境中配置这些agent的模式,使能相应的monitor和driver(在UVM中这个参数值就是passive/active)。验证环境中还可以配置这些agent的数量,例如不同的核心数就可能会有不同数量的agent。同DUT配置类似,验证环境的相关配置一般在最初build时就已经固定下来了。

(4) 测试用例配置

测试用例配置用于控制激励类型的发送,也可以用于override验证组件的行为参数配置。另外,如果有特别需要,还有测试过程中间过程的一些参数配置。

最后,合理地、层次化地进行验证平台配置参数的管理,更加有利于验证环境的维护、测试用例的新增。复用性和复杂度控制在验证环境简单时可能没那么重要,随着测试需求的增多,这是个一劳永逸,提高工作效率的事情。

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

推荐阅读

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