#include <ahb_target.h>
 | 
| 
using  | payload_type = tlm::tlm_base_protocol_types::tlm_payload_type | 
|   | 
| 
using  | phase_type = tlm::tlm_base_protocol_types::tlm_phase_type | 
|   | 
 | 
| 
  | SC_HAS_PROCESS (ahb_target_b) | 
|   | 
| 
void  | b_transport (payload_type &trans, sc_core::sc_time &t) override | 
|   | 
| 
tlm::tlm_sync_enum  | nb_transport_fw (payload_type &trans, phase_type &phase, sc_core::sc_time &t) override | 
|   | 
| 
bool  | get_direct_mem_ptr (payload_type &trans, tlm::tlm_dmi &dmi_data) override | 
|   | 
| 
unsigned int  | transport_dbg (payload_type &trans) override | 
|   | 
| void  | set_operation_cb (std::function< unsigned(payload_type &trans)> cb) | 
|   | Set the operation callback function.  More...
  | 
|   | 
| void  | operation_resp (payload_type &trans, bool sync=false) | 
|   | 
 | 
| 
sc_core::sc_in< bool >  | clk_i {"clk_i"} | 
|   | 
| 
sc_core::sc_attribute< unsigned >  | wr_data_accept_delay {"wr_data_accept_delay", 0} | 
|   | the latency between between BEGIN(_PARTIAL)_REQ and END(_PARTIAL)_REQ (AWVALID to AWREADY and WVALID to WREADY) 
  | 
|   | 
| 
sc_core::sc_attribute< unsigned >  | rd_addr_accept_delay {"rd_addr_accept_delay", 0} | 
|   | the latency between between BEGIN_REQ and END_REQ (ARVALID to ARREADY) 
  | 
|   | 
| 
sc_core::sc_attribute< unsigned >  | rd_data_beat_delay {"rd_data_beat_delay", 0} | 
|   | the latency between between END(_PARTIAL)_RESP and BEGIN(_PARTIAL)_RESP (RREADY to RVALID) 
  | 
|   | 
| 
sc_core::sc_attribute< unsigned >  | rd_resp_delay {"rd_resp_delay", 0} | 
|   | the latency between request and response phase. Will be overwritten by the return of the callback function (if registered) 
  | 
|   | 
| 
sc_core::sc_attribute< unsigned >  | wr_resp_delay {"wr_resp_delay", 0} | 
|   | the latency between request and response phase. Will be overwritten by the return of the callback function (if registered) 
  | 
|   | 
 | 
| 
sc_core::sc_port_b< tlm::tlm_bw_transport_if< tlm::tlm_base_protocol_types > > &  | socket_bw | 
|   | 
| 
sc_core::sc_semaphore  | sn_sem {1} | 
|   | 
| 
sc_core::sc_mutex  | wr | 
|   | 
| 
sc_core::sc_mutex  | rd | 
|   | 
| 
sc_core::sc_mutex  | sn | 
|   | 
| 
bool  | fast_resp {false} | 
|   | 
| 
bool  | fast_req {false} | 
|   | 
| 
std::function< unsigned(payload_type &trans)>  | operation_cb | 
|   | 
| 
scc::ordered_semaphore  | rd_resp {1} | 
|   | 
| 
scc::ordered_semaphore  | wr_resp {1} | 
|   | 
| 
sc_core::sc_clock *  | clk_if {nullptr} | 
|   | 
the target protocol engine base class 
Definition at line 37 of file ahb_target.h.
 
◆ ahb_target_b()
  
  
      
        
          | ahb::pe::ahb_target_b::ahb_target_b  | 
          ( | 
          const sc_core::sc_module_name &  | 
          nm,  | 
         
        
           | 
           | 
          sc_core::sc_port_b< tlm::tlm_bw_transport_if< tlm::tlm_base_protocol_types >> &  | 
          port,  | 
         
        
           | 
           | 
          size_t  | 
          transfer_width  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
explicitprotected   | 
  
 
the constructor. Protected as it should only be called by derived classes
- Parameters
 - 
  
    | nm | the module name  | 
    | port |  | 
    | transfer_width |  | 
  
   
 
 
◆ operation_resp()
      
        
          | void ahb_target_b::operation_resp  | 
          ( | 
          payload_type &  | 
          trans,  | 
        
        
           | 
           | 
          bool  | 
          sync = false  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
 
◆ set_operation_cb()
  
  
      
        
          | void ahb::pe::ahb_target_b::set_operation_cb  | 
          ( | 
          std::function< unsigned(payload_type &trans)>  | 
          cb | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Set the operation callback function. 
This callback is invoked once a transaction arrives. This function is not allowed to block and returns the latency of the operation i.e. the duration until the reponse phase starts 
- Todo:
 - refine API
 
- Parameters
 - 
  
  
 
Definition at line 86 of file ahb_target.h.
 
 
The documentation for this class was generated from the following files:
- /home/eyck/git/SystemC-Components/src/interfaces/ahb/pe/ahb_target.h
 
- /home/eyck/git/SystemC-Components/src/interfaces/ahb/pe/ahb_target.cpp