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

From: Eduard Cerny <Eduard.Cerny_at_.....>
Date: Wed Dec 06 2006 - 14:51:09 PST
I guess that would change it to the behavior of a property in a cover
property. I think the sequence behavior should be maintained, perhaps
getting al;l threads may be of use in some cases. If you want only one
match, one solution is to put the sequence in a property, put cover
property on it and in the action block call the sample() method of the
covergroup.
ed


________________________________

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

	That is true. Taking leaf from Ed's mail regarding first_match,
	maybe it should be specified that if sequence is used as a event
	then the sequence expression will be implicitly wrapped with
	first_match. That will cause multiple event due to multiple
attempt
	but not multiple event due to same attempt.
	
	Tej
	
	-----Original Message-----
	From: Doron Bustan [mailto:dbustan@freescale.com]
	Sent: Wed 12/6/2006 1:33 PM
	To: Arturo Salz
	Cc: Singh, Tej; sv-ac@eda.org
	Subject: Re: [sv-ac] sequence as clocking event to covergroup
	
	Arturo, Tej,
	
	I am not against multi match.
	
	But is the number of matches  defined?
	For a sequence seq and an ending point j there could be many
definitions.
	
	The simplest is: |{i/w^{i..j}|== seq}|  meaning the number of
starting
	points
	i such that the computation that starts at i and ends at j,
satisfies seq.
	
	but that does not take into consideration the possibility that
an
	interval matches
	a sequence in more than on way (thread).
	
	For example for the sequence seq = ((c ##1 c) or (b ##1 b)) and
a
	computation
	where c and b hold at the first two cycles, should we count one
match or
	two?
	
	I don't think that the lrm defines that.
	
	Doron
	
	
	Arturo Salz wrote:
	
	> 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:51:16 2006

This archive was generated by hypermail 2.1.8 : Wed Dec 06 2006 - 14:52:23 PST