|
scc
2024.06
SystemC components library
|
#include <chi_rn_initiator.h>


Public Types | |
| using | base = chi_rn_initiator_b |
| using | payload_type = base::payload_type |
| using | phase_type = base::phase_type |
Public Types inherited from chi::pe::chi_rn_initiator_b | |
| using | payload_type = chi::chi_protocol_types::tlm_payload_type |
| using | phase_type = chi::chi_protocol_types::tlm_phase_type |
| using | cb_function_t = std::function< void(chi::pe::channel_e, payload_type &)> |
Public Member Functions | |
| chi_rn_initiator (const sc_core::sc_module_name &nm, chi::chi_initiator_socket< BUSWIDTH, TYPES, N, POL > &socket_) | |
| the constructor More... | |
| chi_rn_initiator (chi_rn_initiator const &)=delete | |
| chi_rn_initiator (chi_rn_initiator &&)=delete | |
| chi_rn_initiator & | operator= (chi_rn_initiator const &)=delete |
| chi_rn_initiator & | operator= (chi_rn_initiator &&)=delete |
Public Member Functions inherited from chi::pe::chi_rn_initiator_b | |
| void | b_snoop (payload_type &trans, sc_core::sc_time &t) override |
| 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) override |
| The forward transport function. It behaves blocking and is re-entrant. More... | |
| void | snoop_resp (payload_type &trans, bool sync=false) override |
| triggers a non-blocking snoop response if the snoop callback does not do so. More... | |
| chi_rn_initiator_b (sc_core::sc_module_name nm, sc_core::sc_port_b< chi::chi_fw_transport_if< chi_protocol_types >> &port, size_t transfer_width) | |
| chi_rn_initiator_b (chi_rn_initiator_b const &)=delete | |
| chi_rn_initiator_b (chi_rn_initiator_b &&)=delete | |
| chi_rn_initiator_b & | operator= (chi_rn_initiator_b const &)=delete |
| chi_rn_initiator_b & | operator= (chi_rn_initiator_b &&)=delete |
| void | add_protocol_cb (channel_e e, cb_function_t cb) |
Public Member Functions inherited from chi::bw_blocking_transport_if< TRANS > | |
| virtual void | b_snoop (TRANS &trans, sc_core::sc_time &t)=0 |
| snoop access to a snooped master More... | |
Additional Inherited Members | |
Public Attributes inherited from chi::pe::chi_rn_initiator_b | |
| sc_core::sc_in< bool > | clk_i {"clk_i"} |
| sc_core::sc_export< tlm::scc::pe::intor_fw_b > | fw_i {"fw_i"} |
| sc_core::sc_port< tlm::scc::pe::intor_bw_b, 1, sc_core::SC_ZERO_OR_MORE_BOUND > | bw_o {"bw_o"} |
| cci::cci_param< unsigned > | src_id {"src_id", 1} |
| cci::cci_param< unsigned > | tgt_id {"tgt_id", 0} |
| cci::cci_param< bool > | data_interleaving {"data_interleaving", true} |
| cci::cci_param< bool > | strict_income_order {"strict_income_order", false} |
| cci::cci_param< bool > | use_legacy_mapping {"use_legacy_mapping", false} |
| cci::cci_param< unsigned > | snp_req_credit_limit {"snp_req_credit_limit", std::numeric_limits<unsigned>::max()} |
Protected Member Functions inherited from chi::pe::chi_rn_initiator_b | |
| void | end_of_elaboration () override |
| unsigned | calculate_beats (payload_type &p) |
| void | snoop_dispatch () |
| void | snoop_handler (payload_type *trans) |
| void | grant_credit (unsigned amount=1) |
Protected Attributes inherited from chi::pe::chi_rn_initiator_b | |
| const size_t | transfer_width_in_bytes |
| std::string | instance_name |
| scc::ordered_semaphore | req_credits {"TxReqCredits", 0U, true} |
| scc::sc_variable< unsigned > | snp_counter {"SnpInFlight", 0} |
| scc::sc_variable< unsigned > | snp_credit_sent {"SnpCreditGranted", 0} |
| sc_core::sc_port_b< chi::chi_fw_transport_if< chi_protocol_types > > & | socket_fw |
| std::unordered_map< uintptr_t, tx_state * > | tx_state_by_trans |
| std::vector< tx_state * > | tx_state_pool |
| std::unordered_map< unsigned, scc::ordered_semaphore > | active_tx_by_id |
| scc::ordered_semaphore | strict_order_sem {1} |
| tlm_utils::peq_with_get< payload_type > | snp_peq {"snp_peq"} |
| tlm_utils::peq_with_get< payload_type > | snp_dispatch_que {"snp_dispatch_que"} |
| unsigned | thread_avail {0} |
| unsigned | thread_active {0} |
| scc::ordered_semaphore | req_order {1} |
| scc::ordered_semaphore | req_chnl {1} |
| scc::ordered_semaphore | wdat_chnl {1} |
| scc::ordered_semaphore | prio_wdat_chnl {1} |
| scc::ordered_semaphore | sresp_chnl {1} |
| scc::ordered_semaphore | prio_sresp_chnl {1} |
| sc_core::sc_event | any_tx_finished |
| sc_core::sc_time | clk_period {10, sc_core::SC_NS} |
the CHI initiator socket protocol engine adapted to a particular initiator socket configuration
Definition at line 208 of file chi_rn_initiator.h.
|
inline |
the constructor
| socket | reference to the initiator socket used to send and receive transactions |
Definition at line 218 of file chi_rn_initiator.h.