UVM中的class--2
1)uvm_component从uvm_report_object继承而来,提供的功能包括:
1)Hierarchy,-----searching and traversing component hierachy

2)Phasing-----调用uvm_phase以及预先定义的很多phase


3)config-------调用config_db的methods

4)report-------调用uvm_report的methods

5)Factory-----调用factory的methods

6)Transaction recording-----调用recording的methods
Callbacks Classes用来做registration/user-defined的callback
uvm_callbacks,实现callback的注册,
uvm_callback,自定义callback的基类。
2)uvm_callbacks#(T,CB),T表示基本的object类型,CB表示定义的callback,完成注册。
3)uvm_callback------------function callback_mode(Enable/disable callbacks)像constraint mode
is_enabled(返回callback的enable/disable)
4)uvm_test,用户自定义的test的虚基类,run_test必须放在initial内部。
virtual class uvm_test extends uvm_component
并没有很多新的variable和methods
5)uvm_env,hierarchy上的container,包含其他的component,来组成和一个整体。
virtual class uvm_test extends uvm_component
并没有很多新的variable和methods
6)uvm_agent, virtual class uvm_agent extends uvm_component
新加一个virtual function get_is_active(),返回1表示UVM_ACTIVE,返回零表示UVM_PASSIVE
7)uvm_monitor, virtual class uvm_monitor extends uvm_component
并没有很多新的variable和methods
8)uvm_scoreboard, virtual class uvm_scoreboard extends uvm_component
并没有很多新的variable和methods
9)uvm_driver, virtual class uvm_driver extends uvm_component
uvm_driver #(REQ, RSP)
新增的port,seq_item_port(request items from sequencer)
rsp_port(sending responses)
10)uvm_subscriber, virtual class uvm_subscriber extends uvm_component
uvm_subscriber #(T)
新增的port,analysis port(提供给write函数)
新增的methods,write(pure virtual class)
11)Comparators,应用在transaction的比较,从DUT出来的和expected results
uvm_in_order_comparator #(T,comp_type,convert,pair_type)
新增的port,before_export:一个transaction从这个port写入
after_export:另一个transaction从这个port写入
pair_ap:comparator输出transaction从这个analysis port
新增的methods(virtual function):set m_matches和m_mismatches为零。
12)uvm_sequence_item:用户自定义transaction的基类,从uvm_transaction继承来
virtual function---set_sequencer()
function---get_sequencer()/uvm_report_info/warning/error/fatal
virtual task---start_item()/finish_item()/
13)uvm_sequence_base:
class uvm_phase starting_phase
virtual task---start()/pre_body()/pre_do()/mid_do()/body()/post_do()/start_item/finish_item/wait_for_grant
task----lock()/grab()/
function---set_priority()/unlock()/ungrab()/
14)uvm_sequence(virtual) #(uvm_sequence_item, REQ)
function---send_request(uvm_sequence_item req)/
virtual task---get_response(RSP)
15)uvm_sequencer_base,从uvm_component继承而来,

