How to access a DUT signal from a UVM test case class?

In reply to Maya Sasidharan:

Where do you have your covergroups implemented? In the sequence?
My practical experience shows this is not a good place having functional coverage there.
Because a sequence is a transient object which will be generated at a certain time and disappears after completion. You should implement your covergroups and crosses in a UVM component. Thsi is stable at least for a certain test and belongs to the verification environment. From there you can call $get_coverage easily.