UVM的factory机制
在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机制相关推荐
- UVM中factory机制的使用
UVM中的factory机制一般用在sequence的重载,尤其是virtual sequence.当Test_case变化时,通过virtual sequence的重载,可以很容易构建新的测试. 因 ...
- UVM源码分析之factory机制详解
前言 作者在学习了一段时间的UVM factory源码之后写下此文,旨在记录自己的学习成果,毕竟好记性不如烂笔头嘛,当然如果能帮助到对这部分有疑惑的同仁就更好了.作者是在笔记本电脑上的windows环 ...
- UVM factory机制源码探微
文章目录 1. UVM factory机制的使用 2. class 在factory 中的注册过程 2.1. `uvm_component_utils() 2.1.1. m_uvm_component ...
- UVM的configuration机制
UVM的configuration机制 uvm configuration机制 特点 UVM资源池 添加配置资源 获取配置资源 config机制的使用 单个变量使用configure机制 interf ...
- UVM field automation机制
文章目录 前言 1.什么是 uvm field automation 2.uvm field automation的介绍 2.1 uvm field automation机制的处理方法 2.2 `uv ...
- UVM的objection机制
UVM通过objection机制来控制验证平台的关闭.在每个phase中,UVM会检查是否有objection被提起(raise_objection),如果有,那么等待这个objection被撤销(d ...
- uvm event 事件机制
event 机制开始是在做Linux 系统开发的时候使用的,作用是从kernel 的内核层像用户层发送消息和数据等,内核层发送事件的api: 1 /**2 * kobject_uevent_env - ...
- UVM中objection机制学习
文章目录 objection机制介绍 objection使用注意点 代码实例 objection机制介绍 在UVM中可以通过drop_objection来通知系统可以关闭验证平台,且在drop_obj ...
- UVM内callback机制的使用
callback机制提高平台的可重用性,其使得在用例里面可以加入一些新的特性,而不需要修改验证平台. call的使用可以分为以下几步: 1.定义一个callback基类,基类需要继承自uvm_call ...
最新文章
- 本地生活JAVA版本_赶集生活java版
- 继 承(面向对象特征之一)
- 更改一个视频文件夹下视频文件的文件名
- 万用表判断场效应管的好坏
- 设计原则 —— 针对接口编程而不针对实现编程
- 博客开园了~~~~~~
- 阿里云服务器windows系统上Nodejs监听80端口报错!
- Wavesequencer Hyperion for Mac(数字模块化合成器)
- 获取Nist的美国官方标准时间的解决办法
- java set region_Java Tile.setRegion方法代碼示例
- 苹果手机验真假_简单三步教你辨别苹果二手机,识别率高达99%,特别适合新手
- 笔记本输字母p出现仅计算机,电脑打不了字只有字母怎么办?最简单的解决方法...
- Redis从入门到入坟系列文章(一): keys 命令
- 五个受用一生的学习网站,高效免费,想提升自己能力的快来看看
- Revit二次开发——自动标注钢筋思路(3)
- 【MongoDB 快速上手】别找了,主流开源分布式系统存储系统三剑客:FastDFS、Minio、MongoDB零基础入门实战教程!
- 红帽linux怎么截图,Linux上使用Ksnip截图
- 【SQL Server】列转行 STUFF 函数
- g代码生成器 源代码_如何生成源代码?
- Web项目的页面跳转问题
热门文章
- 关于setInterval设置倒计时只执行一次,clearInterval停止
- day20---IO流概述
- linux日常笔记4
- 问题(二)--算法相关
- CS224d lecture 9札记
- java.io.StreamCorruptedException: invalid type code: AC错误的解决方法
- 智能指针(三):unique_ptr使用简介
- 制造业数据分析存在哪些问题
- 应对大数据分析的几个方法
- 如何从服务器上取pdf文件,如何从服务器响应创建pdf文件?