1 -------------------------------------------------------------------------------     2 -- File       : GigEthGth7.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_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    142          -- Ethernet Interface   148          -- GMII PHY Interface   159    U_GigEthGth7Core : 
entity work.GigEthGth7Core
   162          gtrefclk_bufg          => 
sysClk125,
  -- Used as DRP clock in IP core   163          gtrefclk               => 
sysClk125,
  -- Used as CPLL clock reference   164          independent_clock_bufg => 
sysClk125,
  -- Used as stable clock reference   184          gmii_isolate           => 
open,
   190          -- Quad PLL Interface   191          gt0_qplloutclk_in      => '0',
        -- QPLL not used   192          gt0_qplloutrefclk_in   => '0',
        -- QPLL not used   193          -- Configuration and Status   194          configuration_vector   => config.coreConfig,
   195          status_vector          => status.coreStatus,
   201    --------------------------------        202    -- Configuration/Status Register      203    --------------------------------        210          -- Local Configurations   215          -- AXI-Lite Register Interface   220          -- Configuration and Status Interface EN_AXI_REG_Gboolean  :=   false
AXI_ERROR_RESP_Gslv( 1 downto  0)  :=   AXI_RESP_SLVERR_C
in statusGigEthStatusType  
in axiLiteReadMasterAxiLiteReadMasterType  :=   AXI_LITE_READ_MASTER_INIT_C
out axiReadSlaveAxiLiteReadSlaveType  
AxiLiteReadSlaveType   mAxiReadSlave
in axiLiteWriteMasterAxiLiteWriteMasterType  :=   AXI_LITE_WRITE_MASTER_INIT_C
in axiWriteMasterAxiLiteWriteMasterType  
AxiLiteWriteMasterType   mAxiWriteMaster
out dmaObSlaveAxiStreamSlaveType  
out mAxiReadMasterAxiLiteReadMasterType  
in ibMacPrimMasterAxiStreamMasterType  
in mAxiWriteSlaveAxiLiteWriteSlaveType  
out axiLiteReadSlaveAxiLiteReadSlaveType  
in obMacPrimSlaveAxiStreamSlaveType  
out axiLiteWriteSlaveAxiLiteWriteSlaveType  
out sAxiWriteSlaveAxiLiteWriteSlaveType  
in arstsl  :=not    IN_POLARITY_G
out dmaIbMasterAxiStreamMasterType  
in sAxiReadMasterAxiLiteReadMasterType  
slv( 1 downto  0)  :=   "10" AXI_RESP_SLVERR_C
in sAxiWriteMasterAxiLiteWriteMasterType  
AxiLiteWriteSlaveType   mAxiWriteSlave
out obMacPrimMasterAxiStreamMasterType  
out ibMacPrimSlaveAxiStreamSlaveType  
in localMacslv( 47 downto  0)  :=   MAC_ADDR_INIT_C
EN_AXI_REG_Gboolean  :=   false
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
in dmaObMasterAxiStreamMasterType  
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
AXIS_CONFIG_GAxiStreamConfigType  :=   AXI_STREAM_CONFIG_INIT_C
in axiReadMasterAxiLiteReadMasterType  
AxiLiteReadMasterType   mAxiReadMaster
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  
in dmaIbSlaveAxiStreamSlaveType  
out mAxiWriteMasterAxiLiteWriteMasterType  
out gmiiTxdslv( 7 downto  0)  
out axiWriteSlaveAxiLiteWriteSlaveType