16)uvm_sequencer_param_base #(REQ= uvm_sequence_item, RSP)
17)uvm_sequencer #(REQ = uvm_sequence_item, RSP)
新增port:seq_item_export
18)uvm_push_sequencer #(REQ = uvm_sequence_item, RSP)
新增port:req_port
UVM中的class--2的更多相关文章
- UVM中的class
UVM中的类包括:基类(base)------------uvm_void/uvm_object/uvm_transaction/uvm_root/uvm_phase/uvm_port_base 报告 ...
- UVM中的sequence使用(一)
UVM中Driver,transaction,sequence,sequencer之间的关系. UVM将原来在Driver中的数据定义部分,单独拿出来成为Transaction,主要完成数据的rand ...
- UVM中的regmodel建模(三)
总结一下UVM中的寄存器访问实现: 后门访问通过add_hdl_path命令来添加寄存器路径,并扩展uvm_reg_backdoor基类,定义read与write函数,最后在uvm_reg_block ...
- UVM中的regmodel建模(一)
UVM中的regmodel继承自VMM的RAL(Register Abstract Layer),现在可以先将寄存器模型进行XML建模,再通过Synopsys 家的工具ralgen来直接生成regmo ...
- UVM中factory机制的使用
UVM中的factory机制一般用在sequence的重载,尤其是virtual sequence.当Test_case变化时,通过virtual sequence的重载,可以很容易构建新的测试. 因 ...
- UVM中的factory机制实现
首先在Systemverilog中便有对于重载的最基本的支持. 1)定义task/function时,使用virtual关键字.那之后在test_case中调用时,便使用句柄指向的对象的类型而不是句柄 ...
- uvm_hdl——DPI在UVM中的实现(四)
我们可以在uvm中实现HDL的后门访问,具体包括的function有uvm_hdl_check_path,uvm_hdl_deposit, uvm_hdl_force,uvm_hdl_release, ...
- UVM中的driver组件
一般UVM环境中的Driver组件,派生自uvm_driver. uvm_dirver派生自uvm_component. class uvm_driver #(type REQ = uvm_sequ ...
- UVM中的regmodel建模(二)
UVM的寄存器模型,对一个寄存器bit中有两种数值,mirror值,尽可能的反映DUT中寄存器的值.expected值,尽可能的反映用户期望的值. 几种常用的操作: read/write:可以前门访问 ...
- UVM中Callback机制
Callback机制,其实是使用OOP来实现的一种程序开发者向程序使用者提供的模块内部的接口.可以在Test_case的高度改变其他component的一些行为. Systemverilog中已经提供 ...
随机推荐
- FPGA的典型应用领域
本文关键字:fpga应用,fpga应用领域, fpga培训,FPGA应用开发入门与典型实例 一.数据采集和接口逻辑领域 1.FPGA在数据采集领域的应用 由于自然界的信号大部分是模拟信号,因此一般的信 ...
- Java生成动态GIF图片
写selenium自动化时,为了查看运行效果,后给浏览器截图,想到可以生成gif图片来快速预览.看到已经有人实现了,直接拿过来. 共涉及到三个java文件,分别是NeuQuant.java,LZWEn ...
- Objective-c的内存管理MRC与ARC
Objective-c的内存管理MRC与ARC Objective-c中提供了两种内存管理机制MRC(MannulReference Counting)和ARC(Automatic Referen ...
- 类库,委托,is和as运算符,泛型集合
类库:其实就是一堆类文件,只不过用户看不到这些类的源代码,保密性好. 优点:保密性好缺点:如果这个方法不好用,使用者无法自己去更改它. 类文件是.cs 类库是.dll 新建项目为类库,在debu ...
- php 将查询出的数组数据存入redis
我们从数据库查询出来的数据一般为数组的形式, 而redis是不支持存入数组的, 一种解决办法是将数组转化为json数据,再将json存入redis,之后取出时再将json转化为php数组. 但将取出的 ...
- Week1 学长的经验教训
我手头拿到的是上一届学长的软件工程大作业,作业的名称是——汽车4S店信息管理系统. 这个大作业我认为还是非常典型的传统模式的大作业,由手机端(客户端)和服务端组成,非常的传统. ...
- 获取到body的offsetTop和offsetLeft值
function offsetTL(obj){//获取到body的offsetTop和offsetLeft var t=0,l=0; while(obj){ t=t+obj.offsetTop; l= ...
- 定位position
position : absolute | relative | fixed | static 定位:子集可以超出父级的范围,如父级蛇overflow:hidden则看不到. absolute : 绝 ...
- Next
https://code.google.com/p/ik-analyzer/downloads/list IK Analyzer
- win10如何让她闭嘴、按什麽建系统都要说话、如何让她闭嘴?
win10如何让她闭嘴.按什麽建系统都要说话.如何让她闭嘴? 开始 设置 轻松使用 讲述人,关掉……