RE: [sv-ec] RE: covergroup sample method

From: Rich, Dave <Dave_Rich_at_.....>
Date: Thu Oct 18 2007 - 15:24:15 PDT
It's at the end of 6.23 scope and lifetime.

Yes, there should a mention that a subroutine_call at the end of a
sequence match should be considered a procedural context. The BNF
already allows a method call. Same for the action block of a concurrent
assertion. Even though the LRM says you can put an assertion outside a
procedural context to make it a concurrent assertion, its action block
is still a procedural context.

-----Original Message-----
From: Michael Burns [mailto:michael.burns@freescale.com] 
Sent: Thursday, October 18, 2007 3:00 PM
To: Rich, Dave
Cc: john.havlicek@freescale.com; sv-ac@eda.org; sv-ec@eda.org
Subject: Re: [sv-ec] RE: covergroup sample method


This sounds like an inconsistency in the LRM; Dave, in what section is
this 
restriction? I will submit a Mantis for this.

If there are any concerns about lifting the restriction entirely,
another 
approach would be to specify that the attached subroutine call to an
assertion 
counts as a procedural context, albeit a tiny and highly restricted one.
Note 
that the LRM also says that tasks are called from procedural blocks
(13.5), so 
the inconsistency may extend beyond object handle dereferences.

--Mike

Rich, Dave wrote:
> There is a current LRM restriction that limits class handle references
> (de-reference actually) to procedural context. The restriction is
> primarily to prevent class handle dereferences before the class has
been
> constructed at time 0.
> 
> I would be in favor of lifting this restriction and leaving it to the
> user since these kinds of error are easy to detect and fix.
> 
> Dave
> 
> -----Original Message-----
> From: John Havlicek [mailto:john.havlicek@freescale.com] 
> Sent: Wednesday, October 17, 2007 10:08 AM
> To: Rich, Dave
> Cc: sv-ac@eda.org; sv-ec@eda.org
> Subject: covergroup sample method
> 
> Hi Dave:
> 
> Why would it not be legal to call a covergroup sample method from a
> sequence or property?
> 
> We have
> 
>    16.10 Calling subroutines on match of a sequence
> 
>    Tasks, task methods, void functions, void function methods, and
>    system tasks can be called at the end of a successful non-empty
>    match of a sequence. The subroutine calls, like local variable
>    assignments, appear in the comma-separated list that follows the
>    sequence. The subroutine calls are said to be attached to the
>    sequence. It shall be an error to attach a subroutine call or any
>    sequence_match_item to a sequence that admits an empty match. The
>    sequence and the list that follows are enclosed in parentheses.
> 
> 
> I thought that the covergroup sample method would count as a
> void function method.  Am I being naive?
> 
> J.H.
> 
>> I don't think you would be allowed to call a covergroup sample method
>> from a sequence or property.  You could call a function that copies
> the
>> local variable and does the sample for you.
>>
>>> -----Original Message-----
>>> From: owner-sv-ec@server.eda.org [mailto:owner-sv-ec@server.eda.org]
>>> On Behalf Of Michael Burns
>>> Sent: Friday, October 12, 2007 4:39 PM
>>> To: Scott, David
>>> Cc: SV-EC
>>> Subject: Re: [sv-ec] covergroup sample method
>>>
>>>
>>> The problem is that we want to trigger coverage from within
> assertions
>>> using
>>> data in assertion local variables. I don't believe we are allowed to
>>> declare
>>> covergroups within assertions.
>>>
>>> --Mike
> 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Oct 18 15:24:38 2007

This archive was generated by hypermail 2.1.8 : Thu Oct 18 2007 - 15:24:53 PDT