首先创建register model ral_model_h;
可以使用下面的方式来读写寄存器:
uvm_reg temp_reg;
uvm_status_e status;
$cast(temp_reg, ral_model_h.get_reg_by_name("REG_NAME"));
temp_reg.write(status, write_data);
temp_reg.read(status,read_data);
还可以对寄存器的各比特进行设置:
uvm_reg_field temp_field_h;
temp_field_h=temp_reg.get_field_by_name("FIELD_NAME");
temp_field_h.set(write_value);
tempreg.update(status);
temp_field_h.read(status, read_data);
需要注意的是,需要事先调用ral_model_h.reset(),否则寄存器比特位可能不对。