Jump to content
Sign in to follow this  
Anil Kumar

Address Map as submap to multiple address maps

Recommended Posts

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.

 

 

 

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×