UVM命令行传参uvm_cmdline_processor

UVM中的uvm_cmdline_processor类用于处理命令行参数,它从uvm_object和uvm_report_object继承,提供get_inst()方法获取唯一实例。该类维护了三个参数队列:m_argv, m_plus_argv和m_uvm_argv,分别存储所有参数、以+开头的参数和以+UVM*开头的参数。此外,类中包含获取这些队列元素的方法以及获取仿真器信息的方法。尽管可以使用SV内置命令行传参方式,但推荐使用uvm_cmdline_processor以实现更好的复用和集成。" 120652290,5676126,Docker网络模式详解与容器通信,"['Docker网络', '容器网络', 'Docker教程']
摘要由CSDN通过智能技术生成

在UVM中环境中,在我们执行simulation的过程中,会在命令行添加一些simulation args。比如
./simv –l vcs_run.log +UVM_TESTNAME=my_test

在UVM世界中,有一个class专门来处理这些参数。这个类就是uvm_cmdline_processor

类的继承关系是:
uvm_object->uvm_report_object->uvm_cmdline_processor,这个类与factory相似,均是single模式的类,静态方法get_inst拿到唯一的对象。比如uvm_cmdline_processor cpl= uvm_cmdline_processor::get_inst();

在这个类中有3个重要的变量(队列)

1:string
m_argv[$] //存放所有cmdline参数,m_argv[0]=./simv

2:string
m_plus_argv[$]//存放所有cmdline参数中以+为开头的参数

3:string
m_uvm_argv[$]//存放所有cmdline参数中以+UVM*,+uvm或者-UVM*,-uvm为开头的参数

比如./simv –l vcs_run.log +UVM_TESTNAME=my_test

m_argv[$]有4个参数

m_plus_argv[$]有1个参数

m_uvm_argv[$]有1个参数

这个类中封装了相应的方法来获取上述3个队列的元素,(由于上述3个队列的protected属性)

get_args(output string args[$])

get_plusargs(out

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值