Re: [sv-ac] Feedback request

From: Ben Cohen <hdlcohen@gmail.com>
Date: Sun Nov 30 2014 - 10:59:54 PST
See embedded comments

On Sun, Nov 30, 2014 at 9:20 AM, Rich, Dave <Dave_Rich@mentor.com> wrote:

>  Persistence of the class containing the concurrent assertion is only the
> tip of the iceberg.
>
>
>
> There’s also the persistence of the objects being referenced by the
> assertion, along with their sampling semantics. An assertion inside a class
> is likely going to want to have properties that reference transaction class
> objects that may not exist at the time the assertion begins its initial
> attempt.
>
​​[Ben] If a class object is null, the assertion should be vacuous.

>
>
> Functional coverage of embedded concurrent assertions is another issue
> that closely resembles an embedded covergroup in a class. Do you collect
> statistics merged as a single class type (any non-vacuous pass in a single
> class instance means the assertion passes), or do you treat all class
> instances independently (All instances of a class type must have
> non-vacuous passes to consider the assertion passing)?
>
​[Ben] Can they be treated in a manner similar to concurrent assertions in
a module that is instantiated multiple times?  Thus, each instance of a
class will maintain its own statistics on the assertions and coverage. This
is necessary anyway since separate instances of a class type may have
different interfaces (e.g., driver1.vif maybe connected to if1, and ​

​
 driver
​2​
.vif maybe connected to if
​2; driver1 and driver2 are instances of driver class type).
​

>
>
> And then there are procedural concurrent assertions in classes.
>
​[Ben] Can those be treated in the same manner we treat procedural
concurrent assertions in always blocks? ​


>
>
> I’m bring all this up not to say that it can’t be done, but that it is a
> major project that practically needs a separate group to deal with all the
> interactions between the different concepts.
>
​[Ben] Agree.  However, the user community seems to want this feature of
adding assertions in classes. ​


>
>
> Dave
>
>
>
>
>
> *From:* owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] *On Behalf Of *Ben
> Cohen
> *Sent:* Friday, November 28, 2014 7:37 PM
> *To:* Arturo Salz
> *Cc:* Korchemny, Dmitry; sv-ac@eda.org
> *Subject:* Re: [sv-ac] Feedback request
>
>
>
> [*Arturo*] ... class containing concurrent assertions will likely become
> persistent
>
> [*Ben*] From a user point of view, I would like to see a solution that is
> relatively easy to implement so that vendor support this class feature
> expediently.
>
> In UVM, VMM, or even typical non-library based approach, once a class
> instance is created (i.e., with the *new* or UVM *create*) they tend to
> be persistent and are never nulled.  These classes include the driver,
> monitor, scoreboard, environment, agent).
>
> Thus, if adoption of this proposal can  be simplified by putting some
> restrictions on the lifetime of created class instance, I am all for it.
> Those of you who understand implementation can provide some useful insights
> as to what is needed.
>
> Ben
>
>
>
> On Fri, Nov 28, 2014 at 7:02 PM, Arturo Salz <Arturo.Salz@synopsys.com>
> wrote:
>
> I’d like to provide some feedback on:
>
>   5068: concurrent assertions in classes
>
>
>
> This enhancement seems like a good addition to the language, however, it
> introduces a difficulty regarding reclamation of classes. Since concurrent
> assertions do not have a lifetime, a class containing concurrent assertions
> will likely become persistent. This may be OK for certain uses, but I
> wanted to point that out. Either the rules for assertion lifetime are
> enhanced (e.e., allow users to destroy an assertion) or else document the
> potential memory leak in the LRM.
>
>
>
>                 Arturo
>
>
> --
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
> believed to be clean.
>
>
>
>
> --
> This message has been scanned for viruses and
> dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
> believed to be clean.
>

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Sun Nov 30 11:00:45 2014

This archive was generated by hypermail 2.1.8 : Sun Nov 30 2014 - 11:00:50 PST