Re: [sv-ec] fork..join_none/join_any and automatic variables


Subject: Re: [sv-ec] fork..join_none/join_any and automatic variables
From: Steven Sharp (sharp@cadence.com)
Date: Wed May 21 2003 - 18:02:06 PDT


>The semantics of fork-join in a static environment are very well
>understood by customers and vendors, alike. The entire discussion/debate
>I intended to launch is limited to semantic quirks around forks in the
>presence of automatic variables and then whether SystemVerilog's
>introduction of a fork-join_none has any bearing on all this.

Perhaps we are going overboard with describing the rationale and
trying to convince you with it.

The bottom line is that in IEEE 1364-2001, a fork-join subprocess
inside a reentrant task or function does not allocate new copies of
any automatic variables in surrounding scopes. This is supported
reasonably well by the text of the standard, more definitely by the
knowledge of those who participated in the standardization (such as
Mac and myself), and officially by the resolution of erratum 281
by the ETF.

If SystemVerilog is supposed to be backward compatible with 1364-2001,
which I hear it is, then this applies to fork-join in automatic tasks
and functions in SystemVerilog also. If SystemVerilog is supposed to
be reasonably regular, which seems like a good idea, then this should
apply to explicitly declared automatic variables and the new kinds of
fork-join also.

Steven Sharp
sharp@cadence.com



This archive was generated by hypermail 2b28 : Wed May 21 2003 - 18:03:59 PDT