Hi folks,
Sorry for the dealy - here's my proposal for LRM changes for the
$fatal/$finish/$exit issues we discussed in the last meeting:
Section 8.7 Final Blocks - change this:
After one of the following conditions occur, all spawned processes are
terminated, all pending PLI callbacks are canceled, and then the final
block executes.
The event queue is empty
Execution of $finish
Termination of all program blocks, which executes an implicit $finish
PLI execution of tf_dofinish() or vpi_control(vpiFinish,...)
to this:
Final blocks execute when simulation ends due to an explicit or
implicit call to $finish.
Section 16.6.1 $exit() - *add* the bracketed text to the end of the
first paragraph (not including brackets)
Each program can be finished by calling the $exit system task. When
all programs exit, the simulation finishes[[ and an implicit call to
$finish is made]].
Section 17.2 Immediate Assertions, *remove* the bracketed text, since
it's described later in 23.8:
$fatal is a run-time fatal[[, which shall terminate the simulation
with an error code. The first argument passed to $fatal shall be
consistent with the argument to $finish]].
Section 23.8 Assertion severity system tasks (top of page 345), *add*
the bracketed text:
$fatal shall generate a run-time fatal assertion error, which
terminates the simulation with an error code. The first argument
passed to $fatal shall be consistent with the corresponding argument
to the Verilog $finish system task, which sets the level of
diagnostic information reported by the tool.[[ Calling $fatal results
in an implicit call to $finish.]]
Section 23.12 Program control, *add* the bracketed text:
In addition to the normal simulation control tasks ($stop and
$finish), a program can use the $exit control task. When all programs
exit, the simulation finishes[[ and an implicit call to $finish is
made]]. The usage of $exit is presented in Section 16.6 on program
blocks.
Received on Mon Mar 15 10:59:51 2004
This archive was generated by hypermail 2.1.8 : Mon Mar 15 2004 - 10:59:53 PST