1 ------------------------------------------------------------------------------- 2 -- File : Gtp7QuadPll.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2013-06-29 5 -- Last update: 2016-03-08 6 ------------------------------------------------------------------------------- 7 -- Description: Wrapper for Xilinx 7-series GTP's QPLL 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;
26 use unisim.vcomponents.
all;
29 --! @ingroup xilinx_7Series_gtp7 60 end entity Gtp7QuadPll;
82 -------------------------------------------------------------------------------------------------- 83 -- QPLL clock select. Only ever use 1 clock to drive qpll. Never switch clocks. 84 -------------------------------------------------------------------------------------------------- 96 -- Simulation attributes 101 -- COMMON BLOCK Attributes 102 BIAS_CFG =>
(x"0000000000050001"
),
103 COMMON_CFG =>
(x"00000000"
),
104 RSVD_ATTR0 =>
(x"0000"
),
105 RSVD_ATTR1 =>
(x"0000"
),
110 PLL0_CFG =>
(x"01F03DC"
),
111 PLL0_DMON_CFG =>
('0'
),
112 PLL0_INIT_CFG =>
(x"00001E"
),
113 PLL0_LOCK_CFG =>
(x"1E8"
),
118 PLL1_CFG =>
(x"01F03DC"
),
119 PLL1_DMON_CFG =>
('0'
),
120 PLL1_INIT_CFG =>
(x"00001E"
),
121 PLL1_LOCK_CFG =>
(x"1E8"
),
122 PLL_CLKOUT_CFG =>
(x"00"
)) 124 -- Dynamic Reconfiguration Port (DRP) 133 GTREFCLK0 =>
gtRefClk0,
--address="001" for both PLLs 134 GTREFCLK1 =>
gtRefClk1,
--address="010" for both PLLs 135 GTEASTREFCLK0 =>
gtEastRefClk0,
--address="011" for both PLLs 136 GTEASTREFCLK1 =>
gtEastRefClk1,
--address="100" for both PLLs 137 GTWESTREFCLK0 =>
gtWestRefClk0,
--address="101" for both PLLs 138 GTWESTREFCLK1 =>
gtWestRefClk1,
--address="110" for both PLLs 139 GTGREFCLK0 =>
gtGRefClk0,
--address="111" for PLL0 140 GTGREFCLK1 =>
gtGRefClk1,
--address="111" for PLL1 144 PLL0FBCLKLOST =>
open,
155 PLL1FBCLKLOST =>
open,
165 BGRCALOVRDENB => '1',
166 PLLRSVD1 => "
0000000000000000",
168 REFCLKOUTMONITOR0 =>
open,
169 REFCLKOUTMONITOR1 =>
open,
170 -- RX AFE Ports ----------------------- 176 BGRCALOVRD => "
00000",
177 PMARSVD => "
00000000",
207 end architecture mapping;
out qPllRefClkLostslv( 1 downto 0)
in qPllRefClkslv( 1 downto 0)
ADDR_WIDTH_Gpositive range 1 to 32:= 16
PLL0_FBDIV_45_IN_Ginteger range 4 to 5:= 5
in axilReadMasterAxiLiteReadMasterType := AXI_LITE_READ_MASTER_INIT_C
out drpAddrslv( ADDR_WIDTH_G- 1 downto 0)
EN_ARBITRATION_Gboolean := false
out qPllOutClkslv( 1 downto 0)
DATA_WIDTH_Gpositive range 1 to 32:= 16
out axilReadSlaveAxiLiteReadSlaveType
out axilReadSlaveAxiLiteReadSlaveType
in drpDoslv( DATA_WIDTH_G- 1 downto 0)
COMMON_CLK_Gboolean := false
PLL0_REFCLK_SEL_Gbit_vector := "001"
in qPllPowerDownslv( 1 downto 0) :=( others => '0')
PLL0_FBDIV_IN_Ginteger range 1 to 5:= 4
PLL0_REFCLK_DIV_IN_Ginteger range 1 to 2:= 1
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_DECERR_C
PLL1_REFCLK_SEL_Gbit_vector := "001"
out axilWriteSlaveAxiLiteWriteSlaveType
PLL1_REFCLK_DIV_IN_Ginteger range 1 to 2:= 1
slv( 1 downto 0) := "11" AXI_RESP_DECERR_C
in axilReadMasterAxiLiteReadMasterType
SIM_RESET_SPEEDUP_Gstring := "TRUE"
TIMEOUT_Gpositive := 4096
gtpe2_common gtpe2_common_0_igtpe2_common_0_i
in axilWriteMasterAxiLiteWriteMasterType := AXI_LITE_WRITE_MASTER_INIT_C
out axilWriteSlaveAxiLiteWriteSlaveType
AxiLiteReadMasterType :=(araddr =>( others => '0'),arprot =>( others => '0'),arvalid => '0',rready => '1') AXI_LITE_READ_MASTER_INIT_C
in qPllResetslv( 1 downto 0)
in axilWriteMasterAxiLiteWriteMasterType
in qPllLockDetClkslv( 1 downto 0)
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
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_DECERR_C
SIM_VERSION_Gstring := "1.0"
out qPllOutRefClkslv( 1 downto 0)
PLL1_FBDIV_45_IN_Ginteger range 4 to 5:= 5
out qPllLockslv( 1 downto 0)
out drpDislv( DATA_WIDTH_G- 1 downto 0)
PLL1_FBDIV_IN_Ginteger range 1 to 5:= 4