宏是任何软件中不可或缺的组成部分,通用验证方法(UVM)库也不例外。在日常编程中应该尽可能地使用宏,以避免书写重复的代码,同时通过不同的宏可以区分不同的版本。
对于uvm中的宏`uvm_imp_decl,可以定义了特殊的imp端口,使一个组件能够实现一个TLM接口的多个实例化。例如,uvm_analysis_imp调用了组件的write 方法,多个这样的uvm_analsys_imps都将调用相同的write 方法。要解决这个问题,可以调用uvm_imp_decl宏来定义多个调用组件中不同方法的imp端口。
下面是示例代码
‘uvm_analysis_imp_decl(_exp)
‘uvm_analysis_imp_decl(_act)
class scorebd extends uvm_component;
uvm_analysis_imp_exp #(my_tr,scorebd) expect;
uvm_analysis_imp_act #(my_tr,scorebd) actual;
virtua