EVENT TRIGGER sequence coverage

How can we get the event trigger coverage ?

Ex: From the design point of view the following sequence should happen.
A (A.trigger())=> B(B.trigger()) => C(C.trigger()) => D(D.trigger()) feature one.
B => E => C => D => feature two.
Like this i have few sequences, In the functional coverage i have to check whether that sequence happen properly or not ?

Through UVM eventpool i am getting the trigger information in coverage file.
I have written the cover points like this.
cover group
new_cp: coverpoint (A.wait_trigger() => B.wait_trigger() => C.wait_trigger() => D.wait_trigger()) { bins hit = {1};}
endgroup

With this i am getting irun compile errors: expecting a right parenthesis (‘)’)

This the correct way writing cover points for triggered events ?
Can someone help me to get ride of this situation.

In reply to Mallikarjun79:

The transition coverpoint can’t accept task (wait_trigger in this case) and hence this error. Few choices:

  1. Use SVA - much easier for this - assuming you have those signals/events/sequences in RTL/interface simply write a cover property around them.

  2. Use uvm_event_callback::post_trigger and register that CB with your uvm_events - inside the CB, toggle a bit and use it as your transition value.

Regards
Srini
www.verifworks.com