首页 > 其他分享 >2.2.2加入factory机制

2.2.2加入factory机制

时间:2024-05-16 11:30:31浏览次数:22  
标签:driver factory phase 2.2 机制 main my called

driver代码:


这里的factory机制被集成在了一个宏中:uvm_comphonent_utils。这个宏所做的事情非常多,其中之一就是将my_driver登记在UVM内部的一张表中,这张表是factory功能实现的基础。只要在定义一个新的类时使用这个宏,就相当于把这个类注册到了这个表中。
在给driver加入这个机制后,还需要对top_tb做一些改动:

这里用一个run_test语句替换了原本的my_driver实例化以及main_phase的显示调用。
输出如下语句:
new is called
main_phased is called

一个run_test语句会创建一个my_driver的实例,并且会自动调用my_driver的main_phase。(只有在类定义的时候声明了这个宏,才能使用这个功能)

但是上面的例子中只输出到"main_phase is called",并没有输出"data is drived",而按照预期应该输出256次,这个涉及到objection机制了

标签:driver,factory,phase,2.2,机制,main,my,called
From: https://www.cnblogs.com/tomako123/p/18195632

相关文章

  • Nacos2.2.0适配瀚高数据库,打镜像部署
    一、Nacos2.2.0适配瀚高数据库Nacos2.2.0适配瀚高数据库部分参考地址:https://blog.csdn.net/weixin_39676699/article/details/130642890application.properties配置文件中数据库部分配置如下:spring.sql.init.platform=highgodb.num=1db.url.0=jdbc:highgo://192.168.1.1:58......
  • 【java】【集合类】ArrayList扩容机制
    扩容规则1.ArrayList()无参构造扩容2.ArrayList(intinitialCapacity)扩容3.publicArrayList(Collection<?extendsE>c)扩容4.add(Objecto)扩容5.addAll(Collectionc)扩容要注意的是,以下所有代码中用反射方式来更直观地反映ArrayList的扩容特征,但从JDK9由于模......
  • 易基因: WGBS等揭示梨驯化和改良过程中DNA甲基化对果实成熟的作用机制 | 作物育种
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。梨(Pyrusssp.,蔷薇科杏仁核亚科)是世界上最重要的温带水果作物之一。与野生梨相比,栽培梨的果实在许多形态特征上表现出显著变化,包括果实大小、含糖量和核细胞含量。野生梨和栽培梨之间的比较分析可以深入了解关键表型变......
  • 谈谈 JVM 垃圾回收机制
    前言垃圾回收需要思考三件事情,哪些内存需要回收?什么时候回收?如何回收?一、哪些内存需要回收JVM的内存区域中,程序计数器、虚拟机栈和本地方法栈的生命周期是随线程而生,随线程而灭的。这几个区域的内存分配和回收都具有确定性,不需要过多考虑回收问题,当方法或线程结束时,内存自......
  • 2.2.1最简单的验证平台(单个driver)
    书中的DUT(待测设计)定义如下:这个DUT的功能非常简单,通过rxd接收数据,再通过txd发送出去,其中rx_dv是接收的数据有效指示,tx_en是发送数据的有效指示。本章中的所有例子都是基于这个DUT.验证平台中的所有组件都应该派生自UVM中的类。比如UVM验证平台中的driver应该派生自uvm_driver......
  • 《Linux内核完全注释》学习笔记:2.2 Linux中断机制
    在使用80x86组成的PC中,采用了两片8259A可编程中断控制芯片。每片可以管理8个中断源。通过多片的级联方式,能构成最多管理64个中断向量的系统。在PC/AT系列兼容机中,使用了两片8259A芯片,共可管理15级中断向量。其级联示意图见图2-5。其中从芯片的INT引脚连接到主芯片的IR2引......
  • 未能从程序集“Microsoft.Build.Tasks.vCurrent.dll”加载任务工厂“CodeTaskFactory
     遇到如下错误:未能从程序集“Microsoft.Build.Tasks.vCurrent.dll”加载任务工厂“CodeTaskFactory”。Couldnotloadfileorassembly'file:///G:\VS2022\IDE\MSBuild\Current\Bin\amd64\Microsoft.Build.Tasks.vCurrent.dll'oroneofitsdependencies.系统找不到指定......
  • [转帖]国产数据库中统计信息自动更新机制
    https://blog.csdn.net/solihawk/article/details/137064277数据库中统计信息描述的数据库中表和索引的大小数以及数据分布状况,统计信息的准确性对优化器选择执行计划时具有重要的参考意义。本文简要整理了下传统数据库和国产数据库中统计信息的自动更新机制,以加深了解。......
  • 垃圾回收机制
    垃圾回收机制【一】什么是垃圾回收机制垃圾回收机制(GC机制)是python自带的机制专门用来回收变量值所占的内存空间【二】在python中的垃圾#每次书写Python代码都会创建很多变量名和变量值#但是有很多变量名和变量值用过一次就不用了#--->被称之为垃圾--->不会主......
  • 【Quartz】SchedulerFactoryBean::setDataSource小记
    背景使用Quartz配置@ConfigurationpublicclassQuartzConfig{@BeanpublicSchedulerFactoryBeanschedulerFactoryBean(DataSourcedataSource){SchedulerFactoryBeanfactory=newSchedulerFactoryBean();factory.setDataSource(dataSourc......