In reply to Michael54:
So as your coverage is collected from Sequences, that means yyour environment vertical reuse it broken. You cannot use your test env. in higher levels like top or integration level.
Is this the main reason why you want to collect covergae from monitor?
If there is other reason can you please explain.
Now about how to change.
I guess the interest points you cannot get from interface, hence the monitor is not able easily measure the coverage using only interface object. Is my assumption right?
So here you have following choices
1) implement all the logic in monitor using only interface object
2) do white-box covergae as you said. Than from monitor you need to use bind command and do binding the coverage collectors to RTL. This would take tons of time, but can work.
3) Ask RTL developer to generate some interface signals for you, where you can easily measure the coverage. Or you manually add your blocks in RTL to measure coverage.