tudor.timi Posted July 2, 2014 Report Share Posted July 2, 2014 In UVM_REG, what is the intended behavior when a write to a register triggers a bus error? I would expect that the mirrored value is not updated as long as I signal the bus error inside the bus2reg method of my reg_adapter. Here is a slightly modified excerpt from the user guide. virtual function void bus2reg(uvm_sequence_item bus_item, ref uvm_reg_bus_op rw); apb_rw apb; if (!$cast(apb,bus_item)) begin `uvm_fatal("NOT_APB_TYPE", "Provided bus_item is not of the correct type") return; end rw.kind = apb.kind ? UVM_READ : UVM_WRITE; rw.addr = apb.addr; rw.data = apb.data; rw.status = apb.error ? UVM_NOT_OK : UVM_IS_OK; endfunction I see that even in cases when the APB bus signals an error and I set the status in the rw as UVM_NOT_OK, the mirrored and the desired values of my registers get updated. Am I interpreting this UVM_NOT_OK thing wrong? Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.