46 const ::sc_core::sc_spawn_options *opts)
49 bool dontInitialize =
false;
51 if (opts->_spawnMethod)
53 if (opts->_dontInitialize)
54 dontInitialize =
true;
55 if (opts->_stackSize != -1)
56 warn_once(
"Ignoring request to set stack size.\n");
75 for (
auto e: opts->_events)
78 for (
auto p: opts->_ports)
81 for (
auto e: opts->_exports)
84 for (
auto i: opts->_interfaces)
87 for (
auto f: opts->_finders)
90 for (
auto p: opts->_in_resets)
91 newReset(p.target, proc, p.sync, p.value);
93 for (
auto p: opts->_inout_resets)
94 newReset(p.target, proc, p.sync, p.value);
96 for (
auto p: opts->_out_resets)
97 newReset(p.target, proc, p.sync, p.value);
99 for (
auto i: opts->_if_resets)
100 newReset(i.target, proc, i.sync, i.value);
103 if (opts && opts->_dontInitialize &&
104 opts->_events.empty() && opts->_ports.empty() &&
105 opts->_exports.empty() && opts->_interfaces.empty() &&
106 opts->_finders.empty()) {
122 _spawnMethod(false), _dontInitialize(false), _stackSize(-1)
224 _if_resets.emplace_back(&iface, value,
false);
const char * name() const
std::vector< const sc_event * > _events
std::vector< sc_port_base * > _ports
std::vector< Reset< const sc_signal_in_if< bool > > > _if_resets
void set_sensitivity(const sc_event *)
std::vector< sc_interface * > _interfaces
std::vector< sc_export_base * > _exports
std::vector< Reset< const sc_out< bool > > > _out_resets
std::vector< Reset< const sc_inout< bool > > > _inout_resets
void async_reset_signal_is(const sc_in< bool > &, bool)
std::vector< sc_event_finder * > _finders
void reset_signal_is(const sc_in< bool > &, bool)
std::vector< Reset< const sc_in< bool > > > _in_resets
const char SC_ID_DISABLE_WILL_ORPHAN_PROCESS_[]
const char * sc_gen_unique_name(const char *seed)
void newStaticSensitivityInterface(Process *p, const sc_core::sc_interface *i)
void newStaticSensitivityFinder(Process *p, const sc_core::sc_event_finder *f)
void newStaticSensitivityEvent(Process *p, const sc_core::sc_event *e)
void newReset(const sc_core::sc_port_base *pb, Process *p, bool s, bool v)
void newStaticSensitivityPort(Process *p, const sc_core::sc_port_base *pb)
Process * spawnWork(ProcessFuncWrapper *func, const char *name, const ::sc_core::sc_spawn_options *opts)
void newStaticSensitivityExport(Process *p, const sc_core::sc_export_base *exp)
#define SC_REPORT_WARNING(msg_type, msg)
const std::string & name()