Can we bind a functional coverage to a particular module

I am starting to write functional coverage. My env is UVM based and looking at the coverage cookbook i understood that we can connect a coverage module to the monitor through the analysis ports. Here i would expect to get coverage only for that particular agent.
The module that i am verifying has various levels of hierarchy and i want to introduce functional coverage at various module levels. I also understand that we can bind functional coverage to the RTL module here.
If yes, can someone please help me how can i do the binding.

Thanks,
Sandip

Hi Sandip,

Binding is a general concept of SV through which you can tie any module (say assertions/coverage) to the DUT interface of your interest.

If your covergroup class is defined in a module, then you can bind the coverage module to the module/inst of interest in the design.

Let us say coverage module is cov, module to which coverage needs to be binded is top
Syntax is something like this:
bind top cov cov1(.*);

This can also be done on per instance basis(instead of module).
bind top.inst1 cov cov2(.*);

You may need to do the connections on the naming basis if required. Refer SV LRM to know more about binding.