前言:
UVM中提供的两大可重用性功能主要有工厂(factory)机制中的override与不改变原来测试环境结构的callback机制。今天主要来介绍callback机制具体如何使用。使用路科UVM0-lab3的实验代码。
1、使用callback机制前代码结构
测试用例都是在mcdf_pkg.sv中,在使用callback机制之前是利用继承来定义不同的测试用例:
2、使用callback机制后代码结构:
使用callback机制后,首先定义一个callback的基类与test的基类。具体的test测试用例继承与test的基类,具体的callback类继承与callback的基类,再将具体的callback类例化到具体的test测试用例中。
3、callback机制使用方法
1)定义callback基类
2)在测试用例基类中绑定callback类:
`uvm_register_cb(测试用例基类,callback基类)
3)在相应方法中插入宏
`uvm_do_callback(调用cb的类名,callback类,调用的函数/任务)
4)扩展uvm_callback与相应的test类
扩展cb_mcdf_base,定义具体的方法:
扩展test类,在test中调用、实例化cb_mcdf_data_consistence_basic。