00001 /***************************************************************************** 00002 00003 The following code is derived, directly or indirectly, from the SystemC 00004 source code Copyright (c) 1996-2004 by all Contributors. 00005 All Rights reserved. 00006 00007 The contents of this file are subject to the restrictions and limitations 00008 set forth in the SystemC Open Source License Version 2.3 (the "License"); 00009 You may not use this file except in compliance with such restrictions and 00010 limitations. You may obtain instructions on how to receive a copy of the 00011 License at http://www.systemc.org/. Software distributed by Contributors 00012 under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF 00013 ANY KIND, either express or implied. See the License for the specific 00014 language governing rights and limitations under the License. 00015 00016 *****************************************************************************/ 00017 00018 /***************************************************************************** 00019 00020 systemc.h - Top-level include file for the SystemC library. 00021 00022 Original Author: Stan Y. Liao, Synopsys, Inc. 00023 00024 *****************************************************************************/ 00025 00026 /***************************************************************************** 00027 00028 MODIFICATION LOG - modifiers, enter your name, affiliation, date and 00029 changes you are making here. 00030 00031 Name, Affiliation, Date: 00032 Description of Modification: 00033 00034 *****************************************************************************/ 00035 00036 #ifndef SYSTEMC_H 00037 #define SYSTEMC_H 00038 00039 00040 // include this file first 00041 #include "systemc/kernel/sc_cmnhdr.h" 00042 00043 #include "systemc/kernel/sc_externs.h" 00044 #include "systemc/kernel/sc_module.h" 00045 #include "systemc/kernel/sc_process_b.h" 00046 #include "systemc/kernel/sc_simcontext.h" 00047 #include "systemc/kernel/sc_ver.h" 00048 00049 #include "systemc/communication/sc_buffer.h" 00050 #include "systemc/communication/sc_clock.h" 00051 #include "systemc/communication/sc_clock_ports.h" 00052 #include "systemc/communication/sc_event_queue.h" 00053 #include "systemc/communication/sc_export.h" 00054 #include "systemc/communication/sc_fifo.h" 00055 #include "systemc/communication/sc_fifo_ports.h" 00056 #include "systemc/communication/sc_mutex.h" 00057 #include "systemc/communication/sc_semaphore.h" 00058 #include "systemc/communication/sc_signal.h" 00059 #include "systemc/communication/sc_signal_ports.h" 00060 00061 #include "systemc/communication/sc_signal_resolved.h" 00062 #include "systemc/communication/sc_signal_resolved_ports.h" 00063 #include "systemc/communication/sc_signal_rv.h" 00064 #include "systemc/communication/sc_signal_rv_ports.h" 00065 00066 #include "systemc/datatypes/bit/sc_bit.h" 00067 #include "systemc/datatypes/bit/sc_logic.h" 00068 #include "systemc/datatypes/bit/sc_bv.h" 00069 #include "systemc/datatypes/bit/sc_lv.h" 00070 00071 using sc_dt::sc_bit; 00072 using sc_dt::sc_logic; 00073 using sc_dt::sc_bv_base; 00074 using sc_dt::sc_bv; 00075 using sc_dt::sc_lv_base; 00076 using sc_dt::sc_lv; 00077 00078 using sc_dt::SC_LOGIC_0; 00079 using sc_dt::SC_LOGIC_1; 00080 using sc_dt::SC_LOGIC_Z; 00081 using sc_dt::SC_LOGIC_X; 00082 // #ifdef SC_DT_DEPRECATED 00083 using sc_dt::sc_logic_0; 00084 using sc_dt::sc_logic_1; 00085 using sc_dt::sc_logic_Z; 00086 using sc_dt::sc_logic_X; 00087 // #endif 00088 00089 # include "systemc/datatypes/int/sc_bigint.h" 00090 # include "systemc/datatypes/int/sc_biguint.h" 00091 # include "systemc/datatypes/int/sc_int.h" 00092 # include "systemc/datatypes/int/sc_uint.h" 00093 using sc_dt::sc_length_param; 00094 using sc_dt::sc_length_context; 00095 using sc_dt::sc_signed; 00096 using sc_dt::sc_bigint; 00097 using sc_dt::sc_unsigned; 00098 using sc_dt::sc_biguint; 00099 using sc_dt::sc_int_base; 00100 using sc_dt::sc_int; 00101 using sc_dt::sc_uint_base; 00102 using sc_dt::sc_uint; 00103 00104 #include "systemc/datatypes/misc/sc_concatref.h" 00105 00106 00107 00108 00109 #ifdef SC_INCLUDE_FX 00110 00111 # include "systemc/datatypes/fx/fx.h" 00112 00113 using sc_dt::sc_fxnum; 00114 using sc_dt::sc_fxnum_fast; 00115 using sc_dt::sc_fix; 00116 using sc_dt::sc_fix_fast; 00117 using sc_dt::sc_ufix; 00118 using sc_dt::sc_ufix_fast; 00119 using sc_dt::sc_fixed; 00120 using sc_dt::sc_fixed_fast; 00121 using sc_dt::sc_ufixed; 00122 using sc_dt::sc_ufixed_fast; 00123 using sc_dt::sc_fxval; 00124 using sc_dt::sc_fxval_fast; 00125 using sc_dt::sc_fxcast_switch; 00126 using sc_dt::sc_fxcast_context; 00127 using sc_dt::sc_fxtype_params; 00128 using sc_dt::sc_fxtype_context; 00129 using sc_dt::sc_q_mode; 00130 using sc_dt::SC_RND; 00131 using sc_dt::SC_RND_ZERO; 00132 using sc_dt::SC_RND_MIN_INF; 00133 using sc_dt::SC_RND_INF; 00134 using sc_dt::SC_RND_CONV; 00135 using sc_dt::SC_TRN; 00136 using sc_dt::SC_TRN_ZERO; 00137 using sc_dt::sc_o_mode; 00138 using sc_dt::SC_SAT; 00139 using sc_dt::SC_SAT_ZERO; 00140 using sc_dt::SC_SAT_SYM; 00141 using sc_dt::SC_WRAP; 00142 using sc_dt::SC_WRAP_SM; 00143 using sc_dt::sc_switch; 00144 using sc_dt::SC_OFF; 00145 using sc_dt::SC_ON; 00146 using sc_dt::sc_fmt; 00147 using sc_dt::SC_F; 00148 using sc_dt::SC_E; 00149 using sc_dt::sc_context_begin; 00150 using sc_dt::SC_NOW; 00151 using sc_dt::SC_LATER; 00152 00153 #endif // SC_INCLUDE_FX 00154 00155 #ifdef SC_INCLUDE_DYNAMIC_PROCESSES 00156 # include "systemc/kernel/sc_dynamic_processes.h" 00157 #endif // SC_INCLUDE_DYNAMIC_PROCESSES 00158 00159 #include "systemc/tracing/sc_vcd_trace.h" 00160 #include "systemc/tracing/sc_wif_trace.h" 00161 00162 #include "systemc/utils/sc_exception.h" 00163 #include "systemc/utils/sc_iostream.h" 00164 00165 00166 #ifdef _MSC_VER 00167 using sc_dt::equal; 00168 using sc_dt::not_equal; 00169 using sc_dt::b_not; 00170 using sc_dt::b_and; 00171 using sc_dt::b_or; 00172 using sc_dt::b_xor; 00173 using sc_dt::lrotate; 00174 using sc_dt::rrotate; 00175 using sc_dt::reverse; 00176 using sc_dt::concat; 00177 using sc_dt::and_reduce; 00178 using sc_dt::or_reduce; 00179 using sc_dt::xor_reduce; 00180 using sc_dt::nand_reduce; 00181 using sc_dt::nor_reduce; 00182 using sc_dt::xnor_reduce; 00183 #endif // _MSC_VER 00184 00185 00186 #endif
1.2.18