在UVM中使用工厂模式基本上分为三个步骤:

1. 注册

当定义一个类的时候,它的类型必须要注册,UVM已经提供了专用的宏。

`uvm_component_utils(class_type_name)

`uvm_component_param_utils(class_type_name #(params))

`uvm_object_utils(class_type_name)

`uvm_object_param_utils(class_type_name #(params))

这四个宏中两个是为参数化的类准备的,另外两个是为非参数化的类注册用的。

2. 实例化对象

在对component或object型对象进行实例化的时候要使用静态方法create(),不能采用new()去实例化。也就是要用如下这个非常奇怪的实例化格式:

object_name = class_type::type_id::create("object_name",this);

3. 重载override

最后就是在需要override的时候,按照类型或者名称去override原来的对象。

set_inst_override_by_type(original_type, override_type, full_inst_path )

set_inst_override_by_name(original_type_name, override_type_name, full_inst_path )

参考文献:

[1] UVM的factory机制. http://www.asicdv.com/uvm_scan.asp?id=30

[2] UVM FACTORY . http://www.testbench.in/UT_06_UVM_FACTORY.html

转载于:https://www.cnblogs.com/dpc525/p/5464040.html

UVM的factory机制相关推荐

  1. UVM中factory机制的使用

    UVM中的factory机制一般用在sequence的重载,尤其是virtual sequence.当Test_case变化时,通过virtual sequence的重载,可以很容易构建新的测试. 因 ...

  2. UVM源码分析之factory机制详解

    前言 作者在学习了一段时间的UVM factory源码之后写下此文,旨在记录自己的学习成果,毕竟好记性不如烂笔头嘛,当然如果能帮助到对这部分有疑惑的同仁就更好了.作者是在笔记本电脑上的windows环 ...

  3. UVM factory机制源码探微

    文章目录 1. UVM factory机制的使用 2. class 在factory 中的注册过程 2.1. `uvm_component_utils() 2.1.1. m_uvm_component ...

  4. UVM的configuration机制

    UVM的configuration机制 uvm configuration机制 特点 UVM资源池 添加配置资源 获取配置资源 config机制的使用 单个变量使用configure机制 interf ...

  5. UVM field automation机制

    文章目录 前言 1.什么是 uvm field automation 2.uvm field automation的介绍 2.1 uvm field automation机制的处理方法 2.2 `uv ...

  6. UVM的objection机制

    UVM通过objection机制来控制验证平台的关闭.在每个phase中,UVM会检查是否有objection被提起(raise_objection),如果有,那么等待这个objection被撤销(d ...

  7. uvm event 事件机制

    event 机制开始是在做Linux 系统开发的时候使用的,作用是从kernel 的内核层像用户层发送消息和数据等,内核层发送事件的api: 1 /**2 * kobject_uevent_env - ...

  8. UVM中objection机制学习

    文章目录 objection机制介绍 objection使用注意点 代码实例 objection机制介绍 在UVM中可以通过drop_objection来通知系统可以关闭验证平台,且在drop_obj ...

  9. UVM内callback机制的使用

    callback机制提高平台的可重用性,其使得在用例里面可以加入一些新的特性,而不需要修改验证平台. call的使用可以分为以下几步: 1.定义一个callback基类,基类需要继承自uvm_call ...

最新文章

  1. 本地生活JAVA版本_赶集生活java版
  2. 继 承(面向对象特征之一)
  3. 更改一个视频文件夹下视频文件的文件名
  4. 万用表判断场效应管的好坏
  5. 设计原则 —— 针对接口编程而不针对实现编程
  6. 博客开园了~~~~~~
  7. 阿里云服务器windows系统上Nodejs监听80端口报错!
  8. Wavesequencer Hyperion for Mac(数字模块化合成器)
  9. 获取Nist的美国官方标准时间的解决办法
  10. java set region_Java Tile.setRegion方法代碼示例
  11. 苹果手机验真假_简单三步教你辨别苹果二手机,识别率高达99%,特别适合新手
  12. 笔记本输字母p出现仅计算机,电脑打不了字只有字母怎么办?最简单的解决方法...
  13. Redis从入门到入坟系列文章(一): keys 命令
  14. 五个受用一生的学习网站,高效免费,想提升自己能力的快来看看
  15. Revit二次开发——自动标注钢筋思路(3)
  16. 【MongoDB 快速上手】别找了,主流开源分布式系统存储系统三剑客:FastDFS、Minio、MongoDB零基础入门实战教程!
  17. 红帽linux怎么截图,Linux上使用Ksnip截图
  18. 【SQL Server】列转行 STUFF 函数
  19. g代码生成器 源代码_如何生成源代码?
  20. Web项目的页面跳转问题

热门文章

  1. 关于setInterval设置倒计时只执行一次,clearInterval停止
  2. day20---IO流概述
  3. linux日常笔记4
  4. 问题(二)--算法相关
  5. CS224d lecture 9札记
  6. java.io.StreamCorruptedException: invalid type code: AC错误的解决方法
  7. 智能指针(三):unique_ptr使用简介
  8. 制造业数据分析存在哪些问题
  9. 应对大数据分析的几个方法
  10. 如何从服务器上取pdf文件,如何从服务器响应创建pdf文件?