17#ifndef _SCC_TRACER_BASE_H_
18#define _SCC_TRACER_BASE_H_
21#include <cci_configuration>
22#include <sysc/tracing/sc_trace.h>
53 return static_cast<trace_types>(
static_cast<unsigned>(lhs) |
static_cast<unsigned>(rhs));
64 return static_cast<trace_types>(
static_cast<unsigned>(lhs) &
static_cast<unsigned>(rhs));
101 tracer_base(
const sc_core::sc_module_name& nm, sc_core::sc_trace_file* tf,
bool owned =
true);
138 static void set_default_trace_enable(
bool);
140 static bool get_default_trace_enable();
143 static std::string get_name();
145 virtual void descend(
const sc_core::sc_object*,
bool trace_all);
147 static void try_trace(sc_core::sc_trace_file* trace_file,
const sc_core::sc_object*
object,
trace_types t);
149 sc_core::sc_trace_file* trf{
nullptr};
158 std::unique_ptr<cci::cci_param<bool>> default_trace_enable;
trace_types
identifies the various type to be traced
trace_types operator&(trace_types lhs, trace_types rhs)
operator overload to allow boolean and operations on trace_types
trace_types operator|(trace_types lhs, trace_types rhs)
operator overload to allow boolean or operations on trace_types
const sc_core::sc_trace_file * get_trace_file() const
get the tracefile used by this tracer
cci::cci_param_handle default_trace_enable_handle
void set_trace_file(sc_core::sc_trace_file *trf)
set the trace file of this tracer
tracer_base(const sc_core::sc_module_name &nm)
named constructor
cci::cci_broker_handle cci_broker
void set_trace_types(trace_types t)
set the types to trace