UVM获取外部参数的方法--$value$plusargs

在使用UVM验证时,我们经常会写一个sanity用例,然后通过改变参数从而生成不同的用例。一种方法是在用例当中通过uvm_config_db来实现参数的传递,这是常规用法抛开不讲,现在讲一下通过$value$plusarg获取参数。
验证环境中我们可以将需要获取的参数放到一个文件当中,如下所示:
步骤如下:
1.在文件当中定义需要的参数,并且赋一个默认值;
在这里插入图片描述
2.在new函数当中通过$value$plusarg获取参数,第一个参数是string类型,它的结构是参数名字 + “=” + “参数类型如10进制、16进制”等,第二个便是文件中需要赋值的参数;
3.定义一个cfg文件,用来存储需要更改的参数,结构是:“+” + “参数名字” + “=” + “数值(常用类型)",需要确保参数名字与$value$plusarg中第一个参数相同,否则无法获取.
在这里插入图片描述
4.如果获取到了对应的参数,$value$plusarg返回值为1,否则为0;返回值为0,则不会改变参数的默认值,否则会改变;
5.在顶层分发在文件,便可以生成不同的验证用例.在makefile文件中需要添加如下参数:
在这里插入图片描述

发布了22 篇原创文章 · 获赞 3 · 访问量 763

猜你喜欢

转载自blog.csdn.net/weixin_39662684/article/details/104576602