diff options
Diffstat (limited to 'src/systemc/ext')
-rw-r--r-- | src/systemc/ext/core/_using.hh | 1 | ||||
-rw-r--r-- | src/systemc/ext/core/sc_module.hh | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/systemc/ext/core/_using.hh b/src/systemc/ext/core/_using.hh index 5f5a23af4..32cbd7028 100644 --- a/src/systemc/ext/core/_using.hh +++ b/src/systemc/ext/core/_using.hh @@ -87,6 +87,7 @@ using sc_core::SC_BIND_PROXY_NIL; using sc_core::sc_module; using sc_core::next_trigger; using sc_core::wait; +using sc_core::halt; using sc_core::sc_gen_unique_name; using sc_core::sc_behavior; using sc_core::sc_channel; diff --git a/src/systemc/ext/core/sc_module.hh b/src/systemc/ext/core/sc_module.hh index c83cf1d3b..931eb3a86 100644 --- a/src/systemc/ext/core/sc_module.hh +++ b/src/systemc/ext/core/sc_module.hh @@ -186,6 +186,8 @@ class sc_module : public sc_object void wait(const sc_time &, const sc_event_and_list &); void wait(double, sc_time_unit, const sc_event_and_list &); + void halt(); + virtual void before_end_of_elaboration() {} virtual void end_of_elaboration() {} virtual void start_of_simulation() {} @@ -236,6 +238,12 @@ void wait(double, sc_time_unit, const sc_event_and_list &); #define SC_THREAD(name) /* Implementation defined */ #define SC_CTHREAD(name, clk) /* Implementation defined */ +// Nonstandard +// Documentation for this is very scarce, but it looks like it's supposed to +// stop the currently executing cthread, or if a cthread isn't running report +// an error. +void halt(); + const char *sc_gen_unique_name(const char *); typedef sc_module sc_behavior; |