achandra Posted July 9, 2012 Report Share Posted July 9, 2012 Hi, When i get an error response from the bus, i update the rw.status to UVM_NOT_OK. The do_bus_write task in uvm_reg_map properly displays that the status is registered as NOT_OK. However, final status returned from read/write seems to be always IS_OK. I checked the uvm_reg code and see that : if (system_map.get_auto_predict()) begin if (rw.status != UVM_NOT_OK) begin sample(value, -1, 0, rw.map); m_parent.XsampleX(map_info.offset, 0, rw.map); end do_predict(rw, UVM_PREDICT_WRITE); end And do_predict seems to be changing status to IS_OK always. I have enabled auto_predict using set_auto_predict(1). function void uvm_reg::do_predict(uvm_reg_item rw, uvm_predict_e kind = UVM_PREDICT_DIRECT, uvm_reg_byte_en_t be = -1); uvm_reg_data_t reg_value = rw.value; m_fname = rw.fname; m_lineno = rw.lineno; rw.status = UVM_IS_OK; Can someone suggest what is wrong here? Any suggestions ... Regards, Ashok 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.