Jump to content

passing info to RAL driver (or what's the point of uvm_reg_adapter)

Recommended Posts

Hi all,

I did a quick scan and didn't find an answer so hopefully someone can help here. I've got a UVM RAL connected in the usual way to a uvm_driver using a uvm_reg_adapter. I'm trying to figure out a way to pass an attribute stored in a uvm_reg object to the uvm_driver and it seems to me the uvm_reg_adapter should serve this purpose, however as far as I can tell the uvm_reg_adapter has no visibility into the transaction other than what's contained in the uvm_reg_bus_op. I see how the read()/write() extension argument along with get_item can be used here so that's my preferred solution so far, however I was wondering if there's another, simpler solution I'm not seeing.

To be slightly more specific, the uvm_driver can access multiple access ports internally and which port to use is determined by which block a register belongs to. The assignment of register block to port isn't done sequentially by address, so it's something I need to store and maintain with the register (or reg_block, really). Segregating them by register maps is also not possible unfortunately.

I appreciate any thoughts or suggestions!


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...