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


Public Member Functions | |
| tlm2_lwtr (bool recording_enabled=true, tx_db *tr_db=tx_db::get_default_db()) | |
| tlm2_lwtr (const char *full_name, bool recording_enabled=true, tx_db *tr_db=tx_db::get_default_db()) | |
| 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... | |
| 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< tlm::tlm_fw_transport_if< TYPES > > | fw_port {"fw_port"} | 
| the port where fw accesses are forwarded to  | |
| sc_core::sc_port< tlm::tlm_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 stream for further viewing and analysis. The handle of the created transaction is stored in an tlm_extension so that another instance of the tlm2_lwtr e.g. further down the path can link to it.
Definition at line 81 of file tlm2_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 338 of file tlm2_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 602 of file tlm2_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 618 of file tlm2_lwtr.h.
      
  | 
  inline | 
get the current state of transaction recording
Definition at line 214 of file tlm2_lwtr.h.
      
  | 
  inline | 
get the current state of transaction recording
Definition at line 220 of file tlm2_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 480 of file tlm2_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 402 of file tlm2_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 634 of file tlm2_lwtr.h.