C:/systemc-2.1.v1/src/sysc/tracing/sc_vcd_trace.cpp

#include <assert.h>
#include <time.h>
#include <cstdlib>
#include "sysc/kernel/sc_simcontext.h"
#include "sysc/kernel/sc_ver.h"
#include "sysc/datatypes/bit/sc_bit.h"
#include "sysc/datatypes/bit/sc_logic.h"
#include "sysc/datatypes/bit/sc_lv_base.h"
#include "sysc/datatypes/int/sc_signed.h"
#include "sysc/datatypes/int/sc_unsigned.h"
#include "sysc/datatypes/int/sc_int_base.h"
#include "sysc/datatypes/int/sc_uint_base.h"
#include "sysc/datatypes/fx/fx.h"
#include "sysc/tracing/sc_vcd_trace.h"
#include "sysc/utils/sc_string.h"

ネームスペース

namespace  sc_core

構成

class  sc_core::vcd_trace
class  sc_core::vcd_T_trace< T >
class  sc_core::vcd_bool_trace
class  sc_core::vcd_sc_bit_trace
class  sc_core::vcd_sc_logic_trace
class  sc_core::vcd_sc_unsigned_trace
class  sc_core::vcd_sc_signed_trace
class  sc_core::vcd_sc_uint_base_trace
class  sc_core::vcd_sc_int_base_trace
class  sc_core::vcd_sc_fxval_trace
class  sc_core::vcd_sc_fxval_fast_trace
class  sc_core::vcd_sc_fxnum_trace
class  sc_core::vcd_sc_fxnum_fast_trace
class  sc_core::vcd_unsigned_int_trace
class  sc_core::vcd_unsigned_short_trace
class  sc_core::vcd_unsigned_char_trace
class  sc_core::vcd_unsigned_long_trace
class  sc_core::vcd_signed_int_trace
class  sc_core::vcd_signed_short_trace
class  sc_core::vcd_signed_char_trace
class  sc_core::vcd_int64_trace
class  sc_core::vcd_uint64_trace
class  sc_core::vcd_signed_long_trace
class  sc_core::vcd_float_trace
class  sc_core::vcd_double_trace
class  sc_core::vcd_enum_trace

マクロ定義

#define DEFN_TRACE_METHOD(tp)
#define DEFN_TRACE_METHOD(tp)
#define DEFN_TRACE_METHOD_SIGNED(tp)
#define DEFN_TRACE_METHOD_UNSIGNED(tp)
#define DEFN_TRACE_METHOD_LONG_LONG(tp)

型定義

typedef vcd_T_trace
< sc_dt::sc_bv_base
sc_core::vcd_sc_bv_trace
typedef vcd_T_trace
< sc_dt::sc_lv_base
sc_core::vcd_sc_lv_trace

関数

static char sc_core::map_sc_logic_state_to_vcd_state (char in_char)
static void sc_core::remove_vcd_name_problems (std::string &name)
void sc_core::vcd_put_error_message (const char *msg, bool just_warning)
sc_trace_file * sc_core::sc_create_vcd_trace_file (const char *name)
void sc_core::sc_close_vcd_trace_file (sc_trace_file *tf)

変数

static bool sc_core::running_regression = false
const char * sc_core::vcd_types [vcd_trace_file::VCD_LAST] = {"wire","real"}

マクロ定義

#define DEFN_TRACE_METHOD ( tp   ) 

値:

void                                                                          \
vcd_trace_file::trace(const sc_dt::tp& object_, const std::string& name_)\
{                                                                             \
    if( initialized ) {                                                       \
        vcd_put_error_message(                                                \
            "No traces can be added once simulation has started.\n"           \
            "To add traces, create a new vcd trace file.", false );           \
    }                                                                         \
    std::string temp_vcd_name;                                           \
    create_vcd_name( &temp_vcd_name );                                        \
    traces.push_back( new vcd_ ## tp ## _trace( object_,                      \
                                                name_,                        \
                                                temp_vcd_name ) );            \
}

#define DEFN_TRACE_METHOD ( tp   ) 

値:

void                                                                          \
vcd_trace_file::trace(const tp& object_, const std::string& name_)       \
{                                                                             \
    if( initialized ) {                                                       \
        vcd_put_error_message(                                                \
            "No traces can be added once simulation has started.\n"               \
            "To add traces, create a new vcd trace file.", false );           \
    }                                                                         \
    std::string temp_vcd_name;                                           \
    create_vcd_name( &temp_vcd_name );                                        \
    traces.push_back( new vcd_ ## tp ## _trace( object_,                      \
                                                name_,                        \
                                                temp_vcd_name ) );            \
}

#define DEFN_TRACE_METHOD_LONG_LONG ( tp   ) 

値:

void                                                                          \
vcd_trace_file::trace( const sc_dt::tp& object_,                              \
                       const std::string&   name_,                       \
                       int                width_ )                            \
{                                                                             \
    if( initialized ) {                                                       \
        vcd_put_error_message(                                                \
            "No traces can be added once simulation has started.\n"           \
            "To add traces, create a new vcd trace file.", false );           \
    }                                                                         \
    std::string temp_vcd_name;                                           \
    create_vcd_name( &temp_vcd_name );                                        \
    traces.push_back( new vcd_ ## tp ## _trace( object_,                      \
                                                         name_,               \
                                                         temp_vcd_name,       \
                                                         width_ ) );          \
}

#define DEFN_TRACE_METHOD_SIGNED ( tp   ) 

値:

void                                                                          \
vcd_trace_file::trace( const tp&        object_,                              \
                       const std::string& name_,                         \
                       int              width_ )                              \
{                                                                             \
    if( initialized ) {                                                       \
        vcd_put_error_message(                                                \
            "No traces can be added once simulation has started.\n"           \
            "To add traces, create a new vcd trace file.", false );           \
    }                                                                         \
    std::string temp_vcd_name;                                           \
    create_vcd_name( &temp_vcd_name );                                        \
    traces.push_back( new vcd_signed_ ## tp ## _trace( object_,               \
                                                       name_,                 \
                                                       temp_vcd_name,         \
                                                       width_ ) );            \
}

#define DEFN_TRACE_METHOD_UNSIGNED ( tp   ) 

値:

void                                                                          \
vcd_trace_file::trace( const unsigned tp& object_,                            \
                       const std::string&   name_,                       \
                       int                width_ )                            \
{                                                                             \
    if( initialized ) {                                                       \
        vcd_put_error_message(                                                \
            "No traces can be added once simulation has started.\n"           \
            "To add traces, create a new vcd trace file.", false );           \
    }                                                                         \
    std::string temp_vcd_name;                                           \
    create_vcd_name( &temp_vcd_name );                                        \
    traces.push_back( new vcd_unsigned_ ## tp ## _trace( object_,             \
                                                         name_,               \
                                                         temp_vcd_name,       \
                                                         width_ ) );          \
}


SystemCに対してFri Jun 6 07:39:54 2008に生成されました。  doxygen 1.5.6