MatchLib
|
Parameterized banked scratchpad memory. More...
#include <Scratchpad.h>
Classes | |
struct | bank_req_t |
Public Member Functions | |
typedef | NVUINTW (NBANKS_LOG2) bank_sel_t |
typedef | NVUINTW (ADDR_WIDTH-NBANKS_LOG2) bank_addr_t |
SC_HAS_PROCESS (Scratchpad) | |
Scratchpad (sc_module_name name_) | |
void | run () |
Public Attributes | |
sc_in_clk | clk |
sc_in< bool > | rst |
Connections::In< cli_req_t< T, ADDR_WIDTH, N > > | cli_req |
Connections::Out< cli_rsp_t< T, N > > | cli_rsp |
mem_array_sep< T, CAPACITY_IN_BYTES, 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_req_t< T, ADDR_WIDTH, N > | curr_cli_req |
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_BYTES - 1>::val |
static const int | NBANKS_LOG2 = nvhls::nbits<N - 1>::val |
Parameterized banked scratchpad memory.
T | EntryType |
N | Number of requests |
CAPACITY_IN_BYTES |
Ports: 1 input port for requests (load OR store) from client 1 output port for replies (load only) back to client
Input parameters: Number of banks (assumed to be same as the number of requests) Address Width
This module 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 87 of file Scratchpad.h.