1/* 2 * Copyright 2018 Google, Inc. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are 6 * met: redistributions of source code must retain the above copyright 7 * notice, this list of conditions and the following disclaimer; 8 * redistributions in binary form must reproduce the above copyright 9 * notice, this list of conditions and the following disclaimer in the 10 * documentation and/or other materials provided with the distribution; 11 * neither the name of the copyright holders nor the names of its 12 * contributors may be used to endorse or promote products derived from 13 * this software without specific prior written permission. 14 * 15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 16 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 17 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 18 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 19 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 21 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 * 27 * Authors: Gabe Black 28 */ 29 30#ifndef __SYSTEMC_EXT_CORE__USING_HH__ 31#define __SYSTEMC_EXT_CORE__USING_HH__ 32 33#include "_core.hh" 34 35using sc_core::sc_attr_base; 36using sc_core::sc_attribute; 37using sc_core::sc_attr_cltn; 38 39using sc_core::sc_event_finder; 40using sc_core::sc_event_finder_t; 41using sc_core::sc_event_and_list; 42using sc_core::sc_event_or_list; 43using sc_core::sc_event_and_expr; 44using sc_core::sc_event_or_expr; 45using sc_core::sc_event; 46using sc_core::sc_get_top_level_events; 47using sc_core::sc_find_event; 48 49using sc_core::sc_export_base; 50using sc_core::sc_export; 51 52using sc_core::sc_interface; 53 54using sc_core::sc_thread_handle; 55using sc_core::sc_join; 56 57using sc_core::sc_argc; 58using sc_core::sc_argv; 59using sc_core::sc_starvation_policy; 60using sc_core::SC_RUN_TO_TIME; 61using sc_core::SC_EXIT_ON_STARVATION; 62using sc_core::sc_start; 63using sc_core::sc_pause; 64using sc_core::sc_set_stop_mode; 65using sc_core::sc_get_stop_mode; 66using sc_core::sc_stop_mode; 67using sc_core::SC_STOP_FINISH_DELTA; 68using sc_core::SC_STOP_IMMEDIATE; 69using sc_core::sc_stop; 70using sc_core::sc_time_stamp; 71using sc_core::sc_delta_count; 72using sc_core::sc_is_running; 73using sc_core::sc_pending_activity_at_current_time; 74using sc_core::sc_pending_activity_at_future_time; 75using sc_core::sc_pending_activity; 76using sc_core::sc_time_to_pending_activity; 77using sc_core::sc_get_status; 78using sc_core::SC_ELABORATION; 79using sc_core::SC_BEFORE_END_OF_ELABORATION; 80using sc_core::SC_END_OF_ELABORATION; 81using sc_core::SC_START_OF_SIMULATION; 82using sc_core::SC_RUNNING; 83using sc_core::SC_PAUSED; 84using sc_core::SC_STOPPED; 85using sc_core::SC_END_OF_SIMULATION; 86using sc_core::SC_END_OF_INITIALIZATION; 87using sc_core::SC_END_OF_UPDATE; 88using sc_core::SC_BEFORE_TIMESTEP; 89using sc_core::SC_STATUS_ANY; 90using sc_core::sc_status; 91 92using sc_core::sc_bind_proxy; 93using sc_core::SC_BIND_PROXY_NIL; 94using sc_core::sc_module; 95using sc_core::next_trigger; 96using sc_core::wait; 97using sc_core::halt; 98using sc_core::sc_gen_unique_name; 99using sc_core::sc_hierarchical_name_exists; 100using sc_core::sc_behavior; 101using sc_core::sc_channel; 102using sc_core::sc_start_of_simulation_invoked; 103using sc_core::sc_end_of_simulation_invoked; 104 105using sc_core::sc_module_name; 106 107using sc_core::sc_object; 108using sc_core::sc_get_top_level_objects; 109using sc_core::sc_find_object; 110 111using sc_core::sc_port_policy; 112using sc_core::SC_ONE_OR_MORE_BOUND; 113using sc_core::SC_ZERO_OR_MORE_BOUND; 114using sc_core::SC_ALL_BOUND; 115using sc_core::sc_port_base; 116using sc_core::sc_port_b; 117using sc_core::sc_port; 118 119using sc_core::sc_prim_channel; 120 121using sc_core::sc_curr_proc_kind; 122using sc_core::SC_NO_PROC_; 123using sc_core::SC_METHOD_PROC_; 124using sc_core::SC_THREAD_PROC_; 125using sc_core::SC_CTHREAD_PROC_; 126using sc_core::sc_descendent_inclusion_info; 127using sc_core::SC_NO_DESCENDANTS; 128using sc_core::SC_INCLUDE_DESCENDANTS; 129using sc_core::sc_unwind_exception; 130using sc_core::sc_process_b; 131using sc_core::sc_get_curr_process_handle; 132using sc_core::sc_get_current_process_b; 133using sc_core::sc_curr_proc_info; 134using sc_core::sc_curr_proc_handle; 135using sc_core::sc_process_handle; 136using sc_core::sc_get_current_process_handle; 137using sc_core::sc_is_unwinding; 138 139using sc_core::sc_sensitive; 140 141using sc_core::sc_simcontext; 142using sc_core::sc_get_curr_simcontext; 143 144using sc_core::sc_spawn_options; 145using sc_core::sc_spawn; 146 147using sc_core::sc_time_unit; 148using sc_core::SC_FS; 149using sc_core::SC_PS; 150using sc_core::SC_NS; 151using sc_core::SC_US; 152using sc_core::SC_MS; 153using sc_core::SC_SEC; 154using sc_core::sc_time; 155using sc_core::sc_time_tuple; 156using sc_core::SC_ZERO_TIME; 157using sc_core::sc_set_time_resolution; 158using sc_core::sc_get_time_resolution; 159using sc_core::sc_max_time; 160using sc_core::sc_get_default_time_unit; 161using sc_core::sc_set_default_time_unit; 162 163using sc_core::SC_ID_NO_BOOL_RETURNED_; 164using sc_core::SC_ID_NO_INT_RETURNED_; 165using sc_core::SC_ID_NO_SC_LOGIC_RETURNED_; 166using sc_core::SC_ID_OPERAND_NOT_SC_LOGIC_; 167using sc_core::SC_ID_OPERAND_NOT_BOOL_; 168using sc_core::SC_ID_INSTANCE_EXISTS_; 169using sc_core::SC_ID_ILLEGAL_CHARACTERS_; 170using sc_core::SC_ID_VC6_PROCESS_HELPER_; 171using sc_core::SC_ID_VC6_MAX_PROCESSES_EXCEEDED_; 172using sc_core::SC_ID_END_MODULE_NOT_CALLED_; 173using sc_core::SC_ID_HIER_NAME_INCORRECT_; 174using sc_core::SC_ID_SET_STACK_SIZE_; 175using sc_core::SC_ID_SC_MODULE_NAME_USE_; 176using sc_core::SC_ID_SC_MODULE_NAME_REQUIRED_; 177using sc_core::SC_ID_SET_TIME_RESOLUTION_; 178using sc_core::SC_ID_SET_DEFAULT_TIME_UNIT_; 179using sc_core::SC_ID_DEFAULT_TIME_UNIT_CHANGED_; 180using sc_core::SC_ID_INCONSISTENT_API_CONFIG_; 181using sc_core::SC_ID_WAIT_NOT_ALLOWED_; 182using sc_core::SC_ID_NEXT_TRIGGER_NOT_ALLOWED_; 183using sc_core::SC_ID_IMMEDIATE_NOTIFICATION_; 184using sc_core::SC_ID_HALT_NOT_ALLOWED_; 185using sc_core::SC_ID_WATCHING_NOT_ALLOWED_; 186using sc_core::SC_ID_DONT_INITIALIZE_; 187using sc_core::SC_ID_WAIT_N_INVALID_; 188using sc_core::SC_ID_MAKE_SENSITIVE_; 189using sc_core::SC_ID_MAKE_SENSITIVE_POS_; 190using sc_core::SC_ID_MAKE_SENSITIVE_NEG_; 191using sc_core::SC_ID_INSERT_MODULE_; 192using sc_core::SC_ID_REMOVE_MODULE_; 193using sc_core::SC_ID_NOTIFY_DELAYED_; 194using sc_core::SC_ID_GEN_UNIQUE_NAME_; 195using sc_core::SC_ID_MODULE_NAME_STACK_EMPTY_; 196using sc_core::SC_ID_NAME_EXISTS_; 197using sc_core::SC_ID_IMMEDIATE_SELF_NOTIFICATION_; 198using sc_core::SC_ID_WAIT_DURING_UNWINDING_; 199using sc_core::SC_ID_CYCLE_MISSES_EVENTS_; 200using sc_core::SC_ID_RETHROW_UNWINDING_; 201using sc_core::SC_ID_PROCESS_ALREADY_UNWINDING_; 202using sc_core::SC_ID_MODULE_METHOD_AFTER_START_; 203using sc_core::SC_ID_MODULE_THREAD_AFTER_START_; 204using sc_core::SC_ID_MODULE_CTHREAD_AFTER_START_; 205using sc_core::SC_ID_SIMULATION_TIME_OVERFLOW_; 206using sc_core::SC_ID_SIMULATION_STOP_CALLED_TWICE_; 207using sc_core::SC_ID_SIMULATION_START_AFTER_STOP_; 208using sc_core::SC_ID_STOP_MODE_AFTER_START_; 209using sc_core::SC_ID_SIMULATION_START_AFTER_ERROR_; 210using sc_core::SC_ID_SIMULATION_UNCAUGHT_EXCEPTION_; 211using sc_core::SC_ID_PHASE_CALLBACKS_UNSUPPORTED_; 212using sc_core::SC_ID_PHASE_CALLBACK_NOT_IMPLEMENTED_; 213using sc_core::SC_ID_PHASE_CALLBACK_REGISTER_; 214using sc_core::SC_ID_PHASE_CALLBACK_FORBIDDEN_; 215using sc_core::SC_ID_SIMULATION_START_UNEXPECTED_; 216using sc_core::SC_ID_THROW_IT_IGNORED_; 217using sc_core::SC_ID_NOT_EXPECTING_DYNAMIC_EVENT_NOTIFY_; 218using sc_core::SC_ID_DISABLE_WILL_ORPHAN_PROCESS_; 219using sc_core::SC_ID_PROCESS_CONTROL_CORNER_CASE_; 220using sc_core::SC_ID_METHOD_TERMINATION_EVENT_; 221using sc_core::SC_ID_JOIN_ON_METHOD_HANDLE_; 222using sc_core::SC_ID_NO_PROCESS_SEMANTICS_; 223using sc_core::SC_ID_EVENT_ON_NULL_PROCESS_; 224using sc_core::SC_ID_EVENT_LIST_FAILED_; 225using sc_core::SC_ID_UNKNOWN_PROCESS_TYPE_; 226using sc_core::SC_ID_TIME_CONVERSION_FAILED_; 227using sc_core::SC_ID_NEGATIVE_SIMULATION_TIME_; 228using sc_core::SC_ID_BAD_SC_MODULE_CONSTRUCTOR_; 229using sc_core::SC_ID_EMPTY_PROCESS_HANDLE_; 230using sc_core::SC_ID_NO_SC_START_ACTIVITY_; 231using sc_core::SC_ID_KILL_PROCESS_WHILE_UNITIALIZED_; 232using sc_core::SC_ID_RESET_PROCESS_WHILE_NOT_RUNNING_; 233using sc_core::SC_ID_THROW_IT_WHILE_NOT_RUNNING_; 234 235#endif //__SYSTEMC_EXT_CORE__USING_HH__ 236