|
scc 2025.09
SystemC components library
|
The TLM2 transaction recorder. More...
#include <tlm_recorder.h>


Public Types | |
| using | recording_types = impl::tlm_recording_types<TYPES> |
| using | mm = tlm::scc::tlm_mm<impl::tlm_recording_types<TYPES>> |
| using | payload_type = typename TYPES::tlm_payload_type |
| using | tlm_recording_payload = impl::tlm_recording_payload<TYPES> |
| Public Types inherited from tlm::nw::tlm_network_fw_transport_if< TYPES > | |
| typedef TYPES | protocol_types |
| Public Types inherited from tlm::nw::tlm_network_bw_transport_if< TYPES > | |
| typedef TYPES | protocol_types |
Public Member Functions | |
| tlm_recorder (sc_core::sc_port_b< tlm::nw::tlm_network_fw_transport_if< TYPES > > &fw_port, sc_core::sc_port_b< tlm::nw::tlm_network_bw_transport_if< TYPES > > &bw_port, bool recording_enabled=true, SCVNS scv_tr_db *tr_db=SCVNS scv_tr_db::get_default_db()) | |
| tlm_recorder (const char *name, sc_core::sc_port_b< tlm::nw::tlm_network_fw_transport_if< TYPES > > &fw_port, sc_core::sc_port_b< tlm::nw::tlm_network_bw_transport_if< TYPES > > &bw_port, bool recording_enabled=true, SCVNS scv_tr_db *tr_db=SCVNS scv_tr_db::get_default_db()) | |
| tlm::tlm_sync_enum | nb_transport_fw (payload_type &trans, typename TYPES::tlm_phase_type &phase, sc_core::sc_time &delay) override |
| The non-blocking forward transport function. | |
| tlm::tlm_sync_enum | nb_transport_bw (payload_type &trans, typename TYPES::tlm_phase_type &phase, sc_core::sc_time &delay) override |
| The non-blocking backward transport function. | |
| void | b_transport (payload_type &trans, sc_core::sc_time &delay) override |
| The blocking transport function. | |
| unsigned int | transport_dbg (payload_type &trans) override |
| The debug transportfunction. | |
| bool | isRecordingBlockingTxEnabled () const |
| get the current state of transaction recording | |
| bool | isRecordingNonBlockingTxEnabled () const |
| get the current state of transaction recording | |
| void | initialize_streams () |
Public Attributes | |
| cci::cci_param< bool > | enableBlTracing |
| the attribute to selectively enable/disable recording of blocking protocol tx | |
| cci::cci_param< bool > | enableNbTracing |
| the attribute to selectively enable/disable recording of non-blocking protocol tx | |
| cci::cci_param< bool > | enableTimedTracing {"enableTimedTracing", true} |
| the attribute to selectively enable/disable timed recording | |
| cci::cci_param< bool > | enableDmiTracing {"enableDmiTracing", false} |
| the attribute to selectively enable/disable DMI recording | |
| sc_core::sc_port_b< tlm::nw::tlm_network_fw_transport_if< TYPES > > & | fw_port |
| the port where fw accesses are forwarded to | |
| sc_core::sc_port_b< tlm::nw::tlm_network_bw_transport_if< TYPES > > & | bw_port |
| the port where bw accesses are forwarded to | |
The TLM2 transaction recorder.
This module records all TLM transaction to a SCV transaction stream for further viewing and analysis. The handle of the created transaction is storee in an tlm_extension so that another instance of the scv_tlm_recorder e.g. further down the opath can link to it.
Definition at line 88 of file tlm_recorder.h.
| using tlm::nw::scv::tlm_recorder< TYPES >::mm = tlm::scc::tlm_mm<impl::tlm_recording_types<TYPES>> |
Definition at line 98 of file tlm_recorder.h.
| using tlm::nw::scv::tlm_recorder< TYPES >::payload_type = typename TYPES::tlm_payload_type |
Definition at line 99 of file tlm_recorder.h.
| using tlm::nw::scv::tlm_recorder< TYPES >::recording_types = impl::tlm_recording_types<TYPES> |
Definition at line 97 of file tlm_recorder.h.
| using tlm::nw::scv::tlm_recorder< TYPES >::tlm_recording_payload = impl::tlm_recording_payload<TYPES> |
Definition at line 100 of file tlm_recorder.h.
|
inline |
Definition at line 133 of file tlm_recorder.h.
|
inline |
Definition at line 151 of file tlm_recorder.h.
|
inlineoverridevirtual |
Definition at line 161 of file tlm_recorder.h.
|
override |
The blocking transport function.
This type of transaction is forwarded and recorded to a transaction stream named "b_tx" with current timestamps. Additionally a "b_tx_timed" is been created recording the transactions at their annotated delay
| trans | is the generic payload of the transaction |
| delay | is the annotated delay |
Definition at line 300 of file tlm_recorder.h.
|
inline |
Definition at line 255 of file tlm_recorder.h.
|
inline |
get the current state of transaction recording
Definition at line 221 of file tlm_recorder.h.
|
inline |
get the current state of transaction recording
Definition at line 227 of file tlm_recorder.h.
|
override |
The non-blocking backward transport function.
This type of transaction is forwarded and recorded to a transaction stream named "nb_bw" with current timestamps.
| trans | is the generic payload of the transaction |
| phase | is the current phase of the transaction |
| delay | is the annotated delay |
Definition at line 454 of file tlm_recorder.h.
|
override |
The non-blocking forward transport function.
This type of transaction is forwarded and recorded to a transaction stream named "nb_fw" with current timestamps.
| trans | is the generic payload of the transaction |
| phase | is the current phase of the transaction |
| delay | is the annotated delay |
Definition at line 362 of file tlm_recorder.h.
|
override |
The debug transportfunction.
This type of transaction is just forwarded and not recorded.
| trans | is the generic payload of the transaction |
Definition at line 545 of file tlm_recorder.h.
| sc_core::sc_port_b<tlm::nw::tlm_network_bw_transport_if<TYPES> >& tlm::nw::scv::tlm_recorder< TYPES >::bw_port |
the port where bw accesses are forwarded to
Definition at line 118 of file tlm_recorder.h.
| cci::cci_param<bool> tlm::nw::scv::tlm_recorder< TYPES >::enableBlTracing |
the attribute to selectively enable/disable recording of blocking protocol tx
Definition at line 103 of file tlm_recorder.h.
| cci::cci_param<bool> tlm::nw::scv::tlm_recorder< TYPES >::enableDmiTracing {"enableDmiTracing", false} |
the attribute to selectively enable/disable DMI recording
Definition at line 112 of file tlm_recorder.h.
| cci::cci_param<bool> tlm::nw::scv::tlm_recorder< TYPES >::enableNbTracing |
the attribute to selectively enable/disable recording of non-blocking protocol tx
Definition at line 106 of file tlm_recorder.h.
| cci::cci_param<bool> tlm::nw::scv::tlm_recorder< TYPES >::enableTimedTracing {"enableTimedTracing", true} |
the attribute to selectively enable/disable timed recording
Definition at line 109 of file tlm_recorder.h.
| sc_core::sc_port_b<tlm::nw::tlm_network_fw_transport_if<TYPES> >& tlm::nw::scv::tlm_recorder< TYPES >::fw_port |
the port where fw accesses are forwarded to
Definition at line 115 of file tlm_recorder.h.