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