system verilog句柄拷贝

在搭建验证环境时,在env、base_test等组件中都会用到dut的配置信息.验证环境需要保证它们看到的信息是一致的,不然,数据处理时可能就会出错.让所有组件看到信息一致的一种方法便是句柄拷贝.在顶层对dut_cfg随机之后,通过顶层分发保证信息一致.
句柄拷贝的原理就是通过句柄赋值,使得所有用到此信息的组件指向同一份地址空间,其中一个组件对类成员的操作,会更新到其他组件当中.当然,如果因为误操作,也会给问题的排查带来麻烦.
1.reg_dut_cfg
在这里插入图片描述
2.句柄拷贝实例
在这里插入图片描述a.dut_cfg0实例化分配地址空间做随机;
b.dut_cfg1实例化分配地址空间做随机;
c.句柄拷贝将dut_cfg1赋值给dut_cfg0;
d.修改dut_cfg0的vlan_id变量;
e.修改dut_cfg1的vlan_pri变量;
3.结果分析
a.结果中可以看出dut_cfg0和dut_cfg1分配了不同的地址空间,变量的值也不一样;
b.句柄拷贝之后,dut_cfg0和dut_cfg1都指向了dut_cfg1的地址空间;
c.dut_cfg0修改vlan_id变量同样会改变dut_cfg1变量的值;
d.dut_cfg1修改vlan_pri变量同样会改变dut_cfg0变量的值;
e.从结果中可以看出,正式因为二者指向了同一个地址空间,才会保证看到的数据是一致的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值