Jump to content

UVM RGM - bytes per address location issue

Recommended Posts

UVM_RGM reference manual lists that only one byte per address location is supported currently. Is there any workaround for this?

I have 2 bytes of data per address. Each register address locations is offset by one. Currently sizing the registers as follows:

class spi_regs_TX16_VI_PreEmp_type extends uvm_rgm_sized_register #(16);

Addressing mode is set to LOGICAL but getting warnings when I run compare_and_update_bv or update_bv on the registers.

UVM_WARNING @ 26850000000: spi.regs.TX16_VI_PreEmp [uVMRGM] Attempted to access 2 bytes starting at offset d720 : only ffff28e2 bytes available

Is this a limitation of UVM_RGM?


Link to comment
Share on other sites

The error message suggests that the arguments to update_bv are not correct. The "offset" is relative so it's trying to access byte d720 within the register. The remaining bytes is negative as well (perhaps your register model failed to do bounds checking on the lookup?).

Link to comment
Share on other sites

The register model looks almost identical to the one provided with uvm_rgm examples, aside from having 2 bytes per register and register offset differences as mentioned above.

I do see the following note in the reference manual for uvm_rgm, but just wanted to see if there was a workaround for this:


Set the number of bytes that each address location contains. The default is one byte

(and only supported size currently).

Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...