#include <apb_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 (apb_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...
|
|
|
sc_core::sc_in< bool > | clk_i {"clk_i"} |
|
|
tlm::tlm_generic_payload * | active_tx {nullptr} |
|
sc_core::sc_port_b< tlm::tlm_bw_transport_if< tlm::tlm_base_protocol_types > > & | socket_bw |
|
std::function< unsigned(payload_type &trans)> | operation_cb |
|
sc_core::sc_clock * | clk_if {nullptr} |
|
sc_core::sc_process_handle | mhndl |
|
the target protocol engine base class
Definition at line 31 of file apb_target.h.
◆ apb_target_b()
apb::pe::apb_target_b::apb_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 | |
◆ set_operation_cb()
void apb::pe::apb_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 57 of file apb_target.h.
The documentation for this class was generated from the following files:
- /home/eyck/git/SystemC-Components/src/bus_interfaces/apb/pe/apb_target.h
- /home/eyck/git/SystemC-Components/src/bus_interfaces/apb/pe/apb_target.cpp