Entity: AxiRam
- File: AxiRam.vhd
Diagram
Description
Company : SLAC National Accelerator Laboratory
Description: General AXI RAM Module
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 | |
SYNTH_MODE_G | string | "inferred" | |
MEMORY_TYPE_G | string | "block" | |
READ_LATENCY_G | natural range 0 to 2 | 2 | |
AXI_CONFIG_G | AxiConfigType |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
axiClk | in | sl | Clock and Reset |
axiRst | in | sl | |
sAxiWriteMaster | in | AxiWriteMasterType | Slave Write Interface |
sAxiWriteSlave | out | AxiWriteSlaveType | |
sAxiReadMaster | in | AxiReadMasterType | Slave Read Interface |
sAxiReadSlave | out | AxiReadSlaveType |
Signals
Name | Type | Description |
---|---|---|
r | RegType | |
rin | RegType | |
wrEn | sl | |
wrData | slv(DATA_WIDTH_C-1 downto 0) | |
wrAddr | slv(ADDR_WIDTH_C-1 downto 0) | |
wstrb | slv(DATA_BYTES_C-1 downto 0) | |
rdEn | slv(1 downto 0) | |
rdData | slv(DATA_WIDTH_C-1 downto 0) | |
rdAddr | slv(ADDR_WIDTH_C-1 downto 0) |
Constants
Name | Type | Value | Description |
---|---|---|---|
DATA_BYTES_C | positive | AXI_CONFIG_G.DATA_BYTES_C | |
DATA_WIDTH_C | positive | 8*DATA_BYTES_C | |
OFFSET_C | positive | ite(DATA_BYTES_C = 1, 0, log2(DATA_BYTES_C)) |
|
ADDR_WIDTH_C | positive | AXI_CONFIG_G.ADDR_WIDTH_C-OFFSET_C | |
REG_INIT_C | RegType | ( -- Write Signals wrData => (others => '0'), wrAddr => (others => '0'), wstrb => (others => '0'), wid => (others => '0'), awlen => (others => '0'), sAxiWriteSlave => AXI_WRITE_SLAVE_INIT_C, wrState => WR_ADDR_S, -- Read Signals rdAddr => (others => '0'), rid => (others => '0'), arlen => (others => '0'), sAxiReadSlave => AXI_READ_SLAVE_INIT_C, rdEn => (others => '0'), rdLat => (others => '0'), rdState => RD_ADDR_S) |
Types
Name | Type | Description |
---|---|---|
WrStateType | ( WR_ADDR_S, WR_DATA_S, WR_BLOWOFF_S) |
|
RdStateType | ( RD_ADDR_S, RD_PIPELINE_S, RD_DATA_S) |
|
RegType |
Processes
- comb: ( axiRst, r, rdData, sAxiReadMaster, sAxiWriteMaster )
- seq: ( axiClk )