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文件中需要添加如下参数:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值