RE: [sv-ec] RE: [sv-bc] Can a function contain a fork/join/any/none?

From: Warmke, Doug <doug_warmke_at_.....>
Date: Thu Feb 23 2006 - 16:30:15 PST
Dave,

I would like the answer to your question to be "yes".
And I think this should be specified in the LRM.

That way folks could count on using VDA's in packages
as a way of getting singleton initialization code
to run.

SV currently lacks a way to run singleton destruction
code based in packages.

See http://www.eda.org/svdb/bug_view_page.php?bug_id=0000878,
which expresses the possibility of allowing final blocks to
be declared in packages for this purpose.

I also thought of Francoise's refinement points, but she
beat me to the punch on those.

Regards,
Doug

 

> -----Original Message-----
> From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On 
> Behalf Of Rich, Dave
> Sent: Thursday, February 23, 2006 3:14 PM
> To: Steven Sharp; sv-ec@eda.org; sv-bc@eda.org; 
> Arturo.Salz@synopsys.com
> Subject: RE: [sv-ec] RE: [sv-bc] Can a function contain a 
> fork/join/any/none?
> 
> This raises the question "Does a package exist if no one imports it?"
> Having static space allocated by an unused package is not usually an
> issue, but if it creates threads, I can see that as being a problem. I
> vaguely remember this as the reason that modules and continuous
> assignments were not allowed in packages. 
> 
> > -----Original Message-----
> > From: owner-sv-bc@eda.org [mailto:owner-sv-bc@eda.org] On Behalf Of
> Steven
> > Sharp
> > Sent: Thursday, February 23, 2006 12:24 PM
> > To: sharp@cadence.com; sv-ec@eda.org; sv-bc@eda.org;
> > Arturo.Salz@synopsys.com
> > Subject: RE: [sv-ec] RE: [sv-bc] Can a function contain a
> > fork/join/any/none?
> > 
> > 
> > >[Arturo]
> > >My point is that all of these issues exist in other 
> contexts and the
> > >tools must be able to deal with them. By extension, these do not
> > >represent any fundamental or implementation problem.
> > 
> > But Dave has pointed out that this allows some things that are not
> > possible with functions triggering other processes, or with tasks.
> > In particular, it allows creating a thread whose parent is a
> > variable initialization.  This in turn means it has allowed root
> > threads to be created in a package, which could not happen before.
> > 
> > I don't know what specific problems Dave is concerned this 
> will cause.
> > 
> > Steven Sharp
> > sharp@cadence.com
> 
> 
> 
Received on Thu Feb 23 16:30:23 2006

This archive was generated by hypermail 2.1.8 : Thu Feb 23 2006 - 16:31:46 PST