scc
2022.4.0
SystemC components library
|
configurable tracer for automatic port and signal tracing More...
#include <configurable_tracer.h>
Public Member Functions | |
configurable_tracer (std::string const &&name, bool enable_tx=true, bool enable_vcd=true, bool default_enable=false, sc_core::sc_object *top=nullptr) | |
configurable_tracer (std::string const &name, bool enable_tx=true, bool enable_vcd=true, bool default_enable=false, sc_core::sc_object *top=nullptr) | |
configurable_tracer (std::string const &&name, file_type type, bool enable_vcd=true, bool default_enable=false, sc_core::sc_object *top=nullptr) | |
configurable_tracer (std::string const &name, file_type type, bool enable_vcd=true, bool default_enable=false, sc_core::sc_object *top=nullptr) | |
configurable_tracer (std::string const &&name, file_type type, sc_core::sc_trace_file *tf=nullptr, bool default_enable=false, sc_core::sc_object *top=nullptr) | |
configurable_tracer (std::string const &name, file_type type, sc_core::sc_trace_file *tf=nullptr, bool default_enable=false, sc_core::sc_object *top=nullptr) | |
~configurable_tracer () | |
void | add_control () |
Public Member Functions inherited from scc::tracer | |
tracer (std::string const &&name, file_type tx_type, file_type sig_type, sc_core::sc_object *top=nullptr) | |
tracer (std::string const &name, file_type tx_type=ENABLE, file_type sig_type=ENABLE, sc_core::sc_object *top=nullptr) | |
tracer (std::string const &&name, file_type type, bool enable=true, sc_core::sc_object *top=nullptr) | |
tracer (std::string const &name, file_type type, bool enable=true, sc_core::sc_object *top=nullptr) | |
tracer (std::string const &&name, file_type type, sc_core::sc_trace_file *tf, sc_core::sc_object *top=nullptr) | |
tracer (std::string const &name, file_type type, sc_core::sc_trace_file *tf, sc_core::sc_object *top=nullptr) | |
virtual | ~tracer () override |
the destructor | |
Public Member Functions inherited from scc::tracer_base | |
tracer_base (const sc_core::sc_module_name &nm) | |
named constructor More... | |
tracer_base (const sc_core::sc_module_name &nm, sc_core::sc_trace_file *tf, bool owned=true) | |
named constructor with trace file More... | |
~tracer_base () | |
destructor | |
void | set_trace_types (trace_types t) |
set the types to trace More... | |
const sc_core::sc_trace_file * | get_trace_file () const |
get the tracefile used by this tracer More... | |
sc_core::sc_trace_file * | get_trace_file () |
void | set_trace_file (sc_core::sc_trace_file *trf) |
set the trace file of this tracer More... | |
Protected Member Functions | |
void | descend (const sc_core::sc_object *, bool trace_all=false) override |
depth-first walk thru the design hierarchy and trace signals resp. call trace() function | |
bool | get_trace_enabled (const sc_core::sc_object *, bool=false) |
check for existence of 'enableTracing' attribute and return value of default otherwise | |
void | augment_object_hierarchical (sc_core::sc_object *) |
add the 'enableTracing' attribute to sc_module | |
void | end_of_elaboration () override |
Protected Member Functions inherited from scc::tracer | |
tracer (std::string const &&name, file_type tx_type, file_type sig_type, sc_core::sc_object *top, sc_core::sc_module_name const &nm) | |
tracer (std::string const &&name, file_type type, sc_core::sc_trace_file *tf, sc_core::sc_object *top, sc_core::sc_module_name const &nm) | |
void | end_of_elaboration () override |
void | end_of_simulation () override |
Protected Attributes | |
std::vector< cci::cci_param_untyped * > | params |
array of created cci parameter | |
bool | control_added {false} |
Protected Attributes inherited from scc::tracer | |
scv_tr::scv_tr_db * | txdb {nullptr} |
lwtr::tx_db * | lwtr_db {nullptr} |
cci::cci_broker_handle | cci_broker |
the cci broker | |
Protected Attributes inherited from scc::tracer_base | |
bool | default_trace_enable {true} |
the default for tracing if no attribute is configured | |
sc_core::sc_trace_file * | trf {nullptr} |
trace_types | types_to_trace {trace_types::ALL} |
Additional Inherited Members | |
Public Types inherited from scc::tracer | |
enum | file_type { NONE , ENABLE , TEXT , COMPRESSED , SQLITE , FTR , CFTR , LWFTR , LWCFTR , CUSTOM , SC_VCD = TEXT , PULL_VCD = COMPRESSED , PUSH_VCD = SQLITE , FST } |
defines the transaction trace output type More... | |
Public Attributes inherited from scc::tracer | |
cci::cci_param< unsigned > | tx_trace_type |
cci::cci_param< unsigned > | sig_trace_type |
cci::cci_param< bool > | close_db_in_eos |
Static Protected Member Functions inherited from scc::tracer_base | |
static std::string | get_name () |
static void | try_trace (sc_core::sc_trace_file *trace_file, const sc_core::sc_object *object, trace_types t) |
configurable tracer for automatic port and signal tracing
This class traverses the SystemC object hierarchy and registers all signals and ports found with the tracing infrastructure. Using a sc_core::sc_attribute or a CCI param named "enableTracing" this can be switch on or off on a per module basis
Definition at line 35 of file configurable_tracer.h.
configurable_tracer::configurable_tracer | ( | std::string const && | name, |
bool | enable_tx = true , |
||
bool | enable_vcd = true , |
||
bool | default_enable = false , |
||
sc_core::sc_object * | top = nullptr |
||
) |
constructs a tracer object
name | basename of the trace file(s) |
enable_tx | enables transaction teacing |
enable_vcd | enable VCD (signal based) tracing |
default_enable | value of parameter enableTracing if not defined by module or CCIs |
Definition at line 26 of file configurable_tracer.cpp.
|
inline |
constructs a tracer object
name | basename of the trace file(s) |
enable_tx | enables transaction teacing |
enable_vcd | enable VCD (signal based) tracing |
default_enable | value of parameter enableTracing if not defined by module or CCIs |
Definition at line 55 of file configurable_tracer.h.
configurable_tracer::configurable_tracer | ( | std::string const && | name, |
file_type | type, | ||
bool | enable_vcd = true , |
||
bool | default_enable = false , |
||
sc_core::sc_object * | top = nullptr |
||
) |
constructs a tracer object
name | basename of the trace file(s) |
type | type of trace file for transactions |
enable | enable VCD (signal based) tracing |
default_enable | value of parameter enableTracing if not defined by module or CCIs |
Definition at line 32 of file configurable_tracer.cpp.
|
inline |
constructs a tracer object
name | basename of the trace file(s) |
type | type of trace file for transactions |
enable_vcd | enable VCD (signal based) tracing |
default_enable | value of parameter enableTracing if not defined by module or CCIs |
Definition at line 76 of file configurable_tracer.h.
configurable_tracer::configurable_tracer | ( | std::string const && | name, |
file_type | type, | ||
sc_core::sc_trace_file * | tf = nullptr , |
||
bool | default_enable = false , |
||
sc_core::sc_object * | top = nullptr |
||
) |
constructs a tracer object
name | basename of the trace file(s) |
type | type of trace file for transactions |
tf | the trace file to use for signal and POD tracing |
default_enable | value of parameter enableTracing if not defined by module or CCIs |
Definition at line 38 of file configurable_tracer.cpp.
|
inline |
constructs a tracer object
name | basename of the trace file(s) |
type | type of trace file for transactions |
tf | the trace file to use for signal and POD tracing |
default_enable | value of parameter enableTracing if not defined by module or CCIs |
Definition at line 97 of file configurable_tracer.h.
scc::configurable_tracer::~configurable_tracer | ( | ) |
destructor
Definition at line 44 of file configurable_tracer.cpp.
|
inline |
adds default trace control attribute of name 'enableTracing' to each sc_module in a design hierarchy
Definition at line 107 of file configurable_tracer.h.