[sv-bc] Errata: disable and join_any/join_none

From: Steven Sharp <sharp@cadence.com>
Date: Tue Aug 31 2004 - 17:58:32 PDT

I don't know whether this falls under BC or EC, since I believe the
join_any/join_none was added in 3.1, but replaced the process statement
that was present earlier.

From reading section 9.8.2 it is not clear to me how the new join_any/
join_none subprocesses interact with the old-style Verilog disables.

Does a disable of a block end dynamic subprocesses created inside the
block? What if the subprocess is not currently executing from a point
statically inside the block (e.g. it has called a task or executed the
block). What about descendents of a process created inside the block
that are not themselves statically inside the block (e.g. the block
called a task which spawned subprocesses)? The section states that a
disable fork statement terminates all descendents of a process it
terminates, but does not state whether an old-style disable will do so.
Some processes affected by an old-style disable get terminated while
others just exit the block. Does this affect what happens to their
descendents?

Steven Sharp
sharp@cadence.com
Received on Tue, 31 Aug 2004 20:58:32 -0400 (EDT)

This archive was generated by hypermail 2.1.8 : Tue Aug 31 2004 - 17:58:42 PDT