uvm瀹炴垬-瀛︿範绗旇 - 鐧惧害鏂囧簱 联系客服

发布时间 : 星期日 文章uvm瀹炴垬-瀛︿範绗旇 - 鐧惧害鏂囧簱更新完毕开始阅读4f6326b027d3240c8447efe9

可以重载 uvm_sequence_item uvm_sequence uvm_component. 都是在case的build_phase中调,而且都是直接用factory的方法

第9章 UVM的代码重用 9.1 callback机制

只给callback机制做了笔记。

uvm的callback和vmm的差不多。 代码步骤如下:

1) 先实现一个uvm_callback的派生类A,以及A的virtual task/function 2) typedef uvm_callbacks#(my_driver,A) A_pool 注意s

3) 在my_driver中注册callback: `uvm_register_cb(my)driver,A) 4) my_driver中使用 `uvm_do_callbacks(my_driver,A,task()) 注意s 5) 从A派生出一个实际用到的类 my_callback , 实现task

6) 在case的connect_phase中实例化my_callback(假设是my_cb),并create它,然后

A_pool::add(my_driver的路径指针,my_cb) -------- 因为my_driver是在main_phase里调callback的,所以要在main_phase前面做这个工作

9.1.4章节示例代码: