【UVM源码学习】uvm_object

更新时间:2023-07-19 05:04:22 阅读: 评论:0

【UVM源码学习】uvm_object
  uvm_object,直接从uvm_void扩展⽽来,是uvm库中唯⼀⼀个扩展⾃uvm_void的类,所有uvm类都直接或间接派⽣⾃uvm_object。uvm_object类中主要实现了读写object name、获取数据类型、数据打包/⽐对/复制等function。
梦见烧香拜佛
⽅法描述
1reed 重新为随机数⽣成器分配ed,默认采⽤uvm ed⽣成机制,即将type_name & inst_name传递给
板栗的吃法
uvm_create_random_ed,⽣成的ed再通过srandom传递给随机数⽣成器。若不使⽤uvm ed,该函数不执⾏任何操作
2t_name设置当前object的例化名称3get_name获取当前object的例化名称
食品安全与健康
闰年英语4get_full_name 获取当前object的完整hierarchy名称,调⽤get_name实现。只有在实例化的时将例化的name设置为⽗类名称+当前类名称才能得到完整的hierarchy。英语词根词缀
5get_inst_id每个object在实例化的时候(new⾥)都会被分配⼀个独⼀⽆⼆的数字识别码,即inst_id,get_inst_id返回例化ID。6get_inst_count获取当前仿真时刻uvm_object基类被例化的次数,默认采⽤该例化次数数值作为inst_id
7get_type 获取object的wrapper。uvm_factory机制中根据type进⾏override或create时,需要获取wrapper,即可采⽤get_type获取。采⽤get_type之前,需要⽤户⾃⾏实现get_type,uvm_object中发get_type函数默认报错并返回null
8get_object_type与get_type作⽤相同,不同点在于get_type为static类型,⽽get_object_type采⽤已分配的object
9get_type_name返回值为get_type的字符串,每个uvm_object派⽣类中都应实现⼀个get_type_name函数
10create分配⼀个新的object并返回其uvm_object句柄
11clone克隆,创建并复制,create+copy并返回uvm_object类型的句柄
12print打印object属性,⽆返回值论文修改
13sprint打印并返回object属性(字符串类型)
14do_print print & sprint⾮virtual类型,do_print⽤户⾃定义的钩⼦函数,virtual类型,⽤户可定制是否打印相关信息15convert2string转换为字符串,⽤户定义后使⽤,默认返回空字符
国考报名入口官网16record记录object属性信息,调⽤virtual do_print
17do_record钩⼦函数,记录object属性信息,virtual类型,可重载,被record调⽤
18copy复制object信息,⾮virtual,期间调⽤virtual do_copy
19do_copy 复制object信息,virtual,派⽣类中需override do_copy才能实现派⽣类中field的复制。派⽣类中的do_copy必须调⽤超级函数super.do_copy,且在copy之前对派⽣类中的参数进⾏强制类型转换
20compare⽐较两个object,相同返回1,不同返回0,⾮virtual,此间调⽤⽤户⾃定义的virtual do_comapre 21do_compare钩⼦函数
22pack把object属性打包成bitstream,返回size
23do_pack 钩⼦函数,pack_ints等会调⽤。打包动态size的数据时,如队列、动态数组、关联数组,需要将打包数据的元素数⽬也打包进去,打包字符串时,字符串尾部要加1Byte 0,打包object时,要在头部掺⼊4 bit header
24pack_bytes调⽤packer的get_bytes把object属性打包成byte类型的数组,返回size 25pack_ints调⽤packer的get_ints把object属性打包成int类型的数组,返回size
26unpack调⽤packer的put_bytes从⽐特流中解析出object属性
27do_unpack钩⼦函数
28unpack_bytes调⽤packer的put_bytes从byte类型的数组解析出object属性,返回size
铁山寺
28unpack_bytes 调⽤packer的put_bytes从byte类型的数组解析出object属性,返回size 29unpack_ints 调⽤packer的put_ints从int类型的数组解析出object属性,返回size 30t_int_local 提供了访问object中int类型属性的⼊⼝31
t_string_local 提供了访问object中string类型属性的⼊⼝32t_object_local 提供了访问object中sub_object属性的⼊⼝序号⽅法描述

本文发布于:2023-07-19 05:04:22,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1087317.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:属性   类型   打包   例化   数组   返回   字符串   信息
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图