|
scc 2025.09
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, sc_core::sc_object *top=nullptr) | |
| configurable_tracer (std::string const &name, bool enable_tx=true, bool enable_vcd=true, sc_core::sc_object *top=nullptr) | |
| configurable_tracer (std::string const &&name, file_type type, bool enable_vcd=true, sc_core::sc_object *top=nullptr) | |
| configurable_tracer (std::string const &name, file_type type, bool enable_vcd=true, sc_core::sc_object *top=nullptr) | |
| configurable_tracer (std::string const &&name, file_type tx_type, file_type sig_type, sc_core::sc_object *top=nullptr) | |
| configurable_tracer (std::string const &name, file_type tx_type, file_type sig_type, sc_core::sc_object *top=nullptr) | |
| configurable_tracer (std::string const &&name, file_type type, sc_core::sc_trace_file *tf=nullptr, sc_core::sc_object *top=nullptr) | |
| configurable_tracer (std::string const &name, file_type type, sc_core::sc_trace_file *tf=nullptr, sc_core::sc_object *top=nullptr) | |
| ~configurable_tracer () | |
| void | add_control () |
| void | add_control (bool trace_default) |
| 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 | |
| tracer_base (const sc_core::sc_module_name &nm, sc_core::sc_trace_file *tf, bool owned=true) | |
| named constructor with trace file | |
| ~tracer_base () | |
| destructor | |
| void | set_trace_types (trace_types t) |
| set the types to trace | |
| const sc_core::sc_trace_file * | get_trace_file () const |
| get the tracefile used by this tracer | |
| 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 | |
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 *, bool) |
| 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} |
| std::unique_ptr< cci::cci_param< unsigned > > | tx_trace_type |
| std::unique_ptr< cci::cci_param< unsigned > > | sig_trace_type |
| std::unique_ptr< cci::cci_param< bool > > | close_db_in_eos |
| Protected Attributes inherited from scc::tracer_base | |
| sc_core::sc_trace_file * | trf {nullptr} |
| trace_types | types_to_trace {trace_types::ALL} |
| cci::cci_broker_handle | cci_broker |
| std::unique_ptr< cci::cci_param< bool > > | default_trace_enable |
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... | |
| Static Public Member Functions inherited from scc::tracer_base | |
| static void | set_default_trace_enable (bool) |
| static bool | get_default_trace_enable () |
| Public Attributes inherited from scc::tracer | |
| cci::cci_param_handle | tx_trace_type_handle |
| cci::cci_param_handle | sig_trace_type_handle |
| cci::cci_param_handle | close_db_in_eos_handle |
| Public Attributes inherited from scc::tracer_base | |
| cci::cci_param_handle | default_trace_enable_handle |
| 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, | ||
| sc_core::sc_object * | top = nullptr ) |
constructs a tracer object
| name | basename of the trace file(s) |
| enable_tx | enables transaction tracing |
| enable_vcd | enable VCD (signal based) tracing |
| top | the topleve to use to trace variables |
Definition at line 25 of file configurable_tracer.cpp.
|
inline |
constructs a tracer object
| name | basename of the trace file(s) |
| enable_tx | enables transaction tracing |
| enable_vcd | enable VCD (signal based) tracing |
| top | the topleve to use to trace variables |
Definition at line 54 of file configurable_tracer.h.
| configurable_tracer::configurable_tracer | ( | std::string const && | name, |
| file_type | type, | ||
| bool | enable_vcd = true, | ||
| 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 |
| top | the topleve to use to trace variables |
Definition at line 28 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 |
| top | the topleve to use to trace variables |
Definition at line 73 of file configurable_tracer.h.
| configurable_tracer::configurable_tracer | ( | std::string const && | name, |
| file_type | tx_type, | ||
| file_type | sig_type, | ||
| sc_core::sc_object * | top = nullptr ) |
constructs a tracer object
| name | basename of the trace file(s) |
| tx_type | type of trace file for transactions |
| sig_type | type of trace file for signals |
| top | the topleve to use to trace variables |
Definition at line 31 of file configurable_tracer.cpp.
|
inline |
Definition at line 84 of file configurable_tracer.h.
| configurable_tracer::configurable_tracer | ( | std::string const && | name, |
| file_type | type, | ||
| sc_core::sc_trace_file * | tf = nullptr, | ||
| 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 |
| top | the topleve to use to trace variables |
Definition at line 34 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 |
| top | the topleve to use to trace variables |
Definition at line 103 of file configurable_tracer.h.
| scc::configurable_tracer::~configurable_tracer | ( | ) |
destructor
Definition at line 37 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 112 of file configurable_tracer.h.
|
inline |
adds default trace control attribute of name 'enableTracing' to each sc_module in a design hierarchy
| trace_default | the default value of the attribute to be added |
Definition at line 118 of file configurable_tracer.h.
|
protected |
add the 'enableTracing' attribute to sc_module
Definition at line 95 of file configurable_tracer.cpp.
|
overrideprotectedvirtual |
depth-first walk thru the design hierarchy and trace signals resp. call trace() function
Reimplemented from scc::tracer_base.
Definition at line 43 of file configurable_tracer.cpp.
|
overrideprotected |
Definition at line 118 of file configurable_tracer.cpp.
|
protected |
check for existence of 'enableTracing' attribute and return value of default otherwise
Definition at line 81 of file configurable_tracer.cpp.
|
protected |
Definition at line 137 of file configurable_tracer.h.
|
protected |
array of created cci parameter
Definition at line 136 of file configurable_tracer.h.