1 ------------------------------------------------------------------------------- 2 -- File : TenGigEthGthUltraScaleClk.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2015-04-08 5 -- Last update: 2016-04-19 6 ------------------------------------------------------------------------------- 7 -- Description: 10GBASE-R Ethernet's Clock Module 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;
24 use unisim.vcomponents.
all;
27 --! @ingroup ethernet_TenGigEthCore_gthUltraScale 34 -- MGT Clock Port (156.25 MHz or 312.5 MHz) 46 end TenGigEthGthUltraScaleClk;
62 IBUFDS_GTE3_Inst : IBUFDS_GTE3
64 REFCLK_EN_TX_PATH => '0',
65 REFCLK_HROW_CK_SEL => "
00",
-- 2'b00: ODIV2 = O 66 REFCLK_ICNTL_RX => "
00"
) 74 BUFG_GT_Inst : BUFG_GT
91 -- Simulation Parameters 95 -- QPLL Configuration Parameters 121 qPllRefClk
(1) => '0',
122 qPllOutClk
(0) => qPllOutClk,
123 qPllOutClk
(1) =>
open,
124 qPllOutRefClk
(0) => qPllOutRefClk,
125 qPllOutRefClk
(1) =>
open,
126 qPllLock
(0) => qPllLock,
128 qPllLockDetClk
(0) => '0',
-- IP Core ties this to GND (see note below) 129 qPllLockDetClk
(1) => '0',
-- IP Core ties this to GND (see note below) 130 qPllPowerDown
(0) => '0',
131 qPllPowerDown
(1) => '1',
133 qPllReset
(1) => '1'
);
138 -- Simulation Parameters 142 -- QPLL Configuration Parameters 168 qPllRefClk
(1) => '0',
169 qPllOutClk
(0) => qPllOutClk,
170 qPllOutClk
(1) =>
open,
171 qPllOutRefClk
(0) => qPllOutRefClk,
172 qPllOutRefClk
(1) =>
open,
173 qPllLock
(0) => qPllLock,
175 qPllLockDetClk
(0) => '0',
-- IP Core ties this to GND (see note below) 176 qPllLockDetClk
(1) => '0',
-- IP Core ties this to GND (see note below) 177 qPllPowerDown
(0) => '0',
178 qPllPowerDown
(1) => '1',
180 qPllReset
(1) => '1'
);
182 --------------------------------------------------------------------------------------------- 183 -- Note: GTXE3_COMMON pin GTHE3_COMMON_Inst.QPLLLOCKDETCLK[1:0] cannot be driven by a clock 184 -- derived from the same clock used as the reference clock for the QPLL, including 185 -- TXOUTCLK*, RXOUTCLK*, the output from the IBUFDS_GTE2 providing the reference clock, 186 -- and any -- buffered or multiplied/divided versions of these clock outputs. 187 -- Please see UG576 for more information. Source, through a clock buffer, is the same 188 -- as the GT cell reference clock. 189 --------------------------------------------------------------------------------------------- QPLL_LPF_G3_GSlv10Array( 1 downto 0) :=( others => "1111111111")
QPLL_CFG2_GSlv16Array( 1 downto 0) :=( others => x"0000")
QPLL_CFG1_GSlv16Array( 1 downto 0) :=( others => x"0000")
QPLL_CFG2_G3_GSlv16Array( 1 downto 0) :=( others => x"0000")
QPLL_SDM_CFG2_GSlv16Array( 1 downto 0) :=( others => x"0000")
QPLL_SDM_CFG1_GSlv16Array( 1 downto 0) :=( others => x"0000")
QPLL_REFCLK_SEL_Gslv( 2 downto 0) := "001"
SIM_RESET_SPEEDUP_Gstring := "FALSE"
QPLL_LPF_GSlv10Array( 1 downto 0) :=( others => "1111111111")
REF_CLK_FREQ_Greal := 156.25E+6
QPLL_LOCK_CFG_GSlv16Array( 1 downto 0) :=( others => x"01E8")
QPLL_CFG4_GSlv16Array( 1 downto 0) :=( others => x"0009")
slv( 2 downto 0) := ite(( REF_CLK_FREQ_G= 156.25E+6), "000", "001") DIV_C
QPLL_INIT_CFG1_GSlv8Array( 1 downto 0) :=( others => x"00")
QPLL_CFG0_GSlv16Array( 1 downto 0) :=( others => x"3018")
QPLL_CFG1_G3_GSlv16Array( 1 downto 0) :=( others => x"0020")
QPLL_LOCK_CFG_G3_GSlv16Array( 1 downto 0) :=( others => x"01E8")
SIM_VERSION_Gnatural := 2
QPLL_FBDIV_GNaturalArray( 1 downto 0) :=( others => 66)
QPLL_CP_GSlv10Array( 1 downto 0) :=( others => "0000011111")
QPLL_CP_G3_GSlv10Array( 1 downto 0) :=( others => "0000011111")
QPLL_CFG3_GSlv16Array( 1 downto 0) :=( others => x"0120")
QPLL_FBDIV_G3_GNaturalArray( 1 downto 0) :=( others => 80)
QPLL_SDM_CFG0_GSlv16Array( 1 downto 0) :=( others => x"0000")
QPLL_REFCLK_SEL_GSlv3Array( 1 downto 0) :=( others => "001")
QPLL_INIT_CFG0_GSlv16Array( 1 downto 0) :=( others => x"0000")
QPLL_REFCLK_DIV_GNaturalArray( 1 downto 0) :=( others => 2)