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 Gth7     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_gth7    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 
AXIS_CONFIG_GAxiStreamConfigType  :=   AXI_STREAM_CONFIG_INIT_C
 
out xgmii_rxcstd_logic_vector( 7 downto  0)  
 
in localMacslv( 47 downto  0)  :=   MAC_ADDR_INIT_C
 
out xgmiiTxdslv( 63 downto  0)  
 
out xaui_tx_l0_nstd_logic  
 
out gtTxNslv( 3 downto  0)  
 
in xgmii_txcstd_logic_vector( 7 downto  0)  
 
in xgmii_txdstd_logic_vector( 63 downto  0)  
 
out dmaIbMasterAxiStreamMasterType  
 
AXI_ERROR_RESP_Gslv( 1 downto  0)  :=   AXI_RESP_SLVERR_C
 
in xgmiiRxcslv( 7 downto  0)  :=( others => '0')
 
out xaui_tx_l1_pstd_logic  
 
in ibMacPrimMasterAxiStreamMasterType  
 
out xaui_tx_l3_pstd_logic  
 
out xgmiiTxcslv( 7 downto  0)  
 
out axiLiteReadSlaveAxiLiteReadSlaveType  
 
AxiStreamMasterType   macTxAxisMaster
 
AXI_ERROR_RESP_Gslv( 1 downto  0)  :=   AXI_RESP_SLVERR_C
 
in obMacPrimSlaveAxiStreamSlaveType  
 
in axiReadMasterAxiLiteReadMasterType  
 
out debugstd_logic_vector( 5 downto  0)  
 
out axiReadSlaveAxiLiteReadSlaveType  
 
in configuration_vectorstd_logic_vector( 6 downto  0)  
 
out axiLiteWriteSlaveAxiLiteWriteSlaveType  
 
slv( 1 downto  0)  :=   "10" AXI_RESP_SLVERR_C
 
RELEASE_DELAY_Ginteger   range  3 to    positive'high:= 3
 
out obMacPrimMasterAxiStreamMasterType  
 
in xgmiiRxdslv( 63 downto  0)  :=( others => '0')
 
in signal_detectstd_logic_vector( 3 downto  0)  
 
in localMacslv( 47 downto  0)  :=   MAC_ADDR_INIT_C
 
slv( 5 downto  0)   debugVector
 
in dmaObMasterAxiStreamMasterType  
 
EN_AXI_REG_Gboolean  :=   false
 
AxiStreamMasterType   macRxAxisMaster
 
in dmaIbSlaveAxiStreamSlaveType  
 
out ibMacPrimSlaveAxiStreamSlaveType  
 
out xaui_tx_l3_nstd_logic  
 
in axiLiteWriteMasterAxiLiteWriteMasterType  :=   AXI_LITE_WRITE_MASTER_INIT_C
 
PRIM_CONFIG_GAxiStreamConfigType  :=   EMAC_AXIS_CONFIG_C
 
out dmaObSlaveAxiStreamSlaveType  
 
out xaui_tx_l0_pstd_logic  
 
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
 
out xaui_tx_l2_nstd_logic  
 
out status_vectorstd_logic_vector( 7 downto  0)  
 
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
 
out xgmii_rxdstd_logic_vector( 63 downto  0)  
 
out gtTxPslv( 3 downto  0)  
 
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
 
out xaui_tx_l2_pstd_logic  
 
out xaui_tx_l1_nstd_logic  
 
in ethConfigEthMacConfigType  
 
AxiStreamCtrlType   macRxAxisCtrl
 
out ethStatusEthMacStatusType  
 
AxiStreamSlaveType   macTxAxisSlave
 
in axiLiteReadMasterAxiLiteReadMasterType  :=   AXI_LITE_READ_MASTER_INIT_C
 
out axiWriteSlaveAxiLiteWriteSlaveType