Ignore:
Timestamp:
Jan 22, 2013, 4:23:22 PM (12 years ago)
Author:
meunier
Message:

Code formatting in all source files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sources/src/sc_trace_ext.h

    r4 r52  
    3838#define __SC_TRACE_EXT_H__
    3939
    40 #include "sc_fwd.h"
    41 #include "alias.h"
    4240#include <vector>
    4341#include <iostream>
     
    4543#include <sstream>
    4644
     45#include "sc_fwd.h"
     46#include "alias.h"
    4747#include "sc_module_ext.h"
    4848#include "sc_localvar.h"
    4949
    50 //---------------------------------------------------------------------------
     50
    5151
    5252namespace sc_core {
    5353
    54         using namespace sc_dt;
    55 
    56 //---------------------------------------------------------------------------
    57 
    58 struct signal2trace
    59 {
    60         const sc_interface   *inter;
    61         const char           *alias;
    62         unsigned int          bit_size;
    63   tab_t                *pointer;
    64   std::string           nomSig;
     54using namespace sc_dt;
     55
     56
     57
     58struct signal2trace {
     59    const sc_interface * inter;
     60    const char * alias;
     61    unsigned int bit_size;
     62    tab_t * pointer;
     63    std::string nomSig;
    6564};
    6665
    67 //---------------------------------------------------------------------------
    68 
    69 template<typename T> struct bits_number_getter {};
    70  
    71 #define BITS_NUMBER_GETTER_DEF(newt,typ, expr)      \
    72 template<newt> struct bits_number_getter<typ> {     \
    73     typedef typ val_t;                              \
    74     static inline unsigned int get() {return expr;} \
    75 }
    76 
    77  BITS_NUMBER_GETTER_DEF(, bool          ,1);
    78  BITS_NUMBER_GETTER_DEF(, char          ,8*sizeof(val_t));
    79  BITS_NUMBER_GETTER_DEF(, signed   char ,8*sizeof(val_t));
    80  BITS_NUMBER_GETTER_DEF(, unsigned char ,8*sizeof(val_t));
    81  BITS_NUMBER_GETTER_DEF(, unsigned short,8*sizeof(val_t));
    82  BITS_NUMBER_GETTER_DEF(, signed   short,8*sizeof(val_t));
    83  BITS_NUMBER_GETTER_DEF(, signed   int  ,8*sizeof(val_t));
    84  BITS_NUMBER_GETTER_DEF(, unsigned int  ,8*sizeof(val_t));
    85  BITS_NUMBER_GETTER_DEF(, signed   long ,8*sizeof(val_t));
    86  BITS_NUMBER_GETTER_DEF(, unsigned long ,8*sizeof(val_t));
    87  BITS_NUMBER_GETTER_DEF(, float         ,8*sizeof(val_t));
    88  BITS_NUMBER_GETTER_DEF(, sc_unsigned   ,8*sizeof(unsigned int));
    89  BITS_NUMBER_GETTER_DEF(, sc_signed     ,8*sizeof(int));
    90  BITS_NUMBER_GETTER_DEF(, double        ,8*sizeof(val_t));
    91  BITS_NUMBER_GETTER_DEF(, uint64        ,8*sizeof(val_t));
    92  BITS_NUMBER_GETTER_DEF(, int64         ,8*sizeof(val_t));
    93  BITS_NUMBER_GETTER_DEF(typename inval_t, sc_in<inval_t>    ,bits_number_getter<inval_t>::get());
    94  BITS_NUMBER_GETTER_DEF(typename inval_t, sc_out<inval_t>   ,bits_number_getter<inval_t>::get());
    95  BITS_NUMBER_GETTER_DEF(typename inval_t, sc_inout<inval_t> ,bits_number_getter<inval_t>::get());
    96  BITS_NUMBER_GETTER_DEF(typename inval_t, sc_signal<inval_t>,bits_number_getter<inval_t>::get());
    97  BITS_NUMBER_GETTER_DEF(int W, sc_int<W>,W);
    98  BITS_NUMBER_GETTER_DEF(int W, sc_uint<W>,W);
    99  BITS_NUMBER_GETTER_DEF(int W, sc_bigint<W>,W);
    100  BITS_NUMBER_GETTER_DEF(int W, sc_biguint<W>,W);
    101  BITS_NUMBER_GETTER_DEF(int W, sc_bv<W>,W);
    102  BITS_NUMBER_GETTER_DEF(int W, sc_lv<W>,W);
     66
     67
     68template< typename T > struct bits_number_getter {};
     69
     70
     71#define BITS_NUMBER_GETTER_DEF(newt, typ, expr)           \
     72    template<newt> struct bits_number_getter<typ> {       \
     73        typedef typ val_t;                                \
     74        static inline unsigned int get() { return expr; } \
     75    }
     76
     77
     78BITS_NUMBER_GETTER_DEF(, bool          , 1);
     79BITS_NUMBER_GETTER_DEF(, char          , 8 * sizeof(val_t));
     80BITS_NUMBER_GETTER_DEF(, signed   char , 8 * sizeof(val_t));
     81BITS_NUMBER_GETTER_DEF(, unsigned char , 8 * sizeof(val_t));
     82BITS_NUMBER_GETTER_DEF(, unsigned short, 8 * sizeof(val_t));
     83BITS_NUMBER_GETTER_DEF(, signed   short, 8 * sizeof(val_t));
     84BITS_NUMBER_GETTER_DEF(, signed   int  , 8 * sizeof(val_t));
     85BITS_NUMBER_GETTER_DEF(, unsigned int  , 8 * sizeof(val_t));
     86BITS_NUMBER_GETTER_DEF(, signed   long , 8 * sizeof(val_t));
     87BITS_NUMBER_GETTER_DEF(, unsigned long , 8 * sizeof(val_t));
     88BITS_NUMBER_GETTER_DEF(, float         , 8 * sizeof(val_t));
     89BITS_NUMBER_GETTER_DEF(, sc_unsigned   , 8 * sizeof(unsigned int));
     90BITS_NUMBER_GETTER_DEF(, sc_signed     , 8 * sizeof(int));
     91BITS_NUMBER_GETTER_DEF(, double        , 8 * sizeof(val_t));
     92BITS_NUMBER_GETTER_DEF(, uint64        , 8 * sizeof(val_t));
     93BITS_NUMBER_GETTER_DEF(, int64         , 8 * sizeof(val_t));
     94BITS_NUMBER_GETTER_DEF(typename inval_t, sc_in<inval_t>    , bits_number_getter<inval_t>::get());
     95BITS_NUMBER_GETTER_DEF(typename inval_t, sc_out<inval_t>   , bits_number_getter<inval_t>::get());
     96BITS_NUMBER_GETTER_DEF(typename inval_t, sc_inout<inval_t> , bits_number_getter<inval_t>::get());
     97BITS_NUMBER_GETTER_DEF(typename inval_t, sc_signal<inval_t>, bits_number_getter<inval_t>::get());
     98BITS_NUMBER_GETTER_DEF(int W, sc_int<W>, W);
     99BITS_NUMBER_GETTER_DEF(int W, sc_uint<W>, W);
     100BITS_NUMBER_GETTER_DEF(int W, sc_bigint<W>, W);
     101BITS_NUMBER_GETTER_DEF(int W, sc_biguint<W>, W);
     102BITS_NUMBER_GETTER_DEF(int W, sc_bv<W>, W);
     103BITS_NUMBER_GETTER_DEF(int W, sc_lv<W>, W);
    103104#undef BITS_NUMBER_GETTER_DEF
    104  
    105 template < typename T > inline
    106 unsigned int get_bits_number (const T & object)
    107 {
     105
     106
     107template < typename T >
     108inline unsigned int get_bits_number (const T & object) {
    108109    return bits_number_getter<T>::get();
    109110}
    110111
    111 //---------------------------------------------------------------------------
     112
    112113
    113114struct sc_trace_file;
    114115
    115 //---------------------------------------------------------------------------
    116 
    117 extern void
    118 sc_trace( sc_trace_file* tf, const signal2trace &t, const std::string &name );
     116
     117extern void sc_trace(sc_trace_file * tf, const signal2trace & t, const std::string & name);
     118
     119
     120template < class T > /*inline*/
     121void sc_trace(sc_trace_file * tf, const sc_in< T > & port, const std::string & name) {
     122    signal2trace t;
     123    t.inter = (const sc_interface *) &port;
     124    t.alias = alias();
     125    t.bit_size = get_bits_number(port);
     126    t.nomSig = name;
     127    sc_trace (tf, t, name);
     128}
     129
     130
    119131
    120132template <class T> /*inline*/
    121 void
    122 sc_trace( sc_trace_file* tf, const sc_in<T>& port, const std::string &name )
    123 {
    124         signal2trace t;
    125         t.inter = (const sc_interface*) &port;
    126         t.alias = alias();
    127         t.bit_size = get_bits_number(port);
    128         t.nomSig = name;
    129         sc_trace (tf, t, name);
    130 }
    131 
    132 //----------------------------------------------------------------------------
    133 
    134 template <class T> /*inline*/
    135 void
    136 sc_trace( sc_trace_file* tf, const sc_out<T>& out, const std::string &name )
    137 {
    138         signal2trace t;
    139         t.inter = (const sc_interface*) &out;
    140         t.alias = alias();
    141         t.bit_size = get_bits_number(out);
    142         t.nomSig = name;
    143         sc_trace (tf, t, name);
    144 }
    145 
    146 //----------------------------------------------------------------------------
     133void sc_trace(sc_trace_file * tf, const sc_out< T > & out, const std::string & name) {
     134    signal2trace t;
     135    t.inter = (const sc_interface *) &out;
     136    t.alias = alias();
     137    t.bit_size = get_bits_number(out);
     138    t.nomSig = name;
     139    sc_trace (tf, t, name);
     140}
     141
     142
    147143
    148144template <typename T> /*inline*/
    149 void
    150 sc_trace( sc_trace_file* tf, const sc_inout<T>& inout, const std::string &name )
    151 {
    152         signal2trace t;
    153         t.inter = (const sc_interface*) &inout;
    154         t.alias = alias();
    155         t.bit_size = get_bits_number(inout);
    156         t.nomSig = name;
    157         sc_trace (tf, t, name);
    158 }
    159 
    160 //----------------------------------------------------------------------------
     145void sc_trace(sc_trace_file * tf, const sc_inout< T > & inout, const std::string & name) {
     146    signal2trace t;
     147    t.inter = (const sc_interface *) &inout;
     148    t.alias = alias();
     149    t.bit_size = get_bits_number(inout);
     150    t.nomSig = name;
     151    sc_trace (tf, t, name);
     152}
     153
     154
    161155
    162156template <typename T> /*inline*/
    163 void
    164 sc_trace( sc_trace_file* tf, const sc_signal<T>& signal, const std::string &name )
    165 {
    166         signal2trace t;
    167         t.inter = (const sc_interface*) &signal;
    168         t.alias = alias();
    169         t.bit_size = get_bits_number(signal);
    170         t.nomSig = name;
    171         sc_trace (tf, t, name);
    172 }
    173 
    174 //----------------------------------------------------------------------------
    175 
    176 #define DEF_SC_TRACE(T) /*inline \*/ \
    177   extern void   \
    178   sc_trace (sc_trace_file*,      \
    179             const T& object,     \
    180             const std::string&);
    181 
    182         DEF_SC_TRACE(bool)
    183         DEF_SC_TRACE(float)
    184         DEF_SC_TRACE(double)
    185         DEF_SC_TRACE(unsigned char)
    186         DEF_SC_TRACE(unsigned short)
    187         DEF_SC_TRACE(unsigned int)
    188         DEF_SC_TRACE(unsigned long)
    189         DEF_SC_TRACE(char)
    190         DEF_SC_TRACE(short)
    191         DEF_SC_TRACE(int)
    192         DEF_SC_TRACE(long)
    193         DEF_SC_TRACE(uint64)
    194         DEF_SC_TRACE(int64)
    195 
     157void sc_trace( sc_trace_file * tf, const sc_signal< T > & signal, const std::string & name) {
     158    signal2trace t;
     159    t.inter = (const sc_interface *) &signal;
     160    t.alias = alias();
     161    t.bit_size = get_bits_number(signal);
     162    t.nomSig = name;
     163    sc_trace (tf, t, name);
     164}
     165
     166
     167
     168#define DEF_SC_TRACE(T) /*inline \*/       \
     169    extern void sc_trace (sc_trace_file *, \
     170        const T & object,                  \
     171        const std::string &);
     172
     173    DEF_SC_TRACE(bool)
     174    DEF_SC_TRACE(float)
     175    DEF_SC_TRACE(double)
     176    DEF_SC_TRACE(unsigned char)
     177    DEF_SC_TRACE(unsigned short)
     178    DEF_SC_TRACE(unsigned int)
     179    DEF_SC_TRACE(unsigned long)
     180    DEF_SC_TRACE(char)
     181    DEF_SC_TRACE(short)
     182    DEF_SC_TRACE(int)
     183    DEF_SC_TRACE(long)
     184    DEF_SC_TRACE(uint64)
     185    DEF_SC_TRACE(int64)
    196186#undef DEF_SC_TRACE
    197187
    198188} // end of sc_core namespace
    199189
    200 //----------------------------------------------------------------------------
     190
    201191#endif
    202192
     193/*
     194# Local Variables:
     195# tab-width: 4;
     196# c-basic-offset: 4;
     197# c-file-offsets:((innamespace . 0)(inline-open . 0));
     198# indent-tabs-mode: nil;
     199# End:
     200#
     201# vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
     202*/
     203
Note: See TracChangeset for help on using the changeset viewer.