1 ------------------------------------------------------------------------------- 2 -- File : AxiMicronN25QCore.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2015-03-03 5 -- Last update: 2016-09-20 6 ------------------------------------------------------------------------------- 7 -- Description: AXI-Lite interface to N25Q FLASH Memory IC 8 ------------------------------------------------------------------------------- 9 -- Note: This module doesn't support DSPI or QSPI interface yet. 10 ------------------------------------------------------------------------------- 11 -- This file is part of 'SLAC Firmware Standard Library'. 12 -- It is subject to the license terms in the LICENSE.txt file found in the 13 -- top-level directory of this distribution and at: 14 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 15 -- No part of 'SLAC Firmware Standard Library', including this file, 16 -- may be copied, modified, propagated, or distributed except according to 17 -- the terms contained in the LICENSE.txt file. 18 ------------------------------------------------------------------------------- 21 use ieee.std_logic_1164.
all;
27 use unisim.vcomponents.
all;
30 --! @ingroup devices_Micron_n25q 44 -- AXI-Lite Register Interface 52 end AxiMicronN25QCore;
57 -- Check SPI_CLK_FREQ_G 58 -- Note: Max. read frequency is 50 MHz 60 report "SPI_CLK_FREQ_G must be <= 50.0E+6" 62 -- Check AXI_CLK_FREQ_G >= 2*SPI_CLK_FREQ_G 64 report "AXI_CLK_FREQ_G must be >= 2*SPI_CLK_FREQ_G" 80 -- AXI-Lite Register Interface
in axiReadMasterAxiLiteReadMasterType
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
out axiWriteSlaveAxiLiteWriteSlaveType
out axiReadSlaveAxiLiteReadSlaveType
SPI_CLK_FREQ_Greal := 25.0E+6
SPI_CLK_FREQ_Greal := 25.0E+6
AXI_CLK_FREQ_Greal := 200.0E+6
slv( 1 downto 0) := "10" AXI_RESP_SLVERR_C
in axiReadMasterAxiLiteReadMasterType
in axiWriteMasterAxiLiteWriteMasterType
MEM_ADDR_MASK_Gslv( 31 downto 0) := x"00000000"
AXI_CLK_FREQ_Greal := 200.0E+6
out axiReadSlaveAxiLiteReadSlaveType
in axiWriteMasterAxiLiteWriteMasterType
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
out axiWriteSlaveAxiLiteWriteSlaveType
MEM_ADDR_MASK_Gslv( 31 downto 0) := x"00000000"