systemverilog验证学习笔记(4)
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 两者之间可以建立一个通道。
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




