1 ------------------------------------------------------------------------------- 2 -- File : AxiI2cEeprom.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2016-07-11 5 -- Last update: 2016-07-11 6 ------------------------------------------------------------------------------- 7 -- Description: Wrapper for AxiI2cEepromCore 10 -- 24AA01F/24LC01F/24FC01F (1kb: ADDR_WIDTH_G = 7) 11 -- 24AA02F/24LC02F/24FC02F (2kb: ADDR_WIDTH_G = 8) 12 -- 24AA04F/24LC04F/24FC04F (4kb: ADDR_WIDTH_G = 9) 13 -- 24AA08F/24LC08F/24FC08F (8kb: ADDR_WIDTH_G = 10) 14 -- 24AA16F/24LC16F/24FC16F (16kb: ADDR_WIDTH_G = 11) 15 -- 24AA32F/24LC32F/24FC32F (32kb: ADDR_WIDTH_G = 12) 16 -- 24AA64F/24LC64F/24FC64F (64kb: ADDR_WIDTH_G = 13) 17 -- 24AA128F/24LC128F/24FC128F (128kb: ADDR_WIDTH_G = 14) 18 -- 24AA256F/24LC256F/24FC256F (256kb: ADDR_WIDTH_G = 15) 19 -- 24AA512F/24LC512F/24FC512F (512kb: ADDR_WIDTH_G = 16) 20 ------------------------------------------------------------------------------- 21 -- This file is part of 'SLAC Firmware Standard Library'. 22 -- It is subject to the license terms in the LICENSE.txt file found in the 23 -- top-level directory of this distribution and at: 24 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 25 -- No part of 'SLAC Firmware Standard Library', including this file, 26 -- may be copied, modified, propagated, or distributed except according to 27 -- the terms contained in the LICENSE.txt file. 28 ------------------------------------------------------------------------------- 31 use ieee.std_logic_1164.
all;
38 use unisim.vcomponents.
all;
41 --! @ingroup protocols_i2c 56 -- AXI-Lite Register Interface 87 -- AXI-Lite Register Interface 98 O => i2ci.scl,
-- Buffer output 99 IO =>
scl,
-- Buffer inout port (connect directly to top-level port) 100 I => i2co.scl,
-- Buffer input 101 T => i2co.scloen
);
-- 3-state enable input, high=input, low=output 105 O => i2ci.sda,
-- Buffer output 106 IO =>
sda,
-- Buffer inout port (connect directly to top-level port) 107 I => i2co.sda,
-- Buffer input 108 T => i2co.sdaoen
);
-- 3-state enable input, high=input, low=output in axilWriteMasterAxiLiteWriteMasterType
ADDR_WIDTH_Gpositive := 16
I2C_ADDR_Gslv( 6 downto 0) := "1010000"
AXI_CLK_FREQ_Greal := 156.25E+6
in axilReadMasterAxiLiteReadMasterType
I2C_MIN_PULSE_Greal := 100.0E-9
slv( 1 downto 0) := "10" AXI_RESP_SLVERR_C
I2C_SCL_FREQ_Greal := 100.0E+3
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
I2C_MIN_PULSE_Greal := 100.0E-9
AXI_CLK_FREQ_Greal := 156.25E+6
POLL_TIMEOUT_Gpositive := 16
I2C_ADDR_Gslv( 6 downto 0) := "1010000"
in axilReadMasterAxiLiteReadMasterType
out axilReadSlaveAxiLiteReadSlaveType
ADDR_WIDTH_Gpositive := 16
out axilWriteSlaveAxiLiteWriteSlaveType
I2C_SCL_FREQ_Greal := 100.0E+3
POLL_TIMEOUT_Gpositive := 16
out axilReadSlaveAxiLiteReadSlaveType
in axilWriteMasterAxiLiteWriteMasterType
out axilWriteSlaveAxiLiteWriteSlaveType