Jump to content
jrefice

Remove knowledge of the pool from resources?

Recommended Posts

The UVM resources facility is extremely powerful, however it's hamstrung by the fact that resources are strictly tied to the resource pool.  This prevents them from being a generalized solution, and forces them into a very specific usage model which is riddled with performance concerns.

 

Looking at the resource classes:

 

uvm_resource_base:

  precedence

  default_precedence

  set_scope

  get_scope

  *match_scope

  *set_priority

 

uvm_resource#(T):

  set

  set_override

  *get_by_name

  *get_by_type

  *set_priority

  *get_highest_precedence

 

All of those methods and fields are strictly bound to the resource pool, and the '*' methods are just helpers which redirect to resource pool methods.  

 

If resources had no knowledge of the pool, then they become a simple storage structure which can be used as a basis for TLM GP Extensions, Report Message Elements, Configuration, etc., instead of the disparate solutions that the standard presents right now.

 

 

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

×