Operations disallowed while paused

From: <john.aynsley@doulos.com>
Date: Tue Jan 11 2011 - 05:30:58 PST

All,

Philipp writes:

        5.5.2 sc_pause

        "It shall be an error to perform any of the following operations
while the simulation is paused:"

        For the callbacks, the LRM states that "the following constructs
shall not be used". While there is not a real difference, the current
wording for sc_pause implies that all cases are required to be detected
as an error by the implementation.

[JA] Good question. Which of these do we want to be errors? I agree that
not everything in the list is an error. Note that "error" => "shall not",
but not vice-versa.
Here are the candidates. Please comment for each item whether you think
the implementation should be obliged to report an error or whether it is
merely disallowed.

John A

a) The instantiation of objects of class sc_module, sc_port, sc_export, or
sc_prim_channel
b) Port binding
c) Export binding
d) Invocation of the macros SC_CTOR, SC_METHOD, SC_THREAD, SC_CTHREAD, or
SC_HAS_PROCESS
e) Use of the member sensitive of class sc_module to create static
sensitivity
f) Calls to the member functions dont_initialize, set_stack_size,
reset_signal_is or
async_reset_signal_is of the class sc_module
g) Calls to event finder functions
h) Calls to the process control member functions kill, reset, or throw_it
of class sc_process_handle
i) Calls to the member functions wait or next_trigger of classes sc_module
and sc_prim_channel or
to the non-member functions wait or next_trigger

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Jan 11 05:31:22 2011

This archive was generated by hypermail 2.1.8 : Tue Jan 11 2011 - 05:31:23 PST