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

From: Singh, Tej <tej_singh_at_.....>
Date: Wed Dec 06 2006 - 14:11:52 PST
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:15:19 2006

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