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

From: Steven Sharp <sharp_at_.....>
Date: Thu Feb 16 2006 - 10:52:06 PST
>From: "Rich, Dave" <Dave_Rich@mentor.com>

>Now we have people asking about fork/join_none in a function, which
>would leave a thread around after the function has returned..

The fact that nonblocking assignments are not legal inside functions
could be interpreted as an intent not to allow functions to leave
subprocesses around as side effects.  This is supported by the
addition of procedural continuous assignments to the list of disallowed
statements in the 1364-2005 standard.

So an argument can be made that fork/join_none should not be allowed
either.

Note that fork/join_any is allowed to be executed in an order such
that no subprocesses would be left behind.  All of the subprocesses,
which contain no delays, could be executed before the parent resumes.
However, the parent could also be executed after the first subprocess
ends and before any of the other subprocesses are executed, leaving
the subprocesses around when the function returns.

For fork/join_none, the rule that the child processes cannot run until
the parent reaches a blocking statement ensures that they will always
be left around after the function has returned.

Steven Sharp
sharp@cadence.com
Received on Thu Feb 16 10:52:27 2006

This archive was generated by hypermail 2.1.8 : Thu Feb 16 2006 - 10:53:57 PST