|
scc 2025.09
SystemC components library
|


Classes | |
| struct | que_entry |
Public Member Functions | |
| tx_reorderer (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 |
Public Attributes | |
| 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"} |
| sc_core::sc_attribute< unsigned > | min_latency {"min_latency", 10} |
| the minimum time a transaction will stay in the target | |
| sc_core::sc_attribute< unsigned > | max_latency {"max_latency", 100} |
| the maximum time a transaction is allwed to stay in the target | |
| sc_core::sc_attribute< unsigned > | window_size {"window_size", 2} |
| sc_core::sc_attribute< bool > | prioritize_by_latency {"prioritize_by_latency", false} |
| sc_core::sc_attribute< bool > | prioritize_by_qos {"prioritize_by_qos", false} |
| use the QoS field for selection. | |
Protected Member Functions | |
| void | clock_cb () |
Protected Attributes | |
| std::array< std::unordered_map< unsigned, std::deque< que_entry > >, 3 > | reorder_buffer |
Definition at line 25 of file reordering_target.h.
| axi::pe::tx_reorderer::tx_reorderer | ( | const sc_core::sc_module_name & | nm | ) |
Definition at line 19 of file reordering_target.cpp.
|
protected |
Definition at line 42 of file reordering_target.cpp.
|
inlineoverridevirtual |
send a response to a backward transaction if not immediately answered
| 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 59 of file reordering_target.h.
|
overridevirtual |
execute the transport of the payload. Independent of the underlying layer this function is blocking
| 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 34 of file reordering_target.cpp.
| sc_core::sc_port<tlm::scc::pe::intor_bw_nb, 1, sc_core::SC_ZERO_OR_MORE_BOUND> axi::pe::tx_reorderer::bw_o {"bw_o"} |
Definition at line 31 of file reordering_target.h.
| sc_core::sc_in<bool> axi::pe::tx_reorderer::clk_i {"clk_i"} |
Definition at line 27 of file reordering_target.h.
| sc_core::sc_export<tlm::scc::pe::intor_fw_nb> axi::pe::tx_reorderer::fw_i {"fw_i"} |
Definition at line 29 of file reordering_target.h.
| sc_core::sc_attribute<unsigned> axi::pe::tx_reorderer::max_latency {"max_latency", 100} |
the maximum time a transaction is allwed to stay in the target
Definition at line 35 of file reordering_target.h.
| sc_core::sc_attribute<unsigned> axi::pe::tx_reorderer::min_latency {"min_latency", 10} |
the minimum time a transaction will stay in the target
Definition at line 33 of file reordering_target.h.
| sc_core::sc_attribute<bool> axi::pe::tx_reorderer::prioritize_by_latency {"prioritize_by_latency", false} |
use the waiting time as priority value - the longer a transaction waits the higher the probability becomes to be selected
Definition at line 41 of file reordering_target.h.
| sc_core::sc_attribute<bool> axi::pe::tx_reorderer::prioritize_by_qos {"prioritize_by_qos", false} |
use the QoS field for selection.
Definition at line 43 of file reordering_target.h.
|
protected |
Definition at line 67 of file reordering_target.h.
| sc_core::sc_attribute<unsigned> axi::pe::tx_reorderer::window_size {"window_size", 2} |
minimum number of transaction to start with reordering. If the total number is below the threshold transaction will stay for max_latency
Definition at line 38 of file reordering_target.h.