A race condtion issue when we used uvm_reg_predictor to predict the mirrored value explicitly

In reply to caowangyang:

You shouldn’t rely on the execution order of connected imp ports as this is a UVM BCL implementation aspect (not documented, allowed to change, etc.). Why don’t you rather cascade your second component by connecting it to the register predictor?

Something like:


reg2jtag_predictor.reg_ap.connect(reg_state.jtag_reg_imp);

Naturally, you’ll have to change your reg_state component to work with register items instead of JTAG item. This way you’ll ensure that register updates are done before any other code gets executed.