UVM中重要函数
2024-09-06 14:46:30
1、get_full_name()
获取这个节点的完整层次,这函数在object中就有定义,但是在component类中进行了重载,实现输出从uvm_test_top到当前节点的路径(是通过执行m_set_full_name是保存路径在m_name中)。返回值如:env.agt.drv(这些名字不是类名,是实例名字)
2、get()
这个函数在很多类中都有,比如uvm_object_register #(T,Tname)和uvm_factory都要这个get()函数,这个函数都是通过单例模式返回这个类的唯一对象。
// uvm_factory中的源码
static local uvm_factory m_inst; function uvm_factory uvm_factory::get();
if(m_inst == null) begin
m_inst = new();
end
return m_inst;
endfunction
3、get_name()
获取当前节点的实例名字,(不是类名)
4、get_type_name()
获取类的名字,以string形式返回,这个string是在注册的时候产生的。
5、get_type()
这个函数是类在注册的时候产生的静态函数,通过这个函数获取的是一个uvm_object_registry或者uvm_component_registry的单例对象,通过这个对象,其实跟调用get()函数功能差不多,只是调用get()函数得到的是uvm_object_wrapper对象,而调用get_type则将uvm_object_wrapper转换成了子类类型,uvm_object_registry #(T,Tname)。
最新文章
- Linq对XML的简单操作
- 新手码农浅谈观察者模式(java语言简单实现)
- Noi 2016
- qt 4.6.2 与visual studio 2005 集成(编译方法,以及中间遇到的问题)
- centos 安装ecshop出现date错误
- vue.js快速搭建图书管理平台
- QWT与QT Designer
- Android官方命令深入分析之etc1tool
- UML之构件图
- 产品经理之PRD详解
- 扩展crt
- react16实战总结
- Socket编程(网络编程)
- MongoDB 日志切割三种方式
- 学习Java并发的课程
- HBase中多Filter查询示例
- 【scala】 scala 类 (五)
- 三维重建项目:Photo Tourism: Exploring Photo Collections in 3D
- jQuery设置下拉框select 默认选中第一个option
- Stamp Rally