教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 建筑文档 >

systemverilog验证学习笔记(4)

来源:网络收集 时间:2026-03-30
导读: vUtopiaRx Rx; //发送的数据的接口 Drive_cbs cbs[$]; //回调队列 Int portid; Extern function new( Input Mailbox gen2drv, InputEvent drv2gen, Input vUtopiaRx Rx, Input Int portid; ) Extern task ru

vUtopiaRx Rx; //发送的数据的接口 Drive_cbs cbs[$]; //回调队列 Int portid;

Extern function new( Input Mailbox gen2drv, InputEvent drv2gen,

Input vUtopiaRx Rx, Input Int portid; )

Extern task run(); Extern task send(); Endclass:drive Task drive::run() UNI_cell cell; Bit drop=0; Rx.cbr.data<=0;

………. //初始化端口 Forever begin

Gen2drv.peek(); //从信箱中读取一个数据 //发送前回调 begin:tx Foreach(cbs[i]);

Cbs[i].pre_tx(this,cell,drop);

If (drop) disable tx; //不发送这个数据 End Send(cell); //发送后的回调 Foreach(cbs[i]);

Cbs[i].post_tx(this,cell,drop); End:tx

Gen2drv.get(cell); //删除数据 ->drv2gen; Endtask:run

Task drive::send(input UNI_cell cell) ……………….

Rx.cbr.data<=cell.data //数据发送给接口时钟块 @rx.cbr ……………………. Endtask

UVM

Factory机制

‘uvm_componet_utils(my_driver); Run_test(“my_driver”);

Factory集中在一个宏uvm_componet_utils中

这个宏将类my_driver登记在uvm内部一张表中,在定义一个新的类时使用这个宏,就相当于把这个类注册到了这张表中。

Run_test语句会创建一个my_driver实例,然后自动调用其中的main_phase.

‘uvm_object_utils(my_transaction);

My_transaction有生命周期,用‘uvm_object_utils实现factory机制。 而整个仿真中一直存在的用uvm_componet_utils注册

只有用uvm_componet才能成为uvm树的结点,而uvm_object不能。 为了使用factory机制的重载功能

验证平台的组件在实例化是都应该使用type_name::type_id::create My_driver div;

Virtual function void build_phase(uvm_phase phase); Super. build_phase(phase);

Drv=my_driver::type_id::create(“drv”,this) Endfuntion

实例化传递两个参数,一个名字,一个是是parent最为父结点,通

过parent 的形式建立了uvm的树形结构

env建立一个容器类,在这个容器类中实例化driver,monitor,reference model和scoreboard.

验证平台实时监测dut行为的组件monitor,收集端口数据转刷成transaction交给后续组件处理。

Objection

在每个phase中,uvm会见啥是否有objection被提起(raise_objection),如果有,那么等待这个objection被撤销(drop_objection)后停止仿真。如果没有,则马上结束当前phase。 Phase. raise_objection(this); Phase. drop_objection(this);

build_phase是自上而下执行,其他至下而上执行

driver像sequencer申请transaction uvm_driver 中成员变量seq_item_port uvm_suquencer中有成员变量seq_item_export 两者之间可以建立一个通道。

systemverilog验证学习笔记(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/438758.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)