1 -------------------------------------------------------------------------------     2 -- File       : GigEthGthUltraScale.vhd     3 -- Company    : SLAC National Accelerator Laboratory     4 -- Created    : 2016-02-07     5 -- Last update: 2017-05-12     6 -------------------------------------------------------------------------------     7 -- Description: 1000BASE-X Ethernet 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_GigEthCore_gthUltraScale    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     66 end GigEthGthUltraScale;
   142          -- Ethernet Interface   148          -- GMII PHY Interface   159    U_GigEthGthUltraScaleCore : 
entity work.GigEthGthUltraScaleCore
   162          gtrefclk               => 
sysClk125,
  -- Used as CPLL clock reference   163          independent_clock_bufg => 
sysClk62,
  -- Used for the GT free running and DRP clock   183          gmii_isolate           => 
open,
   189          -- Configuration and Status   190          configuration_vector   => config.coreConfig,
   191          status_vector          => status.coreStatus,
   197    --------------------------------        198    -- Configuration/Status Register      199    --------------------------------        206          -- Local Configurations   211          -- AXI-Lite Register Interface   216          -- Configuration and Status Interface EN_AXI_REG_Gboolean  :=   false
 
in statusGigEthStatusType  
 
out dmaIbMasterAxiStreamMasterType  
 
out axiReadSlaveAxiLiteReadSlaveType  
 
in axiWriteMasterAxiLiteWriteMasterType  
 
AxiLiteReadSlaveType   mAxiReadSlave
 
AxiLiteWriteSlaveType   mAxiWriteSlave
 
in dmaObMasterAxiStreamMasterType  
 
out mAxiReadMasterAxiLiteReadMasterType  
 
in ibMacPrimMasterAxiStreamMasterType  
 
AxiLiteWriteMasterType   mAxiWriteMaster
 
out axiLiteWriteSlaveAxiLiteWriteSlaveType  
 
in mAxiWriteSlaveAxiLiteWriteSlaveType  
 
in localMacslv( 47 downto  0)  :=   MAC_ADDR_INIT_C
 
in obMacPrimSlaveAxiStreamSlaveType  
 
out sAxiWriteSlaveAxiLiteWriteSlaveType  
 
in arstsl  :=not    IN_POLARITY_G
 
AXIS_CONFIG_GAxiStreamConfigType  :=   AXI_STREAM_CONFIG_INIT_C
 
in sAxiReadMasterAxiLiteReadMasterType  
 
slv( 1 downto  0)  :=   "10" AXI_RESP_SLVERR_C
 
in sAxiWriteMasterAxiLiteWriteMasterType  
 
out obMacPrimMasterAxiStreamMasterType  
 
AXI_ERROR_RESP_Gslv( 1 downto  0)  :=   AXI_RESP_SLVERR_C
 
out axiLiteReadSlaveAxiLiteReadSlaveType  
 
EN_AXI_REG_Gboolean  :=   false
 
out ibMacPrimSlaveAxiStreamSlaveType  
 
in axiLiteReadMasterAxiLiteReadMasterType  :=   AXI_LITE_READ_MASTER_INIT_C
 
in localMacslv( 47 downto  0)  :=   MAC_ADDR_INIT_C
 
out configGigEthConfigType  
 
out sAxiReadSlaveAxiLiteReadSlaveType  
 
slv( 15 downto  0)   coreStatus
 
PRIM_CONFIG_GAxiStreamConfigType  :=   EMAC_AXIS_CONFIG_C
 
DURATION_Gnatural   range  0 to (( 2** 30)- 1):= 156250000
 
AXI_ERROR_RESP_Gslv( 1 downto  0)  :=   AXI_RESP_SLVERR_C
 
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 axiReadMasterAxiLiteReadMasterType  
 
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 mAxiReadSlaveAxiLiteReadSlaveType  
 
in gmiiRxdslv( 7 downto  0)  :=( others => '0')
 
in ethConfigEthMacConfigType  
 
out ethStatusEthMacStatusType  
 
out dmaObSlaveAxiStreamSlaveType  
 
in dmaIbSlaveAxiStreamSlaveType  
 
in axiLiteWriteMasterAxiLiteWriteMasterType  :=   AXI_LITE_WRITE_MASTER_INIT_C
 
out mAxiWriteMasterAxiLiteWriteMasterType  
 
AxiLiteReadMasterType   mAxiReadMaster
 
out gmiiTxdslv( 7 downto  0)  
 
out axiWriteSlaveAxiLiteWriteSlaveType