|
| memory (const sc_core::sc_module_name &nm) |
|
constexpr unsigned long long | getSize () const |
| return the size of the array
|
|
void | set_operation_callback (std::function< int(memory< SIZE, BUSWIDTH > &, tlm::tlm_generic_payload &, sc_core::sc_time &delay)> cb) |
| allows to register a callback or functor being invoked upon an access to the memory More...
|
|
void | set_dmi_callback (std::function< int(memory< SIZE, BUSWIDTH > &, tlm::tlm_generic_payload &, tlm::tlm_dmi &)> cb) |
| allows to register a callback or functor being invoked upon a direct memory access (DMI) to the memory More...
|
|
int | handle_operation (tlm::tlm_generic_payload &trans, sc_core::sc_time &delay) |
| ! handle the memory operation independent on interface function used
|
|
bool | handle_dmi (tlm::tlm_generic_payload &gp, tlm::tlm_dmi &dmi_data) |
| handle the dmi functionality
|
|
|
tlm::scc::target_mixin< tlm::tlm_target_socket< BUSWIDTH > > | target {"ts"} |
| the target socket to connect to TLM
|
|
scc::sc_in_opt< sc_core::sc_time > | clk_i {"clk_i"} |
| the optional clock pin to calculate clock based delays
|
|
cci::cci_param< sc_core::sc_time > | rd_resp_delay {"rd_resp_delay", sc_core::SC_ZERO_TIME} |
|
cci::cci_param< sc_core::sc_time > | wr_resp_delay {"wr_resp_delay", sc_core::SC_ZERO_TIME} |
|
cci::cci_param< unsigned > | rd_resp_clk_delay {"rd_resp_clk_delay", 0} |
|
cci::cci_param< unsigned > | wr_resp_clk_delay {"wr_resp_clk_delay", 0} |
|
std::function< int(memory< SIZE, BUSWIDTH > &, tlm::tlm_generic_payload &, sc_core::sc_time &delay)> | operation_cb |
|
std::function< int(memory< SIZE, BUSWIDTH > &, tlm::tlm_generic_payload &, tlm::tlm_dmi &)> | dmi_cb |
|
template<unsigned long long SIZE, unsigned BUSWIDTH = LT>
class scc::memory< SIZE, BUSWIDTH >
simple TLM2.0 LT memory model
This model uses the util::sparse_array as backing store. Therefore it can have an arbitrary size since only pages for accessed addresses are allocated.
TODO: add some more attributes/parameters to configure access time and type (DMI allowed, read only, etc)
- Template Parameters
-
SIZE | size of the memery |
BUSWIDTH | bus width of the socket |
Definition at line 48 of file memory.h.