#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.
|
|
| 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.
◆ payload_type
| using apb::pe::apb_target_b::payload_type = tlm::tlm_base_protocol_types::tlm_payload_type |
◆ phase_type
| using apb::pe::apb_target_b::phase_type = tlm::tlm_base_protocol_types::tlm_phase_type |
◆ 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 | |
◆ b_transport()
| void apb_target_b::b_transport |
( |
payload_type & | trans, |
|
|
sc_core::sc_time & | t ) |
|
override |
◆ end_of_elaboration()
| void apb_target_b::end_of_elaboration |
( |
| ) |
|
|
overrideprotected |
◆ get_direct_mem_ptr()
| bool apb_target_b::get_direct_mem_ptr |
( |
payload_type & | trans, |
|
|
tlm::tlm_dmi & | dmi_data ) |
|
override |
◆ nb_transport_fw()
| tlm_sync_enum apb_target_b::nb_transport_fw |
( |
payload_type & | trans, |
|
|
phase_type & | phase, |
|
|
sc_core::sc_time & | t ) |
|
override |
◆ response()
| void apb_target_b::response |
( |
| ) |
|
|
protected |
◆ 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 58 of file apb_target.h.
◆ transport_dbg()
| unsigned int apb_target_b::transport_dbg |
( |
payload_type & | trans | ) |
|
|
override |
◆ active_tx
| tlm::tlm_generic_payload* apb::pe::apb_target_b::active_tx {nullptr} |
|
protected |
◆ clk_i
| sc_core::sc_in<bool> apb::pe::apb_target_b::clk_i {"clk_i"} |
◆ clk_if
| sc_core::sc_clock* apb::pe::apb_target_b::clk_if {nullptr} |
|
protected |
◆ mhndl
| sc_core::sc_process_handle apb::pe::apb_target_b::mhndl |
|
protected |
◆ operation_cb
| std::function<unsigned(payload_type& trans)> apb::pe::apb_target_b::operation_cb |
|
protected |
◆ socket_bw
| sc_core::sc_port_b<tlm::tlm_bw_transport_if<tlm::tlm_base_protocol_types> >& apb::pe::apb_target_b::socket_bw |
|
protected |
The documentation for this class was generated from the following files:
- /home/eyck/Projects/MINRES/SystemC-Components/src/interfaces/apb/pe/apb_target.h
- /home/eyck/Projects/MINRES/SystemC-Components/src/interfaces/apb/pe/apb_target.cpp