76 template <
class T>
class sc_signal_in_if;
94 #define DECL_TRACE_METHOD_A(tp) \
95 virtual void trace( const tp& object, \
96 const std::string& name ) = 0;
98 #define DECL_TRACE_METHOD_B(tp) \
99 virtual void trace( const tp& object, \
100 const std::string& name, \
135 #undef DECL_TRACE_METHOD_A
136 #undef DECL_TRACE_METHOD_B
141 virtual void trace(
const unsigned int&
object,
142 const std::string& name,
143 const char** enum_literals ) = 0;
146 virtual void write_comment(
const std::string& comment ) = 0;
150 virtual void space(
int n );
161 virtual void cycle(
bool delta_cycle ) = 0;
175 #define DECL_TRACE_FUNC_REF_A(tp) \
177 sc_trace( sc_trace_file* tf, \
179 const std::string& name );
181 #define DECL_TRACE_FUNC_PTR_A(tp) \
183 sc_trace( sc_trace_file* tf, \
185 const std::string& name ); \
187 #define DECL_TRACE_FUNC_A(tp) \
188 DECL_TRACE_FUNC_REF_A(tp) \
189 DECL_TRACE_FUNC_PTR_A(tp)
204 #undef DECL_TRACE_FUNC_REF_A
205 #undef DECL_TRACE_FUNC_PTR_A
206 #undef DECL_TRACE_FUNC_A
211 #define DEFN_TRACE_FUNC_REF_A(tp) \
214 sc_trace( sc_trace_file* tf, const tp& object, const std::string& name ) \
217 tf->trace( object, name ); \
221 #define DEFN_TRACE_FUNC_PTR_A(tp) \
224 sc_trace( sc_trace_file* tf, const tp* object, const std::string& name ) \
227 tf->trace( *object, name ); \
231 #define DEFN_TRACE_FUNC_A(tp) \
232 DEFN_TRACE_FUNC_REF_A(tp) \
233 DEFN_TRACE_FUNC_PTR_A(tp)
236 #define DEFN_TRACE_FUNC_REF_B(tp) \
239 sc_trace( sc_trace_file* tf, const tp& object, const std::string& name, \
240 int width = 8 * sizeof( tp ) ) \
243 tf->trace( object, name, width ); \
247 #define DEFN_TRACE_FUNC_PTR_B(tp) \
250 sc_trace( sc_trace_file* tf, const tp* object, const std::string& name, \
251 int width = 8 * sizeof( tp ) ) \
254 tf->trace( *object, name, width ); \
259 #define DEFN_TRACE_FUNC_B(tp) \
260 DEFN_TRACE_FUNC_REF_B(tp) \
261 DEFN_TRACE_FUNC_PTR_B(tp)
280 #undef DEFN_TRACE_FUNC_REF_A
281 #undef DEFN_TRACE_FUNC_PTR_A
282 #undef DEFN_TRACE_FUNC_A
284 #undef DEFN_TRACE_FUNC_REF_B
285 #undef DEFN_TRACE_FUNC_PTR_B
286 #undef DEFN_TRACE_FUNC_B
294 const std::string& name )
296 sc_trace( tf,
object.read(), name );
306 sc_trace( tf,
object.read(), name );
313 const sc_signal_in_if<char>&
object,
314 const std::string& name,
318 const sc_signal_in_if<short>&
object,
319 const std::string& name,
323 const sc_signal_in_if<int>&
object,
324 const std::string& name,
328 const sc_signal_in_if<long>&
object,
329 const std::string& name,
344 const unsigned int&
object,
345 const std::string& name,
346 const char** enum_literals );
351 extern void sc_trace( sc_trace_file* tf,
353 const std::string& name );
379 void tprintf( sc_trace_file* tf,
const char* format, ... );
virtual void delta_cycles(bool flag)
#define DECL_TRACE_METHOD_A(tp)
void sc_write_comment(sc_trace_file *tf, const std::string &comment)
void sc_close_vcd_trace_file(sc_trace_file *tf)
#define DEFN_TRACE_FUNC_B(tp)
virtual void set_time_unit(double v, sc_time_unit tu)=0
sc_trace_file * sc_create_vcd_trace_file(const char *name)
#define DEFN_TRACE_FUNC_A(tp)
#define DECL_TRACE_FUNC_REF_A(tp)
virtual void trace(const unsigned int &object, const std::string &name, const char **enum_literals)=0
void tprintf(sc_trace_file *tf, const char *format,...)
The sc_signal<T> input interface class.
virtual void write_comment(const std::string &comment)=0
#define DECL_TRACE_METHOD_B(tp)
#define DECL_TRACE_FUNC_A(tp)
virtual void cycle(bool delta_cycle)=0
virtual void space(int n)
void sc_close_wif_trace_file(sc_trace_file *tf)
void sc_trace(sc_trace_file *tf, const sc_in< T > &port, const std::string &name)
sc_trace_file * sc_create_wif_trace_file(const char *name)
void sc_trace_delta_cycles(sc_trace_file *tf, bool on=true)