SURF  1.0
Pgp2bGtx7FixedLatWrapper.vhd
Go to the documentation of this file.
1 -------------------------------------------------------------------------------
2 -- File : Pgp2bGtx7FixedLatWrapper.vhd
3 -- Company : SLAC National Accelerator Laboratory
4 -- Created : 2014-01-29
5 -- Last update: 2016-11-04
6 -------------------------------------------------------------------------------
7 -- Description: Gtx7 Fixed Latency Wrapper
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 -------------------------------------------------------------------------------
17 
18 library ieee;
19 use ieee.std_logic_1164.all;
20 use ieee.numeric_std.all;
21 
22 use work.StdRtlPkg.all;
23 use work.AxiStreamPkg.all;
24 use work.Pgp2bPkg.all;
25 use work.AxiLitePkg.all;
26 use work.Gtx7CfgPkg.all;
27 
28 library unisim;
29 use unisim.vcomponents.all;
30 
31 --! @see entity
32  --! @ingroup protocols_pgp_pgp2b_gtx7
34  generic (
35  TPD_G : time := 1 ns;
36  SIM_GTRESET_SPEEDUP_G : string := "FALSE";
37  SIM_VERSION_G : string := "4.0";
38  SIMULATION_G : boolean := false;
39  -- PGP Settings
40  VC_INTERLEAVE_G : integer := 0; -- No interleave Frames
41  PAYLOAD_CNT_TOP_G : integer := 7; -- Top bit for payload counter
42  NUM_VC_EN_G : integer range 1 to 4 := 4;
44  TX_ENABLE_G : boolean := true; -- Enable TX direction
45  RX_ENABLE_G : boolean := true; -- Enable RX direction
46  -- CM Configurations
47  TX_CM_EN_G : boolean := false;
48  TX_CM_TYPE_G : string := "MMCM";
49  TX_CM_CLKIN_PERIOD_G : real := 8.000;
50  TX_CM_DIVCLK_DIVIDE_G : natural := 8;
51  TX_CM_CLKFBOUT_MULT_F_G : real := 8.000;
52  TX_CM_CLKOUT_DIVIDE_F_G : real := 8.000;
53  RX_CM_EN_G : boolean := false;
54  RX_CM_TYPE_G : string := "MMCM";
55  RX_CM_CLKIN_PERIOD_G : real := 8.000;
56  RX_CM_DIVCLK_DIVIDE_G : natural := 8;
57  RX_CM_CLKFBOUT_MULT_F_G : real := 8.000;
58  RX_CM_CLKOUT_DIVIDE_F_G : real := 8.000;
59  -- MGT Configurations
60  PMA_RSV_G : bit_vector := x"00018480";
61  RX_OS_CFG_G : bit_vector := "0000010000000"; -- Set by wizard
62  RXCDR_CFG_G : bit_vector := x"03000023ff40200020"; -- Set by wizard
63  RXDFEXYDEN_G : sl := '0'; -- Set by wizard
64  RX_DFE_KL_CFG2_G : bit_vector := x"3008E56A";
65  -- PLL and clock configurations
66  STABLE_CLK_SRC_G : string := "gtClk0"; -- or "gtClk0" or "gtClk1"
67  TX_REFCLK_SRC_G : string := "gtClk0";
68  RX_REFCLK_SRC_G : string := "gtClk1";
69  CPLL_CFG_G : Gtx7CPllCfgType := getGtx7CPllCfg(250.0E6, 3.125E9);
70  QPLL_CFG_G : Gtx7QPllCfgType := getGtx7QPllCfg(156.25e6, 3.125e9);
71  TX_PLL_G : string := "QPLL";
72  RX_PLL_G : string := "CPLL");
73  port (
74  -- Manual Reset
75  stableClkIn : in sl := '0';
76  extRst : in sl;
77  -- Status and Clock Signals
78  txPllLock : out sl;
79  rxPllLock : out sl;
80  -- Output internally configured clocks
81  pgpTxClkOut : out sl;
82  pgpRxClkOut : out sl;
83  pgpRxRstOut : out sl;
85  -- Non VC Rx Signals
88  -- Non VC Tx Signals
91  -- Frame Transmit Interface - 1 Lane, Array of 4 VCs
93  pgpTxSlaves : out AxiStreamSlaveArray(3 downto 0);
94  -- Frame Receive Interface - 1 Lane, Array of 4 VCs
97  pgpRxCtrl : in AxiStreamCtrlArray(3 downto 0);
98  -- GT Pins
99  gtgClk : in sl := '0';
100  gtClk0P : in sl := '0';
101  gtClk0N : in sl := '0';
102  gtClk1P : in sl := '0';
103  gtClk1N : in sl := '0';
104  gtTxP : out sl;
105  gtTxN : out sl;
106  gtRxP : in sl;
107  gtRxN : in sl;
108  -- Debug Interface
109  txPreCursor : in slv(4 downto 0) := (others => '0');
110  txPostCursor : in slv(4 downto 0) := (others => '0');
111  txDiffCtrl : in slv(3 downto 0) := "1000";
112  -- AXI-Lite Interface
113  axilClk : in sl := '0';
114  axilRst : in sl := '0';
119 end Pgp2bGtx7FixedLatWrapper;
120 
121 architecture rtl of Pgp2bGtx7FixedLatWrapper is
122 
123  constant GTX7_CFG_C : Gtx7CfgType := getGtx7Cfg(TX_PLL_G, RX_PLL_G, CPLL_CFG_G, QPLL_CFG_G);
124 
125  signal gtClk0 : sl := '0';
126  signal gtClk1 : sl := '0';
127 
128  signal txRefClk : sl := '0';
129  signal txOutClk : sl := '0';
130  signal rxRefClk : sl := '0';
131 
132  signal stableClkRef : sl := '0';
133  signal stableClkRefG : sl := '0';
134  signal stableClk : sl := '0';
135  signal stableRst : sl := '0';
136 
137  signal pgpTxClkBase : sl;
138  signal pgpTxClk : sl;
139  signal pgpTxReset : sl;
140 
141  signal pgpRxRecClk : sl;
142  signal pgpRxRecClkRst : sl;
143  signal pgpRxClkLoc : sl;
144  signal pgpRxReset : sl;
145  signal pgpRxMmcmReset : sl;
146  signal pgpRxMmcmLocked : sl;
147 
148  signal gtCPllRefClk : sl := '0';
149  signal gtCPllLock : sl := '0';
150 
151  signal qPllRefClk : sl := '0';
152  signal qPllOutClk : sl := '0';
153  signal qPllOutRefClk : sl := '0';
154  signal qPllLock : sl := '0';
155  signal pllLockDetClk : sl := '0';
156  signal qPllRefClkLost : sl := '0';
157  signal qPllReset : sl := '0';
158 
159 begin
160 
161 
162 
163  -------------------------------------------------------------------------------------------------
164  -- Bring in the refclocks through IBUFDS_GTE2 instances
165  -------------------------------------------------------------------------------------------------
166  BUFDS_GTE2_0_GEN : if (TX_REFCLK_SRC_G = "gtClk0" or RX_REFCLK_SRC_G = "gtClk0") generate
167  IBUFDS_GTE2_0 : IBUFDS_GTE2
168  port map (
169  I => gtClk0P,
170  IB => gtClk0N,
171  CEB => '0',
172  ODIV2 => open,
173  O => gtClk0);
174  end generate;
175 
176  IBUFDS_GTE2_1_GEN : if (TX_REFCLK_SRC_G = "gtClk1" or RX_REFCLK_SRC_G = "gtClk1") generate
177  IBUFDS_GTE2_1 : IBUFDS_GTE2
178  port map (
179  I => gtClk1P,
180  IB => gtClk1N,
181  CEB => '0',
182  ODIV2 => open,
183  O => gtClk1);
184  end generate;
185 
186  -------------------------------------------------------------------------------------------------
187  -- Create the stable clock and reset
188  -------------------------------------------------------------------------------------------------
189  stableClkRef <= gtClk0 when STABLE_CLK_SRC_G = "gtClk0" else
190  gtClk1 when STABLE_CLK_SRC_G = "gtClk1" else
191  '0';
192 
193 
194  BUFG_stableClkRef : BUFG
195  port map (
196  I => stableClkRef,
197  O => stableClkRefG);
198 
199  stableClk <= stableClkIn when STABLE_CLK_SRC_G = "stableClkIn" else
200  stableClkRefG;
201 
202 
203  -- Power Up Reset
204  PwrUpRst_Inst : entity work.PwrUpRst
205  generic map (
206  TPD_G => TPD_G,
208  IN_POLARITY_G => '1',
209  OUT_POLARITY_G => '1')
210  port map (
211  arst => extRst,
212  clk => stableClk,
213  rstOut => stableRst);
214 
215  -------------------------------------------------------------------------------------------------
216  -- Select the rxRefClk
217  -------------------------------------------------------------------------------------------------
218  rxRefClk <= gtClk0 when RX_REFCLK_SRC_G = "gtClk0" else
219  gtClk1 when RX_REFCLK_SRC_G = "gtClk1" else
220  gtgClk when TX_REFCLK_SRC_G = "gtgClk" else
221  '0';
222 
223  -------------------------------------------------------------------------------------------------
224  -- Select the txRefClk
225  -- Generate TX user (PGP) clock
226  -- Might want option to bypass MMCM
227  -------------------------------------------------------------------------------------------------
228  txRefClk <= gtClk0 when TX_REFCLK_SRC_G = "gtClk0" else
229  gtClk1 when TX_REFCLK_SRC_G = "gtClk1" else
230  gtgClk when TX_REFCLK_SRC_G = "gtgClk" else
231  '0';
232 
233 
234  -- pgpTxClk and stable clock might be the same
235  pgpTxClkBase <= stableClk when STABLE_CLK_SRC_G = TX_REFCLK_SRC_G else
236  txRefClk;
237 
238  TX_CM_GEN : if (TX_CM_EN_G) generate
239  ClockManager7_TX : entity work.ClockManager7
240  generic map(
241  TPD_G => TPD_G,
242  TYPE_G => TX_CM_TYPE_G,
244  FB_BUFG_G => true,
245  RST_IN_POLARITY_G => '1',
246  NUM_CLOCKS_G => 1,
247  -- MMCM attributes
248  BANDWIDTH_G => "OPTIMIZED",
253  CLKOUT0_RST_HOLD_G => 16)
254  port map(
255  clkIn => pgpTxClkBase,
256  rstIn => extRst,
257  clkOut(0) => pgpTxClk,
258  rstOut(0) => pgpTxReset);
259  end generate TX_CM_GEN;
260 
261  NO_TX_CM_GEN : if (not TX_CM_EN_G) generate
262  PGP_TX_CLK_BUFG : if (TX_REFCLK_SRC_G /= STABLE_CLK_SRC_G) generate
263  BUFG_pgpTxClk : BUFG
264  port map (
265  i => pgpTxClkBase,
266  o => pgpTxClk);
267 
268  RstSync_pgpTxRst : entity work.RstSync
269  generic map (
270  TPD_G => TPD_G,
271  RELEASE_DELAY_G => 16,
272  OUT_REG_RST_G => true)
273  port map (
274  clk => pgpTxClk, -- [in]
275  asyncRst => extRst, -- [in]
276  syncRst => pgpTxReset); -- [out]
277  end generate PGP_TX_CLK_BUFG;
278  NO_PGP_TX_CLK_BUFG : if (TX_REFCLK_SRC_G = STABLE_CLK_SRC_G) generate
279  pgpTxClk <= pgpTxClkBase;
280  pgpTxReset <= stableRst;
281  end generate;
282  end generate NO_TX_CM_GEN;
283 
284  -- PGP RX Reset
285  RstSync_pgpTxRst : entity work.RstSync
286  generic map (
287  TPD_G => TPD_G,
288  RELEASE_DELAY_G => 16,
289  OUT_REG_RST_G => true)
290  port map (
291  clk => pgpRxClkLoc, -- [in]
292  asyncRst => extRst, -- [in]
293  syncRst => pgpRxReset); -- [out]
294 
295  -------------------------------------------------------------------------------------------------
296  -- Determine PLL clocks
297  -------------------------------------------------------------------------------------------------
298  gtCPllRefClk <= txRefClk when (TX_PLL_G = "CPLL") else
299  rxRefClk when (RX_PLL_G = "CPLL") else
300  '0';
301 
302  qPllRefClk <= txRefClk when (TX_PLL_G = "QPLL") else
303  rxRefClk when (RX_PLL_G = "QPLL") else
304  '0';
305 
306  pllLockDetClk <= stableClk;
307 
308  -- Set the status outputs
309  txPllLock <= ite((TX_PLL_G = "QPLL"), qPllLock, gtCPllLock);
310  rxPllLock <= ite((RX_PLL_G = "QPLL"), qPllLock, gtCPllLock);
311 
312  QPLL_GEN : if (TX_PLL_G = "QPLL" or RX_PLL_G = "QPLL") generate
313  QPllCore_1 : entity work.Gtx7QuadPll
314  generic map (
315  QPLL_REFCLK_SEL_G => "001",
316  QPLL_FBDIV_G => QPLL_CFG_G.QPLL_FBDIV_G,
317  QPLL_FBDIV_RATIO_G => QPLL_CFG_G.QPLL_FBDIV_RATIO_G,
318  QPLL_REFCLK_DIV_G => QPLL_CFG_G.QPLL_REFCLK_DIV_G)
319  port map (
320  qPllRefClk => qPllRefClk,
321  qPllOutClk => qPllOutClk,
322  qPllOutRefClk => qPllOutRefClk,
323  qPllLock => qPllLock,
324  qPllLockDetClk => pllLockDetClk,
325  qPllRefClkLost => qPllRefClkLost,
326  qPllReset => qPllReset);
327  end generate QPLL_GEN;
328 
329  Pgp2bGtx7Fixedlat_Inst : entity work.Pgp2bGtx7Fixedlat
330  generic map (
331  TPD_G => TPD_G,
335  STABLE_CLOCK_PERIOD_G => 4.0E-9, --set for longest timeout
336  CPLL_REFCLK_SEL_G => "001",
337  CPLL_FBDIV_G => GTX7_CFG_C.CPLL_FBDIV_G,
338  CPLL_FBDIV_45_G => GTX7_CFG_C.CPLL_FBDIV_45_G,
339  CPLL_REFCLK_DIV_G => GTX7_CFG_C.CPLL_REFCLK_DIV_G,
340  RXOUT_DIV_G => GTX7_CFG_C.RXOUT_DIV_G,
341  TXOUT_DIV_G => GTX7_CFG_C.TXOUT_DIV_G,
342  RX_CLK25_DIV_G => GTX7_CFG_C.RX_CLK25_DIV_G,
343  TX_CLK25_DIV_G => GTX7_CFG_C.TX_CLK25_DIV_G,
344  PMA_RSV_G => PMA_RSV_G,
349  TX_BUF_EN_G => false,
350  TX_OUTCLK_SRC_G => "PLLREFCLK",
351  TX_PHASE_ALIGN_G => "MANUAL",
352  TX_PLL_G => TX_PLL_G,
353  RX_PLL_G => RX_PLL_G,
360  port map (
361  -- GT Clocking
362  stableClk => stableClk,
363  gtCPllRefClk => gtCPllRefClk,
364  gtCPllLock => gtCPllLock,
365  gtQPllRefClk => qPllOutRefClk,
366  gtQPllClk => qPllOutClk,
367  gtQPllLock => qPllLock,
368  gtQPllRefClkLost => qPllRefClkLost,
369  gtQPllReset => qPllReset,
370  gtRxRefClkBufg => '0', -- Probably can remove this
371  gtTxOutClk => txOutClk,
372  -- Gt Serial IO
373  gtTxP => gtTxP,
374  gtTxN => gtTxN,
375  gtRxP => gtRxP,
376  gtRxN => gtRxN,
377  -- Tx Clocking
378  pgpTxReset => pgpTxReset,
379  pgpTxClk => pgpTxClk,
380  -- Rx clocking
381  pgpRxReset => pgpRxReset, --extRst,
382  pgpRxRecClk => pgpRxRecClk,
383  pgpRxRecClkRst => pgpRxRecClkRst,
384  pgpRxClk => pgpRxClkLoc, -- RecClk fed back, optionally though MMCM
385  pgpRxMmcmReset => pgpRxMmcmReset,
386  pgpRxMmcmLocked => pgpRxMmcmLocked,
387  -- Non VC Rx Signals
388  pgpRxIn => pgpRxIn,
389  pgpRxOut => pgpRxOut,
390  -- Non VC Tx Signals
391  pgpTxIn => pgpTxIn,
392  pgpTxOut => pgpTxOut,
393  -- Frame Transmit Interface - 1 Lane, Array of 4 VCs
396  -- Frame Receive Interface - 1 Lane, Array of 4 VCs
399  pgpRxCtrl => pgpRxCtrl,
400  -- Debug Interface
404  -- AXI-Lite Interface
405  axilClk => axilClk,
406  axilRst => axilRst,
411 
412  -------------------------------------------------------------------------------------------------
413  -- Clock manager to clean up recovered clock
414  -------------------------------------------------------------------------------------------------
415  RxClkMmcmGen : if (RX_CM_EN_G) generate
416  ClockManager7_1 : entity work.ClockManager7
417  generic map (
418  TPD_G => TPD_G,
419  TYPE_G => RX_CM_TYPE_G,
420  INPUT_BUFG_G => false,
421  FB_BUFG_G => true,
422  NUM_CLOCKS_G => 1,
423  BANDWIDTH_G => "OPTIMIZED",
428  CLKOUT0_RST_HOLD_G => 16)
429  port map (
430  clkIn => pgpRxRecClk,
431  rstIn => pgpRxMmcmReset,
432  clkOut(0) => pgpRxClkLoc,
433  locked => pgpRxMmcmLocked);
434 
435  -- I think this is right, sync reset to mmcm clk
436  RstSync_1 : entity work.RstSync
437  generic map (
438  TPD_G => TPD_G)
439  port map (
440  clk => pgpRxClkLoc,
441  asyncRst => pgpRxRecClkRst,
442  syncRst => pgpRxRstOut);
443  end generate RxClkMmcmGen;
444 
445  RxClkNoMmcmGen : if (not RX_CM_EN_G) generate
446  pgpRxClkLoc <= pgpRxRecClk;
447  pgpRxRstOut <= pgpRxRecClkRst;
448  pgpRxMmcmLocked <= '1';
449  end generate RxClkNoMmcmGen;
450 
451  pgpRxClkOut <= pgpRxClkLoc;
452 
453  stableClkOut <= stableClk;
454 
455 end rtl;
in pgpTxMastersAxiStreamMasterArray( 3 downto 0) :=( others => AXI_STREAM_MASTER_INIT_C)
SIM_VERSION_Gstring := "4.0"
PMA_RSV_Gbit_vector := x"00018480"
in axilReadMasterAxiLiteReadMasterType := AXI_LITE_READ_MASTER_INIT_C
in txPreCursorslv( 4 downto 0) :=( others => '0')
RXCDR_CFG_Gbit_vector := x"03000023ff40200020"
QPLL_FBDIV_Gbit_vector := "0100100000"
Definition: Gtx7QuadPll.vhd:38
array(natural range <> ) of AxiStreamSlaveType AxiStreamSlaveArray
CPLL_CFG_GGtx7CPllCfgType := getGtx7CPllCfg( 250.0E6, 3.125E9)
out rstOutsl
Definition: PwrUpRst.vhd:39
TPD_Gtime := 1 ns
Definition: PwrUpRst.vhd:30
TX_PLL_Gstring := "QPLL"
out pgpTxSlavesAxiStreamSlaveArray( 3 downto 0)
out syncRstsl
Definition: RstSync.vhd:36
PAYLOAD_CNT_TOP_Ginteger := 7
in pgpTxMastersAxiStreamMasterArray( 3 downto 0) :=( others => AXI_STREAM_MASTER_INIT_C)
in gtQPllRefClksl := '0'
in axilReadMasterAxiLiteReadMasterType := AXI_LITE_READ_MASTER_INIT_C
AxiLiteWriteMasterType
Definition: AxiLitePkg.vhd:111
std_logic sl
Definition: StdRtlPkg.vhd:28
IN_POLARITY_Gsl := '1'
Definition: PwrUpRst.vhd:32
RX_DFE_KL_CFG2_Gbit_vector := x"3008E56A"
AxiStreamMasterType :=(tValid => '0',tData =>( others => '0'),tStrb =>( others => '1'),tKeep =>( others => '1'),tLast => '0',tDest =>( others => '0'),tId =>( others => '0'),tUser =>( others => '0')) AXI_STREAM_MASTER_INIT_C
RXCDR_CFG_Gbit_vector := x"03000023ff40200020"
TX_CLK25_DIV_Ginteger := 5
out pgpRxMastersAxiStreamMasterArray( 3 downto 0)
CPLL_REFCLK_SEL_Gbit_vector := "001"
TX_ENABLE_Gboolean := true
out axilWriteSlaveAxiLiteWriteSlaveType
CLKIN_PERIOD_Greal := 10.0
NUM_VC_EN_Ginteger range 1 to 4:= 4
out axilReadSlaveAxiLiteReadSlaveType
QPLL_CFG_GGtx7QPllCfgType := getGtx7QPllCfg( 156.25e6, 3.125e9)
TX_BUF_EN_Gboolean := false
RST_IN_POLARITY_Gsl := '1'
RX_OS_CFG_Gbit_vector := "0000010000000"
in txPreCursorslv( 4 downto 0) :=( others => '0')
in rstInsl := '0'
in asyncRstsl
Definition: RstSync.vhd:35
TPD_Gtime := 1 ns
in axilWriteMasterAxiLiteWriteMasterType := AXI_LITE_WRITE_MASTER_INIT_C
in txPostCursorslv( 4 downto 0) :=( others => '0')
SIM_GTRESET_SPEEDUP_Gstring := "FALSE"
INPUT_BUFG_Gboolean := true
in clksl
Definition: RstSync.vhd:34
out pgpRxOutPgp2bRxOutType
out axilWriteSlaveAxiLiteWriteSlaveType
out qPllRefClkLostsl
Definition: Gtx7QuadPll.vhd:47
in arstsl :=not IN_POLARITY_G
Definition: PwrUpRst.vhd:37
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_DECERR_C
Pgp2bRxInType
Definition: Pgp2bPkg.vhd:55
RELEASE_DELAY_Ginteger range 3 to positive'high:= 3
Definition: RstSync.vhd:31
TX_PHASE_ALIGN_Gstring := "MANUAL"
slv( 1 downto 0) := "11" AXI_RESP_DECERR_C
Definition: AxiLitePkg.vhd:49
RX_OS_CFG_Gbit_vector := "0000010000000"
FB_BUFG_Gboolean := true
BANDWIDTH_Gstring := "OPTIMIZED"
in txDiffCtrlslv( 3 downto 0) := "1000"
out axilReadSlaveAxiLiteReadSlaveType
AxiLiteReadMasterType
Definition: AxiLitePkg.vhd:59
CLKFBOUT_MULT_F_Greal range 1.0 to 64.0:= 1.0
in txPostCursorslv( 4 downto 0) :=( others => '0')
DIVCLK_DIVIDE_Ginteger range 1 to 106:= 1
CLKOUT0_RST_HOLD_Ginteger range 3 to positive'high:= 3
out pgpTxSlavesAxiStreamSlaveArray( 3 downto 0)
in gtQPllRefClkLostsl := '0'
TPD_Gtime := 1 ns
Definition: RstSync.vhd:27
in txDiffCtrlslv( 3 downto 0) := "1000"
array(natural range <> ) of AxiStreamCtrlType AxiStreamCtrlArray
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_DECERR_C
OUT_POLARITY_Gsl := '1'
Definition: PwrUpRst.vhd:33
in clksl
Definition: PwrUpRst.vhd:38
array(natural range <> ) of AxiStreamMasterType AxiStreamMasterArray
CPLL_FBDIV_Ginteger := 4
out pgpRxMasterMuxedAxiStreamMasterType
out qPllOutRefClksl
Definition: Gtx7QuadPll.vhd:44
RX_ENABLE_Gboolean := true
RX_PLL_Gstring := "CPLL"
AxiLiteReadMasterType :=(araddr =>( others => '0'),arprot =>( others => '0'),arvalid => '0',rready => '1') AXI_LITE_READ_MASTER_INIT_C
Definition: AxiLitePkg.vhd:69
CPLL_FBDIV_45_Ginteger := 5
in pgpRxInPgp2bRxInType
RX_DFE_KL_CFG2_Gbit_vector := x"3008E56A"
OUT_REG_RST_Gboolean := true
Definition: RstSync.vhd:32
QPLL_REFCLK_DIV_Ginteger := 1
Definition: Gtx7QuadPll.vhd:40
VC_INTERLEAVE_Ginteger := 0
AxiLiteReadSlaveType
Definition: AxiLitePkg.vhd:85
TX_OUTCLK_SRC_Gstring := "PLLREFCLK"
QPLL_REFCLK_SEL_Gbit_vector := "001"
Definition: Gtx7QuadPll.vhd:37
CLKOUT0_DIVIDE_F_Greal range 1.0 to 128.0:= 1.0
CPLL_REFCLK_DIV_Ginteger := 1
in qPllResetsl
Definition: Gtx7QuadPll.vhd:49
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
Definition: AxiLitePkg.vhd:125
in pgpRxCtrlAxiStreamCtrlArray( 3 downto 0)
STABLE_CLOCK_PERIOD_Greal := 8.0E-9
in qPllRefClksl
Definition: Gtx7QuadPll.vhd:42
QPLL_FBDIV_RATIO_Gbit := '1'
Definition: Gtx7QuadPll.vhd:39
SIMULATION_Gboolean := false
PMA_RSV_Gbit_vector := x"00018480"
Pgp2bTxOutType
Definition: Pgp2bPkg.vhd:135
NUM_VC_EN_Ginteger range 1 to 4:= 4
in axilWriteMasterAxiLiteWriteMasterType := AXI_LITE_WRITE_MASTER_INIT_C
RX_CLK25_DIV_Ginteger := 5
in pgpRxCtrlAxiStreamCtrlArray( 3 downto 0)
out qPllLocksl
Definition: Gtx7QuadPll.vhd:45
out pgpTxOutPgp2bTxOutType
TYPE_Gstring := "MMCM"
out pgpRxMasterMuxedAxiStreamMasterType
in pgpRxMmcmLockedsl := '1'
out qPllOutClksl
Definition: Gtx7QuadPll.vhd:43
in gtCPllRefClksl := '0'
SIM_SPEEDUP_Gboolean := false
Definition: PwrUpRst.vhd:31
Pgp2bRxOutType
Definition: Pgp2bPkg.vhd:69
out pgpRxMastersAxiStreamMasterArray( 3 downto 0)
in pgpTxInPgp2bTxInType
std_logic_vector slv
Definition: StdRtlPkg.vhd:29
in qPllLockDetClksl
Definition: Gtx7QuadPll.vhd:46
NUM_CLOCKS_Ginteger range 1 to 7