1 ------------------------------------------------------------------------------- 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2015-02-12 5 -- Last update: 2016-09-29 6 ------------------------------------------------------------------------------- 7 -- Description: 10 GigE XAUI for Gtx7 8 ------------------------------------------------------------------------------- 9 -- This file is part of 'SLAC Firmware Standard Library'. 10 -- It is subject to the license terms in the LICENSE.txt file found in the 11 -- top-level directory of this distribution and at: 12 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. 13 -- No part of 'SLAC Firmware Standard Library', including this file, 14 -- may be copied, modified, propagated, or distributed except according to 15 -- the terms contained in the LICENSE.txt file. 16 ------------------------------------------------------------------------------- 19 use ieee.std_logic_1164.
all;
28 --! @ingroup ethernet_XauiCore_gtx7 32 -- AXI-Lite Configurations 35 -- AXI Streaming Configurations 38 -- Local Configurations 39 localMac :
in slv(
47 downto 0) := MAC_ADDR_INIT_C;
40 -- Streaming DMA Interface 47 -- Slave AXI-Lite Interface 108 -- Ethernet Interface 114 -- XGMII PHY Interface 153 -- Configuration and Status 155 debug => status.debugVector,
161 -------------------------- 162 -- 10GBASE-R's Reset Logic 163 -------------------------- 166 RstSync_0 :
entity work.
RstSync 177 RstSync_1 :
entity work.
RstSync 188 -------------------------------- 189 -- Configuration/Status Register 190 -------------------------------- 191 U_XauiReg :
entity work.
XauiReg 197 -- Local Configurations 199 -- AXI-Lite Register Interface 206 -- Configuration and Status Interface
out xaui_tx_l1_pstd_logic
out axiLiteWriteSlaveAxiLiteWriteSlaveType
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
in localMacslv( 47 downto 0) := MAC_ADDR_INIT_C
out xaui_tx_l0_pstd_logic
out xgmiiTxdslv( 63 downto 0)
out xaui_tx_l2_pstd_logic
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
in xgmiiRxcslv( 7 downto 0) :=( others => '0')
AXIS_CONFIG_GAxiStreamConfigType := AXI_STREAM_CONFIG_INIT_C
in axiLiteWriteMasterAxiLiteWriteMasterType := AXI_LITE_WRITE_MASTER_INIT_C
in ibMacPrimMasterAxiStreamMasterType
AxiStreamSlaveType macTxAxisSlave
in axiLiteReadMasterAxiLiteReadMasterType := AXI_LITE_READ_MASTER_INIT_C
out xgmiiTxcslv( 7 downto 0)
out xaui_tx_l0_nstd_logic
in signal_detectstd_logic_vector( 3 downto 0)
in obMacPrimSlaveAxiStreamSlaveType
in axiReadMasterAxiLiteReadMasterType
in dmaObMasterAxiStreamMasterType
in dmaIbSlaveAxiStreamSlaveType
out xaui_tx_l3_nstd_logic
out axiReadSlaveAxiLiteReadSlaveType
in xgmii_txdstd_logic_vector( 63 downto 0)
out gtTxPslv( 3 downto 0)
out xaui_tx_l1_nstd_logic
slv( 1 downto 0) := "10" AXI_RESP_SLVERR_C
RELEASE_DELAY_Ginteger range 3 to positive'high:= 3
out xgmii_rxcstd_logic_vector( 7 downto 0)
out obMacPrimMasterAxiStreamMasterType
out status_vectorstd_logic_vector( 7 downto 0)
out gtTxNslv( 3 downto 0)
in xgmiiRxdslv( 63 downto 0) :=( others => '0')
out xaui_tx_l3_pstd_logic
slv( 5 downto 0) debugVector
out ibMacPrimSlaveAxiStreamSlaveType
AxiStreamCtrlType macRxAxisCtrl
PRIM_CONFIG_GAxiStreamConfigType := EMAC_AXIS_CONFIG_C
EN_AXI_REG_Gboolean := false
PHY_TYPE_Gstring := "XGMII"
AxiLiteReadMasterType :=(araddr =>( others => '0'),arprot =>( others => '0'),arvalid => '0',rready => '1') AXI_LITE_READ_MASTER_INIT_C
AxiStreamConfigType :=(TSTRB_EN_C => false,TDATA_BYTES_C => 16,TDEST_BITS_C => 4,TID_BITS_C => 0,TKEEP_MODE_C => TKEEP_NORMAL_C,TUSER_BITS_C => 4,TUSER_MODE_C => TUSER_NORMAL_C) AXI_STREAM_CONFIG_INIT_C
in axiWriteMasterAxiLiteWriteMasterType
AxiLiteWriteMasterType :=(awaddr =>( others => '0'),awprot =>( others => '0'),awvalid => '0',wdata =>( others => '0'),wstrb =>( others => '1'),wvalid => '0',bready => '1') AXI_LITE_WRITE_MASTER_INIT_C
in localMacslv( 47 downto 0) := MAC_ADDR_INIT_C
in configuration_vectorstd_logic_vector( 6 downto 0)
in ethConfigEthMacConfigType
out dmaObSlaveAxiStreamSlaveType
out ethStatusEthMacStatusType
in xgmii_txcstd_logic_vector( 7 downto 0)
EN_AXI_REG_Gboolean := false
AxiStreamMasterType macRxAxisMaster
out xaui_tx_l2_nstd_logic
out axiLiteReadSlaveAxiLiteReadSlaveType
AxiStreamMasterType macTxAxisMaster
out debugstd_logic_vector( 5 downto 0)
out xgmii_rxdstd_logic_vector( 63 downto 0)
out dmaIbMasterAxiStreamMasterType
out axiWriteSlaveAxiLiteWriteSlaveType