Hi all, Today we are going to learn about special feature in UVM called "uvm coreservice". This is added in UVM 1.2. It is a common point to get access to all uvm central services. This services include uvm_factory, uvm_report_server etc.
Suppose if we want to override a particular component in base test using factory we need to get uvm_factory instance. Or if we want to customize the report function we need to get uvm_report server instance. These can be get easily in UVM-1.1 but in UVM 1.2 we dont have direct access to it. So here we need to use the singleton instance of uvm_coreservice to get instance of factory, report_server etc.
Now we will see how to make use of it.

As shown above, coreservice has static built-in method called get(). This is used to get the singleton instance of coreservice. Below shown is a way to get the coreservice handle into your test-bench environment.

So, by using coreservice handle we can get instance of factory as shown below.

Not only factory, we can also get report server and uvm_root as well. It is a one point access to all services in UVM.
That's all about uvm coreservice. Next time I will come up with one more new topic. Stay tuned..!
Suppose if we want to override a particular component in base test using factory we need to get uvm_factory instance. Or if we want to customize the report function we need to get uvm_report server instance. These can be get easily in UVM-1.1 but in UVM 1.2 we dont have direct access to it. So here we need to use the singleton instance of uvm_coreservice to get instance of factory, report_server etc.
Now we will see how to make use of it.
As shown above, coreservice has static built-in method called get(). This is used to get the singleton instance of coreservice. Below shown is a way to get the coreservice handle into your test-bench environment.
So, by using coreservice handle we can get instance of factory as shown below.
Not only factory, we can also get report server and uvm_root as well. It is a one point access to all services in UVM.
That's all about uvm coreservice. Next time I will come up with one more new topic. Stay tuned..!
Good to about the new concepts in UVM which creates interest to research about it. Thanks a lot Raghuraj.
ReplyDelete