RE: [sv-ac] sequence as clocking event to covergroup

From: Singh, Tej <tej_singh_at_.....>
Date: Wed Dec 06 2006 - 14:07:06 PST
first_match will only prune out threads from the same attempt.
Multiple attempts matching at the same clock should still
cause multiple covergroup sampling.

Even 'req ##1 ack[->1]' can have multiple attempts matching
at the same clock.

Tej


-----Original Message-----
From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com]
Sent: Wed 12/6/2006 1:56 PM
To: Arturo Salz; Singh, Tej; sv-ac@eda.org
Subject: RE: [sv-ac] sequence as clocking event to covergroup
 
Also, by applying first_match to the sequence expression or writing it
so that the sequence is deterministic. e.g., req ##1 ack[->1];
ed
 


________________________________

	From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf
Of Arturo Salz
	Sent: Wednesday, December 06, 2006 3:58 PM
	To: Singh, Tej; sv-ac@eda.org
	Subject: RE: [sv-ac] sequence as clocking event to covergroup
	
	

	Tej,

	 

	I agree with your proposal. A sequence should trigger as many
coverage sample events as sequence thread matches.

	Users have the ability to override the over-sampling by setting
the strobe property of the corresponding covergroup.

	 

	            Arturo

	 

	
________________________________


	From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf
Of Singh, Tej
	Sent: Wednesday, December 06, 2006 11:36 AM
	To: sv-ac@eda.org
	Subject: [sv-ac] sequence as clocking event to covergroup

	 

	Hi All,

	 

	I need guidance on use of sequence event as clocking event in
covergroup.

	Please consider this example

	 

	sequence seq;

	    @(posedge clk)

	    req ##[1:$] ack;

	endsequence

	 

	covergroup cg @(seq);

	    coverpoint addr {

	        bins a [] = {[0:7]};

	        bins b [] = {[8:15]};

	    }

	endgroup

	 

	Because of the way 'seq' is written, multiple temporal threads
can match at a clock edge.

	The question is, should each thread match generate a event i.e.
should covergroup 'cg'

	be called to sample for every thread match. Or there should be
only one sequence event

	at a clock edge.

	 

	The question is pertinent only when sequence is used as a
clocking event to covergroup,

	since for covergroup the LRM says that if the clocking event
occurs multiple times in a 

	timestep, the covergroup will also be sampled multiple times. 

	 

	I think it should generate multiple events since if there is a
cover on the same sequence,

	as per LRM, each match will cause the action block to execute.
But LRM does not

	talk about sequence event.

	 

	Thanks

	Tej

	 

	 

	 

	 
Received on Wed Dec 6 14:11:53 2006

This archive was generated by hypermail 2.1.8 : Wed Dec 06 2006 - 14:12:50 PST