scc
2022.4.0
SystemC components library
|
#include <ahb_initiator.h>
Public Types | |
using | base = ahb_initiator_b |
using | payload_type = base::payload_type |
using | phase_type = base::phase_type |
Public Types inherited from ahb::pe::ahb_initiator_b | |
using | payload_type = tlm::tlm_generic_payload |
using | phase_type = tlm::tlm_phase |
Public Member Functions | |
ahb3_initiator (const sc_core::sc_module_name &nm, tlm::tlm_initiator_socket< BUSWIDTH, TYPES, N, POL > &socket) | |
the constructor More... | |
ahb3_initiator (ahb3_initiator const &)=delete | |
ahb3_initiator (ahb3_initiator &&)=delete | |
ahb3_initiator & | operator= (ahb3_initiator const &)=delete |
ahb3_initiator & | operator= (ahb3_initiator &&)=delete |
Public Member Functions inherited from ahb::pe::ahb_initiator_b | |
SC_HAS_PROCESS (ahb_initiator_b) | |
tlm::tlm_sync_enum | nb_transport_bw (payload_type &trans, phase_type &phase, sc_core::sc_time &t) override |
void | invalidate_direct_mem_ptr (sc_dt::uint64 start_range, sc_dt::uint64 end_range) override |
size_t | get_transferwith_in_bytes () const |
void | transport (payload_type &trans, bool blocking) |
The forward transport function. It behaves blocking and is re-entrant. More... | |
ahb_initiator_b (sc_core::sc_module_name nm, sc_core::sc_port_b< tlm::tlm_fw_transport_if< tlm::tlm_base_protocol_types >> &port, size_t transfer_width, bool coherent) | |
ahb_initiator_b (ahb_initiator_b const &)=delete | |
ahb_initiator_b (ahb_initiator_b &&)=delete | |
ahb_initiator_b & | operator= (ahb_initiator_b const &)=delete |
ahb_initiator_b & | operator= (ahb_initiator_b &&)=delete |
void | snoop_resp (payload_type &trans, bool sync=false) |
Additional Inherited Members | |
Public Attributes inherited from ahb::pe::ahb_initiator_b | |
sc_core::sc_in< bool > | clk_i {"clk_i"} |
sc_core::sc_attribute< unsigned > | artv {"artv", 0} |
Read address valid to next read address valid. | |
sc_core::sc_attribute< unsigned > | awtv {"awtv", 0} |
Write address valid to next write address valid. | |
sc_core::sc_attribute< unsigned > | wbv {"wbv", 0} |
Write data handshake to next beat valid. | |
sc_core::sc_attribute< unsigned > | rbr {"rbr", 0} |
Read data valid to same beat ready. | |
sc_core::sc_attribute< unsigned > | br {"br", 0} |
Write response valid to ready. | |
Protected Member Functions inherited from ahb::pe::ahb_initiator_b | |
unsigned | calculate_beats (payload_type &p) |
Protected Attributes inherited from ahb::pe::ahb_initiator_b | |
const size_t | transfer_width_in_bytes |
const bool | coherent |
sc_core::sc_port_b< tlm::tlm_fw_transport_if< tlm::tlm_base_protocol_types > > & | socket_fw |
std::unordered_map< payload_type *, tx_state * > | tx_state_by_id |
scc::ordered_semaphore_t< 1 > | addr_chnl |
scc::ordered_semaphore_t< 1 > | data_chnl |
sc_core::sc_event | any_tx_finished |
sc_core::sc_time | clk_period {10, sc_core::SC_NS} |
the ahb initiator socket protocol engine adapted to a particular initiator socket configuration
Definition at line 128 of file ahb_initiator.h.
|
inline |
the constructor
nm | the module name |
socket | reference to the initiator socket used to send and receive transactions |
Definition at line 140 of file ahb_initiator.h.