在UVC中使用RAL中的register请使用如下方式:
xxx_ral.i_xxx_reg.i_fld_xxx.value(引用到uvm_reg_field级的value)
上述方式的使用是为了从local env向更高层次的whole path env的UVC的垂直复用
在local env中我们只有RAL来下register,所以可以选择两种方式来更新ral中vaule/desired value/mirrored value
第一种:自动predict
rm.default_map.set_auto_predict(1);
uvm_reg 源代码:
第二种:
加入rbus_mon和reg_predictor来主动获取rbus bus上的讯息(具体用法见UVM实战chapter7.7.1)
uvm_reg_predictor 源代码:
在whole path env中我们是用
cpu(注意此时并不会用RAL)来下IP的register,我们需要在UVM env中加入rbus_mon和reg_predictor来主动获取rbus bus上的讯息,并更新RAL,rbus_agent只是当monitor使用,如图: