Entity: AxiLiteRingBuffer

Diagram

time TPD_G boolean EXT_CTRL_ONLY_G string MEMORY_TYPE_G boolean REG_EN_G positive range 1 to 32 DATA_WIDTH_G positive range 1 to 19 RAM_ADDR_WIDTH_G sl dataClk sl dataRst sl dataValid slv(DATA_WIDTH_G-1 downto 0) dataValue sl bufferEnable sl bufferClear sl axilClk sl axilRst AxiLiteReadMasterType axilReadMaster AxiLiteWriteMasterType axilWriteMaster AxiLiteReadSlaveType axilReadSlave AxiLiteWriteSlaveType axilWriteSlave

Description


Company : SLAC National Accelerator Laboratory

Description: Wrapper for simple BRAM based ring buffer with AXI-Lite interface

This file is part of 'SLAC Firmware Standard Library'. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of 'SLAC Firmware Standard Library', including this file, may be copied, modified, propagated, or distributed except according to

the terms contained in the LICENSE.txt file.

Generics

Generic name Type Value Description
TPD_G time 1 ns General Configurations
EXT_CTRL_ONLY_G boolean false
MEMORY_TYPE_G string "block"
REG_EN_G boolean true
DATA_WIDTH_G positive range 1 to 32 32
RAM_ADDR_WIDTH_G positive range 1 to 19 10

Ports

Port name Direction Type Description
dataClk in sl Data to store in ring buffer
dataRst in sl
dataValid in sl
dataValue in slv(DATA_WIDTH_G-1 downto 0)
bufferEnable in sl
bufferClear in sl
axilClk in sl AXI-Lite interface for readout
axilRst in sl
axilReadMaster in AxiLiteReadMasterType
axilReadSlave out AxiLiteReadSlaveType
axilWriteMaster in AxiLiteWriteMasterType
axilWriteSlave out AxiLiteWriteSlaveType

Signals

Name Type Description
dataR DataRegType
dataRin DataRegType
axilBufferEnable sl Synchronized AXI register
axilBufferClear sl Synchronized AXI register
axilR AxilRegType
axilRin AxilRegType
axilRamRdData slv(DATA_WIDTH_G-1 downto 0)
axilFirstAddr slv(RAM_ADDR_WIDTH_G-1 downto 0)
axilLength slv(RAM_ADDR_WIDTH_G-1 downto 0)
extBufferEnable sl
extBufferClear sl

Constants

Name Type Value Description
DATA_REG_INIT_C DataRegType ( ramWrEn => '0',
ramWrData => (others => '0'),
bufferLength => (others => '0'),
firstAddr => (others => '0'),
nextAddr => (others => '0'))
AXIL_ADDR_WIDTH_C integer RAM_ADDR_WIDTH_G+3 ------------------------------ AXI-Lite clock domain signals ------------------------------
AXIL_REG_INIT_C AxilRegType ( bufferEnable => '0',
bufferClear => '0',
ramRdAddr => (others => '0'),
axilRdEn => "000",
axilReadSlave => AXI_LITE_READ_SLAVE_INIT_C,
axilWriteSlave => AXI_LITE_WRITE_SLAVE_INIT_C)

Types

Name Type Description
DataRegType
AxilRegType

Processes

Description
------------------------ Main AXI-Stream process ------------------------

Description
---------------------- Main AXI-Lite process ----------------------

Instantiations

Description

Synchronize AXI registers to data clock dataClk

Description

Synchronize write address across to AXI-Lite clock