verification 提取差异点
提取出差异点
传统用例
项目A锁定的寄存器是regA,项目B的锁定功能的寄存器是regB,如果项目A用例中直接用
reg_model.regA.write();
reg_model.regA.read();
的方式来读写的话,在项目B中需要将这些地方都修改掉。
改进用例
如果项目A中识别掉这个变化点,将这些变化点封装成一个函数,编写如下函数
function uvm_reg get_lockReg();
return reg_model.regA;
endfunction
在lock寄存器读写之前想获取一下寄存器
uvm_reg lock = get_lockReg();
lock.read();
lock.write();
这种方式来调用,那么在项目B中,只需要修改get_lockReg()这个函数,提高了用例的重用度。
function uvm_reg get_lockReg();
return reg_model.regB;
endfunction
2020.9.16