|
| replay_buffer (const sc_core::sc_module_name &nm) |
|
void | transport (tlm::tlm_generic_payload &payload, bool lt_transport=false) override |
|
void | snoop_resp (tlm::tlm_generic_payload &payload, bool sync=false) override |
|
void | end_of_reset () |
|
|
sc_core::sc_in< bool > | clk_i {"clk_i"} |
|
sc_core::sc_export< tlm::scc::pe::intor_fw_nb > | fw_i {"fw_i"} |
|
sc_core::sc_port< tlm::scc::pe::intor_bw_nb, 1, sc_core::SC_ZERO_OR_MORE_BOUND > | bw_o {"bw_o"} |
|
cci::cci_param< std::string > | replay_file_name {"replay_file_name", ""} |
|
|
using | entry_t = std::tuple< uint64_t, unsigned > |
|
|
void | end_of_elaboration () override |
|
void | start_of_simulation () override |
|
void | process_req2resp_fifos () |
|
void | start_rd_resp_thread () |
|
void | start_wr_resp_thread () |
|
|
sc_core::sc_clock * | clk_if {nullptr} |
|
uint64_t | reset_end_cycle {0} |
|
std::vector< std::vector< entry_t > > | rd_sequence |
|
std::vector< std::vector< entry_t > > | wr_sequence |
|
sc_core::sc_time | time_per_byte_rd |
|
sc_core::sc_time | time_per_byte_wr |
|
sc_core::sc_time | time_per_byte_total |
|
scc::fifo_w_cb< std::tuple< tlm::tlm_generic_payload *, unsigned > > | rd_req2resp_fifo {"rd_req2resp_fifo"} |
| queues realizing the latencies
|
|
scc::fifo_w_cb< std::tuple< tlm::tlm_generic_payload *, unsigned > > | wr_req2resp_fifo {"wr_req2resp_fifo"} |
|
scc::fifo_w_cb< tlm::tlm_generic_payload * > | rd_resp_fifo {"rd_resp_fifo"} |
| queues to handle bandwidth limit
|
|
scc::fifo_w_cb< tlm::tlm_generic_payload * > | wr_resp_fifo {"wr_resp_fifo"} |
|
scc::ordered_semaphore | total_arb {1} |
|
double | total_residual_clocks {0.0} |
|
Definition at line 27 of file replay_target.h.
◆ snoop_resp()
void axi::pe::replay_buffer::snoop_resp |
( |
tlm::tlm_generic_payload & |
payload, |
|
|
bool |
sync = false |
|
) |
| |
|
inlineoverridevirtual |
send a response to a backward transaction if not immediately answered
- Parameters
-
payload | object with (optional) extensions |
sync | if true send with next rising clock edge of the pe otherwise send it immediately |
Implements tlm::scc::pe::intor_fw< type::NB >.
Definition at line 51 of file replay_target.h.
◆ transport()
void axi::pe::replay_buffer::transport |
( |
tlm::tlm_generic_payload & |
payload, |
|
|
bool |
lt_transport = false |
|
) |
| |
|
overridevirtual |
execute the transport of the payload. Independent of the underlying layer this function is blocking
- Parameters
-
payload | object with (optional) extensions |
lt_transport | use b_transport instead of nb_transport* |
Implements tlm::scc::pe::intor_fw< type::NB >.
Definition at line 51 of file replay_target.cpp.
The documentation for this class was generated from the following files: