MatchLib
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | List of all members
AxiSlaveToMem< axiCfg, capacity, fifoDepth > Class Template Reference

An AXI slave SRAM. More...

#include <AxiSlaveToMem.h>

Inheritance diagram for AxiSlaveToMem< axiCfg, capacity, fifoDepth >:

Public Types

typedef axi::axi4< axiCfg > axi4_
 

Public Member Functions

 SC_CTOR (AxiSlaveToMem)
 

Public Attributes

axi4_::read::template slave if_rd
 
axi4_::write::template slave if_wr
 
sc_in< bool > reset_bar
 
sc_in< bool > clk
 
FIFO< typename axi4_::ReadPayload, fifoDepth > rd_resp
 
FIFO< typename axi4_::AddrPayload, fifoDepth > wr_addr
 
FIFO< typename axi4_::AddrPayload, fifoDepth > rd_addr
 
FIFO< typename axi4_::WRespPayload, fifoDepth > wr_resp
 

Static Public Attributes

static const int kDebugLevel = 1
 
static const int bytesPerWord = axiCfg::dataWidth >> 3
 

Protected Member Functions

void run ()
 

Detailed Description

template<typename axiCfg, int capacity, int fifoDepth = 8>
class AxiSlaveToMem< axiCfg, capacity, fifoDepth >

An AXI slave SRAM.

Template Parameters
axiCfgA valid AXI config.
capacityThe capacity in bytes of the local SRAM.
fifoDepthDepth of the input and output FIFO queues.
Overview
AxiSlaveToMem is an AXI slave with an internal dual-ported memory used for storage. The module only handles AXI addresses within the range of its internal memory, with a base address of 0. It does not support write strobes. It has internal queues to handle multiple simultaneous requests in flight, and can handle read and write requests independently, but it does not reorder requests.
Usage Guidelines

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:

directive set /path/to/AxiSlaveToMem/run/while -PIPELINE_STALL_MODE stall

This may reduce area/power.

Definition at line 57 of file AxiSlaveToMem.h.


The documentation for this class was generated from the following file: