17 #ifndef _SCC_TRACER_H_
18 #define _SCC_TRACER_H_
20 #include "tracer_base.h"
21 #include <cci_configuration>
71 PULL_VCD = COMPRESSED,
79 "Type of TX trace file used for recording. See also scc::tracer::file_type"};
84 "Type of signal trace file used for recording. See also scc::tracer::wave_type"};
89 "Close the waveform/transaction tracing databases during end_of_simulation"};
99 :
tracer(std::move(name), tx_type, sig_type, top,
tracer_base::get_name().c_str()) {}
108 tracer(std::string
const& name,
file_type tx_type = ENABLE,
file_type sig_type = ENABLE, sc_core::sc_object* top =
nullptr)
109 : tracer(std::string(name), tx_type, sig_type, top) {}
118 tracer(std::string
const&& name,
file_type type,
bool enable =
true, sc_core::sc_object* top =
nullptr)
119 : tracer(name,
type, enable ? ENABLE : NONE, top) {}
128 tracer(std::string
const& name,
file_type type,
bool enable =
true, sc_core::sc_object* top =
nullptr)
129 : tracer(name,
type, enable ? ENABLE : NONE, top) {}
138 tracer(std::string
const&& name,
file_type type, sc_core::sc_trace_file* tf, sc_core::sc_object* top =
nullptr)
139 : tracer(std::move(name),
type, tf, top,
tracer_base::get_name().c_str()) {}
148 tracer(std::string
const& name,
file_type type, sc_core::sc_trace_file* tf, sc_core::sc_object* top =
nullptr)
149 : tracer(std::string(name),
type, tf, top) {}
157 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);
158 tracer(std::string
const&& name,
file_type type, sc_core::sc_trace_file* tf, sc_core::sc_object* top,
159 sc_core::sc_module_name
const& nm);
160 void end_of_elaboration()
override;
161 void end_of_simulation()
override;
165 scv_tr::scv_tr_db* txdb{
nullptr};
167 lwtr::tx_db* lwtr_db{
nullptr};
172 void init_tx_db(
file_type type, std::string
const&& name);
174 sc_core::sc_object* top{
nullptr};
base class for automatic tracer
tracer_base(const sc_core::sc_module_name &nm)
named constructor
a component traversing the SystemC object hierarchy and tracing the objects
cci::cci_param< unsigned > sig_trace_type
virtual ~tracer() override
the destructor
cci::cci_param< bool > close_db_in_eos
cci::cci_param< unsigned > tx_trace_type
file_type
defines the transaction trace output type
cci::cci_broker_handle cci_broker
the cci broker
SystemC Verification Library (SCV) Transaction Recording.