Jump to content

Recommended Posts

Posted

UVM 1.2 manual  documents that uvm_reg_map can be added as sub-map to multiple address maps (captured as below),   

But in the implementation, it is just throwing error when same map is added to 2nd map as submap.

Is there any alternate solution recommended by UVM for this?

   // Cannot have more than one parent (currently)
   if (parent_map != null) begin
      `uvm_error("RegModel", {"Map '", child_map.get_full_name(),
                 "' is already a child of map '",
                 parent_map.get_full_name(),
                 "'. Cannot also be a child of map '",
                 get_full_name(),
                 "'"})
      return;
   end
 

Manual Statement :

An address map may be added to multiple address maps if it is accessible from multiple
physical interfaces
. An address map may only be added to an address map in the grandparent block of the address submap.

 

 

 

Posted

As an alternate solutions, 

we have developed methods which will create a duplicate uvm_reg_map for any given uvm_reg_map.

Another solution, is to extend IP reg block and create duplicate maps, size of this duplicate map will be controlled at higher levels and do a factory override.

Does, UVM recommend any solution for this?

Posted

Anil,

The UVM committee knows of this limitation but our workaround suggestion would be exactly what you are doing with creating duplicate maps.  A fix is on our to-do list.

Thanks for posting,

Mark

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.

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