etrounce Posted August 14, 2012 Report Share Posted August 14, 2012 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! ET Quote Link to comment Share on other sites More sharing options...
etrounce Posted August 15, 2012 Author Report Share Posted August 15, 2012 OK, never mind, for some reason I was thinking get_item() returned the extension argument but obviously it returns the uvm_reg_item which allows the uvm_reg_adapter to look up any information it needs. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.