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

From: Rich, Dave <Dave_Rich_at_.....>
Date: Thu Mar 23 2006 - 17:54:13 PST
Steve, (sending to you only)

The subject line of this thread is a bit misleading. The original issue
here is that we have seen examples of SystemVerilog code where task
calls have been made inside a function that has a fork/join_none.
Through Phil's posts, SNPS is claiming that this is the required
interpretation. They have never used the word 'enhancement'

Dave



> -----Original Message-----
> From: Steven Sharp [mailto:sharp@cadence.com]
> Sent: Thursday, March 23, 2006 4:38 PM
> To: sharp@cadence.com; sv-bc@eda.org; sv-ec@eda.org;
> shalom.bresticker@intel.com; Rich, Dave
> Subject: RE: [sv-bc] RE: Can a function contain a fork/join/any/none?
> 
> 
> >From: "Rich, Dave" <Dave_Rich@mentor.com>
> 
> >I don't think anyone can argue that the current LRM allows functions
to
> >call a task or contain blocking statements. The argument about
whether
> >fork/join**** is legal is moot without those constructs inside the
> >function.
> 
> Absolutely.  The LRM does not allow task calls or blocking statements
> inside functions, regardless of whether they are inside
fork...join_none.
> And without those, fork...join/join_any/join_none blocks are useless
in
> a function, so they might as well be illegal there.
> 
> 
> >This may very well be a desirable enhancement request, but it's much
> >more complex than just removing a few restrictions in the definition
of
> >functions.
> 
> I strongly agree.  Allowing task calls or blocking statements to
appear
> inside fork...join_none inside a function is not simple.  The fact
that
> this does not cause the function to block is not the only issue.
Other
> issues have been raised, and these would all have to be resolved
before
> this could be allowed.
> 
> Steven Sharp
> sharp@cadence.com
Received on Thu Mar 23 17:54:25 2006

This archive was generated by hypermail 2.1.8 : Thu Mar 23 2006 - 17:54:32 PST