uvm_object的field automation机制

本文介绍了UVM_object的字段自动化机制,包括如何通过`uvm_object_utils_begin`和`uvm_field_*`宏注册类中的变量,以及使用这些注册后的变量进行复制、克隆、打印、打包和解包等操作。此外,还列举了各种标志位及其用途,以及一个`bus_transaction`类的例子。
摘要由CSDN通过智能技术生成

field automation机制带来的便利性

1 首先注册的方式,如下:

    `uvm_object_utils_begin(my_transaction)
        `uvm_field_int(data,UVM_ALL_ON )
        ...
    `uvm_object_utils_end

2 对于object类,将类中的变量注册后,可以使用UVM预定义好的函数,如下:
函数名              描述
copy                  用于实例的复制 ,如B.copy(A),即将A的内容复制给B
clone                 克隆一个对象,如果对象不存在则创建一个新对象
print                   打印内容,如B.print( ),即打印 B 对象中所有在域中注册的变量、数组等
pack_bytes        将在域中注册的变量和数组等打包成byte流,输出到一个动态数组中
unpack_bytes    传入一个动态数组,将所有内容根据域中注册的顺序,转换成类中的字段
pack                   打包成bit流
unpack               将bit流注意恢复到类中


3 常使用的标志位,包括:

标志                                               描述<

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值