MatchLib
|
Parameterized banked scratchpad memory implemented as a C++ class (i.e. not a SystemC module) More...
#include <Scratchpad.h>
Classes | |
struct | bank_req_t |
Public Types | |
typedef cli_req_t< T, ADDR_WIDTH, N > | req_t |
typedef cli_rsp_t< T, N > | rsp_t |
Public Member Functions | |
typedef | NVUINTW (NBANKS_LOG2) bank_sel_t |
typedef | NVUINTW (ADDR_WIDTH - NBANKS_LOG2) bank_addr_t |
void | store (req_t req) |
rsp_t | load (req_t req) |
void | load_store (req_t curr_cli_req, rsp_t &load_rsp) |
Public Attributes | |
mem_array_sep< T, CAPACITY_IN_WORDS, N > | banks |
bank_req_t | input_reqs [N] |
bool | input_reqs_valid [N] |
bank_req_t | bank_reqs [N] |
bool | bank_reqs_valid [N] |
T | bank_rsps_data [N] |
bool | bank_rsps_valid [N] |
bool | load_rsps_valid [N] |
cli_rsp_t< T, N > | load_rsp |
bank_sel_t | bank_src_lane [N] |
bank_sel_t | bank_dst_lane [N] |
Static Public Attributes | |
static const int | ADDR_WIDTH = nvhls::nbits<CAPACITY_IN_WORDS - 1>::val |
static const int | NBANKS_LOG2 = nvhls::nbits<N - 1>::val |
Parameterized banked scratchpad memory implemented as a C++ class (i.e. not a SystemC module)
T | EntryType |
N | Number of requests |
CAPACITY_IN_WORDS | Total number of words of type T in memory |
This class sets the stall mode to flush by default to mitigate possible RTL bugs that can occur in the default stall mode. If you are confident that this class of bugs will not occur in your use case, you can change the stall mode via TCL directive:
This may reduce area/power.
Definition at line 101 of file Scratchpad.h.