Hi,
I want to trigger my coverage based upon some events.
Like when save_sig is true then I want to save signals and when cov_call is true want to trigger coverage .It works fine if save_sig is followed by cov_call sequence true.
But suppose save_sig comes to be true and then cov_call sequence doesn’t comes true as “sigc” signal is not rising but then again save_sig comes true followed by cov_call. In short if save_sig(first),save_sig(second),cov_call comes as true then I don’t want to save the signals for first save_sig but as there is unbounded delay in cov_call after save_sig becomes true so its makes coverage to be trigger even for save_sig(first) is not followed by cov_call true sequence. Is there any way, but I need to use $ delay also.
sequence save_sig
$rose(cond1);
endsequence :save_sig
sequence cov_call
save_sig ##[0:$] fell(sigb)##[0:] (!(sigb) throughout (##0:$); //after fall of sigb it should be low throughout till sigc doesn’t rise.
endsequence :cog_call
property cov_collection
logic ab;
logic cd;
@posedge(clk) (save_sig,
ab=design.x,
cd=design.y)
##0
(cov_call,cg_inst.sample(ab,cd))
endproperty