79template <
class T>
class sc_signal_in_if;
96#define DECL_TRACE_METHOD_A(tp) \
97 virtual void trace( const tp& object, \
98 const std::string& name ) = 0;
100#define DECL_TRACE_METHOD_B(tp) \
101 virtual void trace( const tp& object, \
102 const std::string& name, \
140#undef DECL_TRACE_METHOD_A
141#undef DECL_TRACE_METHOD_B
146 virtual void trace(
const unsigned int&
object,
147 const std::string& name,
148 const char** enum_literals ) = 0;
166 virtual void cycle(
bool delta_cycle ) = 0;
183#define DECL_TRACE_FUNC_REF_A(tp) \
185sc_trace( sc_trace_file* tf, \
187 const std::string& name );
189#define DECL_TRACE_FUNC_PTR_A(tp) \
191sc_trace( sc_trace_file* tf, \
193 const std::string& name ); \
195#define DECL_TRACE_FUNC_A(tp) \
196DECL_TRACE_FUNC_REF_A(tp) \
197DECL_TRACE_FUNC_PTR_A(tp)
199#define DECL_TRACE_FUNC_REF_B(tp) \
201sc_trace( sc_trace_file* tf, const tp& object, const std::string& name, \
202 int width = 8 * sizeof( tp ) );
205#define DECL_TRACE_FUNC_PTR_B(tp) \
207sc_trace( sc_trace_file* tf, const tp* object, const std::string& name, \
208 int width = 8 * sizeof( tp ) );
211#define DECL_TRACE_FUNC_B(tp) \
212DECL_TRACE_FUNC_REF_B(tp) \
213DECL_TRACE_FUNC_PTR_B(tp)
252#undef DECL_TRACE_FUNC_REF_A
253#undef DECL_TRACE_FUNC_PTR_A
254#undef DECL_TRACE_FUNC_A
257#undef DECL_TRACE_FUNC_REF_B
258#undef DECL_TRACE_FUNC_PTR_B
259#undef DECL_TRACE_FUNC_B
267 const std::string& name )
269 sc_trace( tf,
object.read(), name );
279 sc_trace( tf,
object.read(), name );
287 const std::string& name,
292 const std::string& name,
297 const std::string& name,
302 const std::string& name,
317 const unsigned int&
object,
318 const std::string& name,
319 const char** enum_literals );
326 const std::string& name );
#define DECL_TRACE_FUNC_B(tp)
#define DECL_TRACE_FUNC_A(tp)
#define DECL_TRACE_METHOD_B(tp)
#define DECL_TRACE_METHOD_A(tp)
SC_API void sc_close_vcd_trace_file(sc_trace_file *tf)
SC_API void sc_write_comment(sc_trace_file *tf, const std::string &comment)
SC_API sc_trace_file * sc_create_vcd_trace_file(const char *name)
void sc_trace(sc_trace_file *tf, const sc_in< T > &port, const std::string &name)
SC_API void tprintf(sc_trace_file *tf, const char *format,...)
SC_API void sc_close_wif_trace_file(sc_trace_file *tf)
SC_API sc_trace_file * sc_create_wif_trace_file(const char *name)
SC_API void sc_trace_delta_cycles(sc_trace_file *tf, bool on=true)
unsigned long long uint64
const sc_dt::uint64 & event_trigger_stamp(const sc_event &event) const
virtual void trace(const unsigned int &object, const std::string &name, const char **enum_literals)=0
virtual void write_comment(const std::string &comment)=0
virtual void delta_cycles(bool flag)
virtual void cycle(bool delta_cycle)=0
virtual void set_time_unit(double v, sc_time_unit tu)=0
virtual void space(int n)