博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVM:8.2.2 重载的方式及种类
阅读量:4219 次
发布时间:2019-05-26

本文共 870 字,大约阅读时间需要 2 分钟。

1.set_type_override_by_type 实现两种不同类型之间的重载。原型:

2.有时不希望把平台中的A 全部替换成B,只是替换部分,用set_inst_override_by_type,原型:

1)第一个是相对路径。

3.示例:

1)运行到main_phase是,会输出:

4.上面两个的参数都是uvm_object_wrapper 型的参数,通过xxx::get_type()获得。UVM 还有另外一种写法:字符串。

1)与set_type_override_by_type 相对的是set_type_override,原型:

用parrot 替换bird,如下:

2)与set_inst_override_by_type相对的是 set_inst_override,原型:

用new_monitor 重载my_monitor 如下:

5.上述都是在uvm_component 的函数,但是在top_tb 的initial里,无法使用。UVM 提供另外4个函数来替换上述4个函数,原型是:

1)都位于uvm_factory中。

6.应用。系统存在一个uvm_factory 类型的全局变量factory。

1)可以在initial 里使用:

2)在component也可以直接调用factory 机制的重载函数:

其实uvm_component 的四个重载函数直接调用了factory 相应函数,上面截图可以看到。

7.还可以命令行。实例重载和类型重载分别:

<sim command> +uvm_set_inst_override=<req_type>,<override_type>,<full_inst_path>

<sim command> +uvm_set_type_override=<req_type>,<override_type>{,<replace>}

分别对应set_inst_override_by_name 和 set_type_override_by_name。

1)实例重载:

2)类型重载:

你可能感兴趣的文章
aclocal安装依赖的库
查看>>
String和常量池值的变化
查看>>
FastDFS 安装及使用详解
查看>>
ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)解决方案
查看>>
Host 'XXX' is not allowed to connect to this MySQL server解决方案
查看>>
corosync pacemaker 配置高可用集群(一)
查看>>
5种IO模型、阻塞IO和非阻塞IO、同步IO和异步IO
查看>>
nginx(一) nginx详解
查看>>
nginx(二) nginx编译安装 及 配置WEB服务
查看>>
nginx(三) nginx配置:反向代理 负载均衡 后端健康检查 缓存
查看>>
nginx(四) nginx+keepalived 实现主备+双主热备模型的高可用负载均衡代理服务
查看>>
jQuery核心--多库共存
查看>>
QTP Tutorial #23 – QTP Smart Object Identification, Sync Point, and Test Result Analysis
查看>>
第一章漫话自动化测试
查看>>
第二章:Selenium IDE应用实践
查看>>
第三章:Python基础
查看>>
正则表达式
查看>>
第五章 自动化测试模型
查看>>
Linux命令行与shell编程第3章基本的shell
查看>>
Linux命令行与shell编程第4章 更多的bash shell命令
查看>>