| /* |
| * Copyright 2018 Google, Inc. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions are |
| * met: redistributions of source code must retain the above copyright |
| * notice, this list of conditions and the following disclaimer; |
| * redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution; |
| * neither the name of the copyright holders nor the names of its |
| * contributors may be used to endorse or promote products derived from |
| * this software without specific prior written permission. |
| * |
| * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
| * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
| * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
| * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
| * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
| * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| * |
| * Authors: Gabe Black |
| */ |
| |
| #include <memory> |
| #include <vector> |
| |
| #include "base/logging.hh" |
| #include "systemc/ext/core/sc_module.hh" |
| |
| namespace sc_core |
| { |
| |
| sc_bind_proxy::sc_bind_proxy(const sc_interface &interface) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| sc_bind_proxy::sc_bind_proxy(const sc_port_base &port) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| const sc_bind_proxy SC_BIND_PROXY_NUL(*(const sc_port_base *)nullptr); |
| |
| sc_module::~sc_module() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| const char * |
| sc_module::kind() const |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| return ""; |
| } |
| |
| const sc_bind_proxy SC_BIND_PROXY_NIL(*(const sc_port_base *)nullptr); |
| |
| void |
| sc_module::operator () (const sc_bind_proxy &p001, |
| const sc_bind_proxy &p002, |
| const sc_bind_proxy &p003, |
| const sc_bind_proxy &p004, |
| const sc_bind_proxy &p005, |
| const sc_bind_proxy &p006, |
| const sc_bind_proxy &p007, |
| const sc_bind_proxy &p008, |
| const sc_bind_proxy &p009, |
| const sc_bind_proxy &p010, |
| const sc_bind_proxy &p011, |
| const sc_bind_proxy &p012, |
| const sc_bind_proxy &p013, |
| const sc_bind_proxy &p014, |
| const sc_bind_proxy &p015, |
| const sc_bind_proxy &p016, |
| const sc_bind_proxy &p017, |
| const sc_bind_proxy &p018, |
| const sc_bind_proxy &p019, |
| const sc_bind_proxy &p020, |
| const sc_bind_proxy &p021, |
| const sc_bind_proxy &p022, |
| const sc_bind_proxy &p023, |
| const sc_bind_proxy &p024, |
| const sc_bind_proxy &p025, |
| const sc_bind_proxy &p026, |
| const sc_bind_proxy &p027, |
| const sc_bind_proxy &p028, |
| const sc_bind_proxy &p029, |
| const sc_bind_proxy &p030, |
| const sc_bind_proxy &p031, |
| const sc_bind_proxy &p032, |
| const sc_bind_proxy &p033, |
| const sc_bind_proxy &p034, |
| const sc_bind_proxy &p035, |
| const sc_bind_proxy &p036, |
| const sc_bind_proxy &p037, |
| const sc_bind_proxy &p038, |
| const sc_bind_proxy &p039, |
| const sc_bind_proxy &p040, |
| const sc_bind_proxy &p041, |
| const sc_bind_proxy &p042, |
| const sc_bind_proxy &p043, |
| const sc_bind_proxy &p044, |
| const sc_bind_proxy &p045, |
| const sc_bind_proxy &p046, |
| const sc_bind_proxy &p047, |
| const sc_bind_proxy &p048, |
| const sc_bind_proxy &p049, |
| const sc_bind_proxy &p050, |
| const sc_bind_proxy &p051, |
| const sc_bind_proxy &p052, |
| const sc_bind_proxy &p053, |
| const sc_bind_proxy &p054, |
| const sc_bind_proxy &p055, |
| const sc_bind_proxy &p056, |
| const sc_bind_proxy &p057, |
| const sc_bind_proxy &p058, |
| const sc_bind_proxy &p059, |
| const sc_bind_proxy &p060, |
| const sc_bind_proxy &p061, |
| const sc_bind_proxy &p062, |
| const sc_bind_proxy &p063, |
| const sc_bind_proxy &p064) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| const std::vector<sc_object *> & |
| sc_module::get_child_objects() const |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| return *(const std::vector<sc_object *> *)nullptr; |
| } |
| |
| const std::vector<sc_event *> & |
| sc_module::get_child_events() const |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| return *(const std::vector<sc_event *> *)nullptr; |
| } |
| |
| sc_module::sc_module(const sc_module_name &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| sc_module::sc_module() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| sc_module::sc_module(const char *) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| sc_module::sc_module(const std::string &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::reset_signal_is(const sc_in<bool> &, bool) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::reset_signal_is(const sc_inout<bool> &, bool) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::reset_signal_is(const sc_out<bool> &, bool) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::reset_signal_is(const sc_signal_in_if<bool> &, bool) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| |
| void |
| sc_module::async_reset_signal_is(const sc_in<bool> &, bool) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::async_reset_signal_is(const sc_inout<bool> &, bool) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::async_reset_signal_is(const sc_out<bool> &, bool) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::async_reset_signal_is(const sc_signal_in_if<bool> &, bool) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| |
| void |
| sc_module::dont_initialize() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::set_stack_size(size_t) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| |
| void |
| sc_module::next_trigger() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(const sc_time &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(double, sc_time_unit) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(const sc_time &, const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(double, sc_time_unit, const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(const sc_time &, const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(double, sc_time_unit, const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(const sc_time &, const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::next_trigger(double, sc_time_unit, const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| |
| bool |
| sc_module::timed_out() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| return false; |
| } |
| |
| |
| void |
| sc_module::wait() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(int) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(const sc_time &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(double, sc_time_unit) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(const sc_time &, const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(double, sc_time_unit, const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(const sc_time &, const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(double, sc_time_unit, const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(const sc_time &, const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::wait(double, sc_time_unit, const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| |
| void |
| sc_module::halt() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::at_posedge(const sc_signal_in_if<bool> &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::at_posedge(const sc_signal_in_if<sc_dt::sc_logic> &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::at_negedge(const sc_signal_in_if<bool> &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| sc_module::at_negedge(const sc_signal_in_if<sc_dt::sc_logic> &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| |
| void |
| next_trigger() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(const sc_time &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(double, sc_time_unit) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(const sc_time &, const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(double, sc_time_unit, const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(const sc_time &, const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(double, sc_time_unit, const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(const sc_time &, const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| next_trigger(double, sc_time_unit, const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| bool |
| timed_out() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| return false; |
| } |
| |
| |
| void |
| wait() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(int) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(const sc_time &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(double, sc_time_unit) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(const sc_time &, const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(double, sc_time_unit, const sc_event &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(const sc_time &, const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(double, sc_time_unit, const sc_event_or_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(const sc_time &, const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| wait(double, sc_time_unit, const sc_event_and_list &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| halt() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| at_posedge(const sc_signal_in_if<bool> &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| at_posedge(const sc_signal_in_if<sc_dt::sc_logic> &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| at_negedge(const sc_signal_in_if<bool> &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| void |
| at_negedge(const sc_signal_in_if<sc_dt::sc_logic> &) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| } |
| |
| const char * |
| sc_gen_unique_name(const char *) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| return ""; |
| } |
| |
| bool |
| sc_hierarchical_name_exists(const char *name) |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| return false; |
| } |
| |
| bool |
| sc_start_of_simulation_invoked() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| return false; |
| } |
| |
| bool |
| sc_end_of_simulation_invoked() |
| { |
| warn("%s not implemented.\n", __PRETTY_FUNCTION__); |
| return false; |
| } |
| |
| sc_module * |
| sc_module_sc_new(sc_module *mod) |
| { |
| static std::vector<std::unique_ptr<sc_module> > modules; |
| modules.emplace_back(mod); |
| return mod; |
| } |
| |
| } // namespace sc_core |