1 ------------------------------------------------------------------------------- 2 -- File : XauiGthUltraScaleWrapper.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2015-04-08 5 -- Last update: 2016-09-29 6 ------------------------------------------------------------------------------- 7 -- Description: GTH Ultra Scale Wrapper for 10 GigE XAUI 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;
30 --! @ingroup ethernet_XauiCore_gthUltraScale 36 -- XAUI Configurations 39 -- AXI-Lite Configurations 42 -- AXI Streaming Configurations 45 -- Local Configurations 46 localMac :
in slv(
47 downto 0) := MAC_ADDR_INIT_C;
47 -- Streaming DMA Interface 54 -- Slave AXI-Lite Interface 67 -- Transceiver Debug Interface 73 -- MGT Clock Port (125MHz, 156.25MHz, or 312.5MHz) 81 end XauiGthUltraScaleWrapper;
95 IBUFDS_GTE3_Inst : IBUFDS_GTE3
103 GEN_WDT : if (EN_WDT_G = true) generate 105 ----------------------- 106 -- 10 Second LinkUp WDT 107 ----------------------- 130 BYPASS_WDT : if (EN_WDT_G = false) generate 136 ---------------------- 137 -- 10 GigE XAUI Module 138 ---------------------- 142 -- XAUI Configurations 145 -- AXI-Lite Configurations 148 -- AXI Streaming Configurations 151 -- Local Configurations 160 -- Slave AXI-Lite Interface 172 -- Transceiver Debug Interface
out axiLiteReadSlaveAxiLiteReadSlaveType
in gtTxPostCursorslv( 19 downto 0) :=( others => '0')
out gtTxNslv( 3 downto 0)
AXIS_CONFIG_GAxiStreamConfigType := AXI_STREAM_CONFIG_INIT_C
out axiLiteReadSlaveAxiLiteReadSlaveType
REF_CLK_FREQ_Greal := 156.25E+6
in dmaIbSlaveAxiStreamSlaveType
in gtTxPolarityslv( 3 downto 0) := x"0"
out dmaIbMasterAxiStreamMasterType
out axiLiteWriteSlaveAxiLiteWriteSlaveType
DURATION_Gnatural range 0 to (( 2** 31)- 1):= 156250000
in dmaObMasterAxiStreamMasterType
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
in gtTxPolarityslv( 3 downto 0) := x"0"
REF_CLK_FREQ_Greal := 156.25E+6
in axiLiteReadMasterAxiLiteReadMasterType := AXI_LITE_READ_MASTER_INIT_C
out gtTxPslv( 3 downto 0)
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
EN_AXI_REG_Gboolean := false
out dmaObSlaveAxiStreamSlaveType
in arstsl :=not IN_POLARITY_G
in axiLiteWriteMasterAxiLiteWriteMasterType := AXI_LITE_WRITE_MASTER_INIT_C
in gtTxPostCursorslv( 19 downto 0) :=( others => '0')
out gtTxPslv( 3 downto 0)
slv( 1 downto 0) := "10" AXI_RESP_SLVERR_C
in gtRxPolarityslv( 3 downto 0) := x"0"
in gtTxDiffCtrlslv( 15 downto 0) := x"CCCC"
out dmaObSlaveAxiStreamSlaveType
out gtTxNslv( 3 downto 0)
in gtTxDiffCtrlslv( 15 downto 0) := x"CCCC"
out dmaIbMasterAxiStreamMasterType
EN_AXI_REG_Gboolean := false
STABLE_CLK_FREQ_Greal := 156.25E+6
in gtRxPolarityslv( 3 downto 0) := x"0"
DURATION_Gnatural range 0 to (( 2** 30)- 1):= 156250000
in localMacslv( 47 downto 0) := MAC_ADDR_INIT_C
in gtTxPreCursorslv( 19 downto 0) :=( others => '0')
in gtTxPreCursorslv( 19 downto 0) :=( others => '0')
in localMacslv( 47 downto 0) := MAC_ADDR_INIT_C
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
XAUI_20GIGE_Gboolean := false
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
out axiLiteWriteSlaveAxiLiteWriteSlaveType
in axiLiteWriteMasterAxiLiteWriteMasterType := AXI_LITE_WRITE_MASTER_INIT_C
in dmaObMasterAxiStreamMasterType
AXIS_CONFIG_GAxiStreamConfigType := AXI_STREAM_CONFIG_INIT_C
in dmaIbSlaveAxiStreamSlaveType
in axiLiteReadMasterAxiLiteReadMasterType := AXI_LITE_READ_MASTER_INIT_C
XAUI_20GIGE_Gboolean := false