scc
2022.4.0
SystemC components library
|
The TLM2 transaction recorder. More...
#include <ace_lwtr.h>
Public Member Functions | |
ace_lwtr (char const *full_name, unsigned bus_width, bool recording_enabled=true, tx_db *tr_db=tx_db::get_default_db()) | |
The constructor of the component. More... | |
tlm::tlm_sync_enum | nb_transport_fw (typename TYPES::tlm_payload_type &trans, typename TYPES::tlm_phase_type &phase, sc_core::sc_time &delay) override |
The non-blocking forward transport function. More... | |
tlm::tlm_sync_enum | nb_transport_bw (typename TYPES::tlm_payload_type &trans, typename TYPES::tlm_phase_type &phase, sc_core::sc_time &delay) override |
The non-blocking backward transport function. More... | |
void | b_transport (typename TYPES::tlm_payload_type &trans, sc_core::sc_time &delay) override |
The blocking transport function. More... | |
void | b_snoop (typename TYPES::tlm_payload_type &trans, sc_core::sc_time &delay) override |
The blocking snoop function. More... | |
bool | get_direct_mem_ptr (typename TYPES::tlm_payload_type &trans, tlm::tlm_dmi &dmi_data) override |
The direct memory interface forward function. More... | |
void | invalidate_direct_mem_ptr (sc_dt::uint64 start_addr, sc_dt::uint64 end_addr) override |
The direct memory interface backward function. More... | |
unsigned int | transport_dbg (typename TYPES::tlm_payload_type &trans) override |
The debug transportfunction. More... | |
bool | isRecordingBlockingTxEnabled () const |
get the current state of transaction recording More... | |
bool | isRecordingNonBlockingTxEnabled () const |
get the current state of transaction recording More... | |
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 | |
Protected Member Functions | |
void | initialize_streams () |
Protected Attributes | |
sc_core::sc_port< axi::ace_fw_transport_if< TYPES > > | fw_port {"fw_port"} |
the port where fw accesses are forwarded to | |
sc_core::sc_port< axi::ace_bw_transport_if< TYPES > > | bw_port {"bw_port"} |
the port where bw accesses are forwarded to | |
The TLM2 transaction recorder.
This module records all TLM transaction to a LWTR transaction fiber for further viewing and analysis. The handle of the created transaction is stored in an tlm_extension so that another instance of the ace_lwtr e.g. further down the path can link to it.
Definition at line 64 of file ace_lwtr.h.
|
inline |
The constructor of the component.
name | is the SystemC module name of the recorder |
tr_db | is a pointer to a transaction recording database. If none is provided the default one is retrieved. If this database is not initialized (e.g. by not calling lwtr::set_default_db() ) recording is disabled. |
Definition at line 86 of file ace_lwtr.h.
|
overridevirtual |
The blocking snoop 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 |
Implements axi::bw_blocking_transport_if< TYPES::tlm_payload_type >.
Definition at line 389 of file ace_lwtr.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 324 of file ace_lwtr.h.
|
override |
The direct memory interface forward function.
This type of transaction is just forwarded and not recorded.
trans | is the generic payload of the transaction |
dmi_data | is the structure holding the dmi information |
Definition at line 688 of file ace_lwtr.h.
|
override |
The direct memory interface backward function.
This type of transaction is just forwarded and not recorded.
start_addr | is the start address of the memory area being invalid |
end_addr | is the end address of the memory area being invalid |
Definition at line 705 of file ace_lwtr.h.
|
inline |
get the current state of transaction recording
Definition at line 196 of file ace_lwtr.h.
|
inline |
get the current state of transaction recording
Definition at line 202 of file ace_lwtr.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 534 of file ace_lwtr.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 450 of file ace_lwtr.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 721 of file ace_lwtr.h.