systemc.h

Go to the documentation of this file.
00001 
00008 /*****************************************************************************
00009 
00010   The following code is derived, directly or indirectly, from the SystemC
00011   source code Copyright (c) 1996-2005 by all Contributors.
00012   All Rights reserved.
00013 
00014   The contents of this file are subject to the restrictions and limitations
00015   set forth in the SystemC Open Source License Version 2.4 (the "License");
00016   You may not use this file except in compliance with such restrictions and
00017   limitations. You may obtain instructions on how to receive a copy of the
00018   License at http://www.systemc.org/. Software distributed by Contributors
00019   under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
00020   ANY KIND, either express or implied. See the License for the specific
00021   language governing rights and limitations under the License.
00022 
00023  *****************************************************************************/
00024 
00025 /*****************************************************************************
00026 
00027   systemc.h - Top-level include file for the SystemC library with usings.
00028 
00029   Original Author: Stan Y. Liao, Synopsys, Inc.
00030 
00031  *****************************************************************************/
00032 
00033 /*****************************************************************************
00034 
00035   MODIFICATION LOG - modifiers, enter your name, affiliation, date and
00036   changes you are making here.
00037 
00038       Name, Affiliation, Date: Andy Goodrich, Forte Design Systems, 31 Mar 2005
00039   Description of Modification: Changes for namespace support.
00040 
00041  *****************************************************************************/
00042 
00043 #ifndef SYSTEMC_H
00044 #define SYSTEMC_H
00045 
00046 #include "systemc"
00047 
00048 // USINGS FOR THE sc_dt NAMESPACE:
00049 
00050 using sc_dt::sc_bit;
00051 using sc_dt::sc_logic;
00052 using sc_dt::sc_bv_base;
00053 using sc_dt::sc_bv;
00054 using sc_dt::sc_lv_base;
00055 using sc_dt::sc_lv;
00056 using sc_dt::int64;
00057 using sc_dt::uint64;
00058 
00059 using sc_dt::sc_numrep;
00060 using sc_dt::SC_NOBASE;
00061 using sc_dt::SC_BIN;
00062 using sc_dt::SC_OCT;
00063 using sc_dt::SC_DEC;
00064 using sc_dt::SC_HEX;
00065 using sc_dt::SC_BIN_US;
00066 using sc_dt::SC_BIN_SM;
00067 using sc_dt::SC_OCT_US;
00068 using sc_dt::SC_OCT_SM;
00069 using sc_dt::SC_HEX_US;
00070 using sc_dt::SC_HEX_SM;
00071 using sc_dt::SC_CSD;
00072 using sc_dt::sc_io_show_base;
00073 using sc_dt::sc_string_old;
00074 
00075 using sc_dt::SC_LOGIC_0;
00076 using sc_dt::SC_LOGIC_1;
00077 using sc_dt::SC_LOGIC_Z;
00078 using sc_dt::SC_LOGIC_X;
00079 
00080 using sc_dt::sc_length_param;
00081 using sc_dt::sc_length_context;
00082 using sc_dt::sc_signed;
00083 using sc_dt::sc_bigint;
00084 using sc_dt::sc_unsigned;
00085 using sc_dt::sc_biguint;
00086 using sc_dt::sc_int_base;
00087 using sc_dt::sc_int;
00088 using sc_dt::sc_uint_base;
00089 using sc_dt::sc_uint;
00090 
00091 // #ifdef SC_DT_DEPRECATED
00092 using sc_dt::sc_logic_0;
00093 using sc_dt::sc_logic_1;
00094 using sc_dt::sc_logic_Z;
00095 using sc_dt::sc_logic_X;
00096 // #endif
00097 
00098 #ifdef SC_INCLUDE_FX
00099     using sc_dt::sc_fxnum;
00100         using sc_dt::sc_fxnum_bitref;
00101     using sc_dt::sc_fxnum_fast;
00102     using sc_dt::sc_fix;
00103     using sc_dt::sc_fix_fast;
00104     using sc_dt::sc_ufix;
00105     using sc_dt::sc_ufix_fast;
00106     using sc_dt::sc_fixed;
00107     using sc_dt::sc_fixed_fast;
00108     using sc_dt::sc_ufixed;
00109     using sc_dt::sc_ufixed_fast;
00110     using sc_dt::sc_fxval;
00111     using sc_dt::sc_fxval_fast;
00112     using sc_dt::sc_fxcast_switch;
00113     using sc_dt::sc_fxcast_context;
00114     using sc_dt::sc_fxtype_params;
00115     using sc_dt::sc_fxtype_context;
00116     using sc_dt::sc_q_mode;
00117     using sc_dt::SC_RND;
00118     using sc_dt::SC_RND_ZERO;
00119     using sc_dt::SC_RND_MIN_INF;
00120     using sc_dt::SC_RND_INF;
00121     using sc_dt::SC_RND_CONV;
00122     using sc_dt::SC_TRN;
00123     using sc_dt::SC_TRN_ZERO;
00124     using sc_dt::sc_o_mode;
00125     using sc_dt::SC_SAT;
00126     using sc_dt::SC_SAT_ZERO;
00127     using sc_dt::SC_SAT_SYM;
00128     using sc_dt::SC_WRAP;
00129     using sc_dt::SC_WRAP_SM;
00130     using sc_dt::sc_switch;
00131     using sc_dt::SC_OFF;
00132     using sc_dt::SC_ON;
00133     using sc_dt::sc_fmt;
00134     using sc_dt::SC_F;
00135     using sc_dt::SC_E;
00136     using sc_dt::sc_context_begin;
00137     using sc_dt::SC_NOW;
00138     using sc_dt::SC_LATER;
00139 
00140 #endif // SC_INCLUDE_FX
00141 
00142 #if defined( _MSC_VER )
00143     using sc_dt::equal;
00144     using sc_dt::not_equal;
00145     using sc_dt::b_not;
00146     using sc_dt::b_and;
00147     using sc_dt::b_or;
00148     using sc_dt::b_xor;
00149     using sc_dt::lrotate;
00150     using sc_dt::rrotate;
00151     using sc_dt::reverse;
00152     using sc_dt::concat;
00153     using sc_dt::and_reduce;
00154     using sc_dt::or_reduce;
00155     using sc_dt::xor_reduce;
00156     using sc_dt::nand_reduce;
00157     using sc_dt::nor_reduce;
00158     using sc_dt::xnor_reduce;
00159 
00160 #endif // defined( _MSC_VER )
00161 
00162 
00163 // USINGS FOR sc_core:
00164 //
00165 // The explicit using for ::sc_core::wait is to remove an ambiguity with
00166 // the constructor for the system's union wait on Unix and Linux. This
00167 // causes problems with aCC, so users of aCC should explicitly select
00168 // the SystemC wait functions using ::sc_core::wait(...). This is actually
00169 // a good idea for SystemC programmers in general.
00170 
00171 using namespace sc_core;
00172 #if !defined( __HP_aCC )
00173     using ::sc_core::wait;
00174 #endif // !defined( __HP_aCC )
00175 
00176 
00177 // USINGS FOR I/O STREAM SUPPORT:
00178 
00179 #if !defined( _MSC_VER ) && !defined( __BORLANDC__ )
00180 #   if defined(__GNUC__) && (__GNUC__ == 2) // Maintain compatibility for 2.95.x
00181         using std::strstream;
00182         using std::strstreambuf;
00183         using std::istrstream;
00184         using std::ostrstream;
00185 #   endif
00186 
00187     using std::ios;
00188     using std::streambuf;
00189     using std::streampos;
00190     using std::streamsize;
00191     using std::iostream;
00192     using std::istream;
00193     using std::ostream;
00194     using std::cin;
00195     using std::cout;
00196     using std::cerr;
00197     using std::endl;
00198     using std::flush;
00199     using std::dec;
00200     using std::hex;
00201     using std::oct;
00202 #   if defined(linux)
00203         using std::noshowbase;
00204         using std::showbase;
00205 #   endif // defined(linux)
00206 
00207 
00208     using std::fstream;
00209     using std::ifstream;
00210     using std::ofstream;
00211 
00212     using std::size_t;
00213 
00214     using std::memchr;
00215     using std::memcmp;
00216     using std::memcpy;
00217     using std::memmove;
00218     using std::memset;
00219     using std::strcat;
00220     using std::strncat;
00221     using std::strchr;
00222     using std::strrchr;
00223     using std::strcmp;
00224     using std::strncmp;
00225     using std::strcpy;
00226     using std::strncpy;
00227     using std::strcspn;
00228     using std::strspn;
00229     using std::strlen;
00230     using std::strpbrk;
00231     using std::strstr;
00232     using std::strtok;
00233 
00234 #else
00235 #if defined( _MSC_VER )
00236     // VC++6 with standard library
00237 
00238    using std::ios;
00239    using std::streambuf;
00240    using std::streampos;
00241    using std::streamsize;
00242    using std::iostream;
00243    using std::istream;
00244    using std::ostream;
00245    using std::strstream;
00246    using std::strstreambuf;
00247    using std::istrstream;
00248    using std::ostrstream;
00249    using std::cin;
00250    using std::cout;
00251    using std::cerr;
00252    using std::endl;
00253    using std::flush;
00254    using std::dec;
00255    using std::hex;
00256    using std::oct;
00257 
00258    using std::fstream;
00259    using std::ifstream;
00260    using std::ofstream;
00261 
00262 #endif // MSC
00263 #endif // Everyone else
00264 
00265 //  ##PINAPA Integration: BEGIN
00266 #include "pinapa/pinapa-bypass.h"
00267 //  ##PINAPA Integration: END
00268 
00269 #endif
Generated by
Matthieu Moy <Matthieu.Moy@st.com>
Back to Pinapa Home Page