SURF  1.0
Jesd204bRxGtx7.vhd
Go to the documentation of this file.
1 -------------------------------------------------------------------------------
2 -- File : Jesd204bRxGtx7.vhd
3 -- Company : SLAC National Accelerator Laboratory
4 -- Created : 2015-04-14
5 -- Last update: 2015-04-14
6 -------------------------------------------------------------------------------
7 -- Description: JESD204b receiver module containing the gtx7 MGT
8 -- Framework module for JESD receiver module.
9 -- Contains generic settings for GTX7 Receiver
10 -------------------------------------------------------------------------------
11 -- This file is part of 'SLAC Firmware Standard Library'.
12 -- It is subject to the license terms in the LICENSE.txt file found in the
13 -- top-level directory of this distribution and at:
14 -- https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html.
15 -- No part of 'SLAC Firmware Standard Library', including this file,
16 -- may be copied, modified, propagated, or distributed except according to
17 -- the terms contained in the LICENSE.txt file.
18 -------------------------------------------------------------------------------
19 
20 library ieee;
21 library unisim;
22 use unisim.vcomponents.all;
23 
24 use ieee.std_logic_1164.all;
25 use ieee.std_logic_arith.all;
26 use ieee.std_logic_unsigned.all;
27 use ieee.numeric_std.all;
28 
29 use work.StdRtlPkg.all;
30 use work.AxiLitePkg.all;
31 use work.AxiStreamPkg.all;
32 use work.SsiPkg.all;
33 use work.Jesd204bPkg.all;
34 
35 entity Jesd204bRxGtx7 is
36  generic (
37  TPD_G : time := 1 ns;
38 
39  -- Test tx module instead of GTX
40  TEST_G : boolean := false;
41 
42  -- Internal SYSREF SYSREF_GEN_G= TRUE else
43  -- External SYSREF
44  SYSREF_GEN_G : boolean := false;
45 
46  -- GT Settings
47  ----------------------------------------------------------------------------------------------
48  -- Sim Generics
49  SIM_GTRESET_SPEEDUP_G : string := "FALSE";
50  SIM_VERSION_G : string := "4.0";
51  STABLE_CLOCK_PERIOD_G : real := 4.0E-9; --units of seconds (default to longest timeout)
52 
53  -- CPLL Settings
54  CPLL_REFCLK_SEL_G : bit_vector := "001";
55  CPLL_FBDIV_G : integer; -- use getGtx7CPllCfg to set
56  CPLL_FBDIV_45_G : integer; -- use getGtx7CPllCfg to set
57  CPLL_REFCLK_DIV_G : integer; -- use getGtx7CPllCfg to set
58 
59  RXOUT_DIV_G : integer; -- use getGtx7CPllCfg or to getGtx7QPllCfg set
60  RX_CLK25_DIV_G : integer; -- use getGtx7CPllCfg or to getGtx7QPllCfg set
61 
62  -- MGT Configurations
63  PMA_RSV_G : bit_vector := x"001E7080"; -- Values from coregen
64  RX_OS_CFG_G : bit_vector := "0000010000000"; -- Values from coregen
65  RXCDR_CFG_G : bit_vector := x"03000023ff10400020"; -- Values from coregen DF
66  RXDFEXYDEN_G : sl := '1'; -- Values from coregen DF
67  RX_DFE_KL_CFG2_G : bit_vector := X"301148AC"; -- Values from coregen DF
68 
69  -- Configure PLL sources
70  TX_PLL_G : string; -- "QPLL" or "CPLL"
71  RX_PLL_G : string; -- "QPLL" or "CPLL"
72 
73  -- TX defaults not currently used
74  TXOUT_DIV_G : integer := 2;
75  TX_CLK25_DIV_G : integer := 7;
76  TX_BUF_EN_G : boolean := true;
77  TX_OUTCLK_SRC_G : string := "OUTCLKPMA";
78  TX_DLY_BYPASS_G : sl := '1';
79  TX_PHASE_ALIGN_G : string := "NONE";
80  TX_BUF_ADDR_MODE_G : string := "FULL";
81 
82  -- AXI Lite and AXI stream generics
83  ----------------------------------------------------------------------------------------------
85 
86  -- JESD generics
87  ----------------------------------------------------------------------------------------------
88  F_G : positive := 2;
89  K_G : positive := 32;
90  L_G : positive := 2
91  );
92 
93  port (
94  -- GT Interface
95  ----------------------------------------------------------------------------------------------
96  -- Recovered clock output
97  rxOutClkOut : out slv(L_G-1 downto 0);
98  txOutClkOut : out slv(L_G-1 downto 0);
99 
100  -- GT Clocking
101  stableClk : in sl; -- GT needs a stable clock to "boot up"(buffered refClkDiv2)
102 
103  -- QPLL
105  qPllClkIn : in sl;
106  qPllLockIn : in sl;
108  qPllResetOut : out slv(L_G-1 downto 0);
109 
110  -- CPLL
112  cPllLockOut : out slv(L_G-1 downto 0);
113 
114  -- Gt Serial IO
115  gtTxP : out slv(L_G-1 downto 0); -- GT Serial Transmit Positive
116  gtTxN : out slv(L_G-1 downto 0); -- GT Serial Transmit Negative
117  gtRxP : in slv(L_G-1 downto 0); -- GT Serial Receive Positive
118  gtRxN : in slv(L_G-1 downto 0); -- GT Serial Receive Negative
119 
120  -- User clocks and resets
121  ----------------------------------------------------------------------------------------------
122  devClk_i : in sl; -- Device clock also rxUsrClkIn for MGT
123  devClk2_i : in sl; -- Device clock divided by 2 also rxUsrClk2In for MGT
124  devRst_i : in sl; --
125 
126  -- AXI interface
127  ------------------------------------------------------------------------------------------------
128  axiClk : in sl;
129  axiRst : in sl;
130 
131  -- AXI-Lite Register Interface
136 
137  -- AXI Streaming Interface
139  rxCtrlArr : in AxiStreamCtrlArray(L_G-1 downto 0);
140 
141  -- JESD
142  ------------------------------------------------------------------------------------------------
143 
144  -- SYSREF for subclass 1 fixed latency
145  sysRef_i : in sl;
146 
147  -- SYSREF out when it is generated internally SYSREF_GEN_G=True
148  sysRef_o : out sl;
149 
150  -- Synchronization output combined from all receivers
151  nSync_o : out sl;
152 
153  -- Out to led
154  leds_o : out slv(1 downto 0);
155 
156  -- Rising edge pulses for test
157  pulse_o : out slv(L_G-1 downto 0);
158 
159  -- GT diagnostics
160  rxUserRdyOut : out slv(1 downto 0);
161  rxMmcmResetOut : out slv(1 downto 0)
162 
163  );
164 end Jesd204bRxGtx7;
165 
166 architecture rtl of Jesd204bRxGtx7 is
167 
168 -- Internal signals
169  signal r_jesdGtRxArr : jesdGtRxLaneTypeArray(L_G-1 downto 0);
170 
171  -- Rx Channel Bonding
172  -- signal rxChBondLevel : slv(2 downto 0);
173  signal rxChBondIn : Slv5Array(L_G-1 downto 0);
174  signal rxChBondOut : Slv5Array(L_G-1 downto 0);
175 
176  -- GT reset
177  signal s_gtUserReset : slv(L_G-1 downto 0);
178  signal s_gtReset : slv(L_G-1 downto 0);
179 
180  -- Generated or external
181  signal s_sysRef, s_sysRefDbg : sl;
182 
183 
184 begin
185 
186  --------------------------------------------------------------------------------------------------
187  -- JESD receiver core
188  --------------------------------------------------------------------------------------------------
189  Jesd204b_INST: entity work.Jesd204bRx
190  generic map (
191  TPD_G => TPD_G,
192  TEST_G => TEST_G,
194  F_G => F_G,
195  K_G => K_G,
196  L_G => L_G)
197  port map (
198  axiClk => axiClk,
199  axiRst => axiRst,
206  devClk_i => devClk_i,
207  devRst_i => devRst_i,
208  sysRef_i => s_sysRef,
209  r_jesdGtRxArr => r_jesdGtRxArr,
210  gtRxReset_o => s_gtUserReset,
211  sampleDataArr_o => open, -- DAQ handled internally
212  dataValidVec_o => open, -- DAQ handled internally
213  nSync_o => nSync_o,
214  pulse_o => pulse_o,
215  sysRefDbg_o => s_sysRefDbg,
216  leds_o => leds_o
217  );
218  --------------------------------------------------------------------------------------------------
219  -- Generate the internal or external SYSREF depending on SYSREF_GEN_G
220  --------------------------------------------------------------------------------------------------
221  -- IF DEF SYSREF_GEN_G
222  SELF_TEST_GEN: if SYSREF_GEN_G = true generate
223  -- Generate the sysref internally
224  -- Sysref period will be 8x K_G.
225  SysrefGen_INST: entity work.LmfcGen
226  generic map (
227  TPD_G => TPD_G,
228  K_G => 256,
229  F_G => 2)
230  port map (
231  clk => devClk_i,
232  rst => devRst_i,
233  nSync_i => '0',
234  sysref_i => '0',
235  lmfc_o => s_sysRef
236  );
237  sysRef_o <= s_sysRef;
238  end generate SELF_TEST_GEN;
239  -- Else
240  OPER_GEN: if SYSREF_GEN_G = false generate
241  s_sysRef <= sysRef_i;
242  sysRef_o <= s_sysRefDbg;
243  end generate OPER_GEN;
244 
245  --------------------------------------------------------------------------------------------------
246  -- Generate the GTX channels
247  --------------------------------------------------------------------------------------------------
248  GT_OPER_GEN: if TEST_G = false generate
249  GTX7_CORE_GEN : for I in (L_G-1) downto 0 generate
250 
251  -- Channel Bonding
252  Bond_Master : if (I = 0) generate
253  rxChBondIn(I) <= "00000";
254  end generate Bond_Master;
255 
256  Bond_Slaves : if (I /= 0) generate
257  rxChBondIn(I) <= rxChBondOut(I-1);
258  end generate Bond_Slaves;
259 
260  -- Generate GT reset from user reset and global reset
261  -- devRst_i - is holding the module in reset for one minute after power-up
262  -- User holds the core in reset when the JESD lane is disabled
263  s_gtReset(I) <= s_gtUserReset(I) or devRst_i;
264 
265  Gtx7Core_Inst : entity work.Gtx7Core
266  generic map (
267  TPD_G => TPD_G,
279  PMA_RSV_G => PMA_RSV_G,
280  TX_PLL_G => TX_PLL_G,
281  RX_PLL_G => RX_PLL_G,
282 
283  -- Data width
284  TX_EXT_DATA_WIDTH_G => GT_WORD_SIZE_C*8,
285  TX_INT_DATA_WIDTH_G => GT_WORD_SIZE_C*8+GT_WORD_SIZE_C*2,
286  TX_8B10B_EN_G => true,
287 
288  -- Data width
289  RX_EXT_DATA_WIDTH_G => GT_WORD_SIZE_C*8,
290  RX_INT_DATA_WIDTH_G => GT_WORD_SIZE_C*8+GT_WORD_SIZE_C*2,
291  RX_8B10B_EN_G => true,
292 
293 
299  RX_BUF_EN_G => true,
300  RX_OUTCLK_SRC_G => "OUTCLKPMA",
301  RX_USRCLK_SRC_G => "RXOUTCLK", -- Not 100% sure, doesn't really matter
302  RX_DLY_BYPASS_G => '1',
303  RX_DDIEN_G => '0',
304  RX_BUF_ADDR_MODE_G => "FULL",
305  RX_ALIGN_MODE_G => "GT", -- Default
306  ALIGN_COMMA_DOUBLE_G => "TRUE", -- True for JESD to align comma on every polarity
307  ALIGN_COMMA_ENABLE_G => "1111111111", -- Default
308  ALIGN_COMMA_WORD_G => 1, -- 1 for JESD to align comma on every byte
309  ALIGN_MCOMMA_DET_G => "TRUE",
310  ALIGN_MCOMMA_VALUE_G => "1010000011", -- Default
311  ALIGN_MCOMMA_EN_G => '1',
312  ALIGN_PCOMMA_DET_G => "TRUE",
313  ALIGN_PCOMMA_VALUE_G => "0101111100", -- Default
314  ALIGN_PCOMMA_EN_G => '1',
315  SHOW_REALIGN_COMMA_G => "FALSE",
316  RXSLIDE_MODE_G => "AUTO",
317  RX_DISPERR_SEQ_MATCH_G => "TRUE", -- Default
318  DEC_MCOMMA_DETECT_G => "TRUE", -- Default
319  DEC_PCOMMA_DETECT_G => "TRUE", -- Default
320  DEC_VALID_COMMA_ONLY_G => "FALSE", -- Default
321  CBCC_DATA_SOURCE_SEL_G => "DECODED", -- Default
322  CLK_COR_SEQ_2_USE_G => "FALSE", -- Default
323  CLK_COR_KEEP_IDLE_G => "FALSE", -- Default
324  CLK_COR_MAX_LAT_G => 21,
325  CLK_COR_MIN_LAT_G => 18,
326  CLK_COR_PRECEDENCE_G => "TRUE", -- Default
327  CLK_COR_REPEAT_WAIT_G => 0, -- Default
328  CLK_COR_SEQ_LEN_G => 4,
329  CLK_COR_SEQ_1_ENABLE_G => "1111", -- Default
330  CLK_COR_SEQ_1_1_G => "0110111100",
331  CLK_COR_SEQ_1_2_G => "0100011100",
332  CLK_COR_SEQ_1_3_G => "0100011100",
333  CLK_COR_SEQ_1_4_G => "0100011100",
334  CLK_CORRECT_USE_G => "TRUE",
335  CLK_COR_SEQ_2_ENABLE_G => "0000", -- Default
336  CLK_COR_SEQ_2_1_G => "0000000000", -- Default
337  CLK_COR_SEQ_2_2_G => "0000000000", -- Default
338  CLK_COR_SEQ_2_3_G => "0000000000", -- Default
339  CLK_COR_SEQ_2_4_G => "0000000000", -- Default
340  RX_CHAN_BOND_EN_G => true, --true ulegat
341  RX_CHAN_BOND_MASTER_G => (i = 0),
342  CHAN_BOND_KEEP_ALIGN_G => "FALSE", -- Default
343  CHAN_BOND_MAX_SKEW_G => 10,
344  CHAN_BOND_SEQ_LEN_G => 1, -- Default
345  CHAN_BOND_SEQ_1_1_G => "0110111100",
346  CHAN_BOND_SEQ_1_2_G => "0111011100",
347  CHAN_BOND_SEQ_1_3_G => "0111011100",
348  CHAN_BOND_SEQ_1_4_G => "0111011100",
349  CHAN_BOND_SEQ_1_ENABLE_G => "1111", -- Default
350  CHAN_BOND_SEQ_2_1_G => "0000000000", -- Default
351  CHAN_BOND_SEQ_2_2_G => "0000000000", -- Default
352  CHAN_BOND_SEQ_2_3_G => "0000000000", -- Default
353  CHAN_BOND_SEQ_2_4_G => "0000000000", -- Default
354  CHAN_BOND_SEQ_2_ENABLE_G => "0000", -- Default
355  CHAN_BOND_SEQ_2_USE_G => "FALSE", -- Default
356  FTS_DESKEW_SEQ_ENABLE_G => "1111", -- Default
357  FTS_LANE_DESKEW_CFG_G => "1111", -- Default
358  FTS_LANE_DESKEW_EN_G => "FALSE", -- Default
361  RX_EQUALIZER_G => "DFE", -- Xilinx recommends this for 8b10b
364  port map (
367  cPllLockOut => cPllLockOut(I),
368 
370  qPllClkIn => qPllClkIn,
374 
375  gtRxRefClkBufg => stableClk, -- TODO check
376 
377  gtTxP => gtTxP(I),
378  gtTxN => gtTxN(I),
379  gtRxP => gtRxP(I),
380  gtRxN => gtRxN(I),
381 
382  rxOutClkOut => rxOutClkOut(I),
383  rxUsrClkIn => devClk_i,
387  rxMmcmLockedIn => '1',
388  rxUserResetIn => s_gtReset(I),
389  rxResetDoneOut => r_jesdGtRxArr(I).rstDone,
390  rxDataValidIn => '1',
391  rxSlideIn => '0',
392  rxDataOut => r_jesdGtRxArr(I).data,
393  rxCharIsKOut => r_jesdGtRxArr(I).dataK,
394  rxDecErrOut => r_jesdGtRxArr(I).decErr,
395  rxDispErrOut => r_jesdGtRxArr(I).dispErr,
396  rxPolarityIn => '1', -- Changed to '1' after receiving weird data (sometimes ok sometimes wrong)
397  rxBufStatusOut => open,
398  rxChBondLevelIn => slv(to_unsigned((L_G-1-I), 3)),
399  rxChBondIn => rxChBondIn(I),
400  rxChBondOut => rxChBondOut(I),
401  txOutClkOut => txOutClkOut(I),
402  txUsrClkIn => devClk_i,
404  txUserRdyOut => open,
405  txMmcmResetOut => open,
406  txMmcmLockedIn => '1',
407  txUserResetIn => '1',
408  txResetDoneOut => open,
409  txDataIn => (r_jesdGtRxArr(I).data'range => '0'),
410  txCharIsKIn => (r_jesdGtRxArr(I).dataK'range => '0'),
411  txBufStatusOut => open,
412  loopbackIn => "000"
413  );
414  end generate GTX7_CORE_GEN;
415  -----------------------------------------
416  end generate GT_OPER_GEN;
417  -----------------------------------------------------
418 end rtl;
slv( 127 downto 0) data
Definition: SsiPkg.vhd:67
ALIGN_MCOMMA_VALUE_Gbit_vector := "1010000011"
Definition: Gtx7Core.vhd:92
CLK_COR_REPEAT_WAIT_Ginteger := 0
Definition: Gtx7Core.vhd:120
TX_OUTCLK_SRC_Gstring := "PLLREFCLK"
Definition: Gtx7Core.vhd:74
TX_PLL_Gstring := "CPLL"
Definition: Gtx7Core.vhd:60
RXCDR_CFG_Gbit_vector := x"03000023ff10400020"
TX_PHASE_ALIGN_Gstring := "AUTO"
Definition: Gtx7Core.vhd:76
in txCharIsKInslv(( TX_EXT_DATA_WIDTH_G/ 8)- 1 downto 0)
Definition: Gtx7Core.vhd:227
CHAN_BOND_SEQ_1_4_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:143
out txUserRdyOutsl
Definition: Gtx7Core.vhd:217
FTS_DESKEW_SEQ_ENABLE_Gbit_vector := "1111"
Definition: Gtx7Core.vhd:151
RX_BUF_EN_Gboolean := true
Definition: Gtx7Core.vhd:79
TX_CLK25_DIV_Ginteger := 5
Definition: Gtx7Core.vhd:50
STABLE_CLOCK_PERIOD_Greal := 4.0E-9
Definition: Gtx7Core.vhd:40
out rxResetDoneOutsl
Definition: Gtx7Core.vhd:194
in rxUserResetInsl
Definition: Gtx7Core.vhd:193
out gtTxNsl
Definition: Gtx7Core.vhd:180
CPLL_FBDIV_45_Ginteger := 5
Definition: Gtx7Core.vhd:45
TX_PHASE_ALIGN_Gstring := "NONE"
SYSREF_GEN_Gboolean := false
in gtRxPslv( L_G- 1 downto 0)
ALIGN_MCOMMA_EN_Gsl := '0'
Definition: Gtx7Core.vhd:93
RX_OS_CFG_Gbit_vector := "0000010000000"
RX_INT_DATA_WIDTH_Ginteger := 20
Definition: Gtx7Core.vhd:69
CPLL_FBDIV_Ginteger
AxiLiteWriteMasterType
Definition: AxiLitePkg.vhd:111
TPD_Gtime := 1 ns
Definition: Jesd204bRx.vhd:48
std_logic sl
Definition: StdRtlPkg.vhd:28
L_Gpositive range 1 to 32:= 2
Definition: Jesd204bRx.vhd:65
out dataValidVec_oslv( L_G- 1 downto 0)
Definition: Jesd204bRx.vhd:85
in qPllLockInsl := '0'
Definition: Gtx7Core.vhd:172
out rxAxisMasterArr_oAxiStreamMasterArray( L_G- 1 downto 0)
Definition: Jesd204bRx.vhd:80
CHAN_BOND_SEQ_2_3_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:147
TX_BUF_ADDR_MODE_Gstring := "FULL"
CPLL_REFCLK_SEL_Gbit_vector := "001"
Definition: Gtx7Core.vhd:43
SHOW_REALIGN_COMMA_Gstring := "FALSE"
Definition: Gtx7Core.vhd:97
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
CBCC_DATA_SOURCE_SEL_Gstring := "DECODED"
Definition: Gtx7Core.vhd:114
out rxBufStatusOutslv( 2 downto 0)
Definition: Gtx7Core.vhd:206
RX_CHAN_BOND_EN_Gboolean := false
Definition: Gtx7Core.vhd:135
ALIGN_PCOMMA_EN_Gsl := '0'
Definition: Gtx7Core.vhd:96
SIM_GTRESET_SPEEDUP_Gstring := "FALSE"
Definition: Gtx7Core.vhd:35
TEST_Gboolean := false
in axilReadMasterAxiLiteReadMasterType
DEC_VALID_COMMA_ONLY_Gstring := "FALSE"
Definition: Gtx7Core.vhd:111
RX_DISPERR_SEQ_MATCH_Gstring := "TRUE"
Definition: Gtx7Core.vhd:108
TPD_Gtime := 1 ns
Definition: Gtx7Core.vhd:32
TEST_Gboolean := false
Definition: Jesd204bRx.vhd:51
RX_EQUALIZER_Gstring := "DFE"
Definition: Gtx7Core.vhd:156
DEC_PCOMMA_DETECT_Gstring := "TRUE"
Definition: Gtx7Core.vhd:110
slv( GT_WORD_SIZE_C- 1 downto 0) dataK
Definition: Jesd204bPkg.vhd:63
in txUserResetInsl
Definition: Gtx7Core.vhd:222
TX_BUF_EN_Gboolean := true
ALIGN_COMMA_DOUBLE_Gstring := "FALSE"
Definition: Gtx7Core.vhd:88
CLK_COR_SEQ_2_USE_Gstring := "FALSE"
Definition: Gtx7Core.vhd:115
CHAN_BOND_SEQ_1_3_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:142
TX_INT_DATA_WIDTH_Ginteger := 20
Definition: Gtx7Core.vhd:65
RX_DLY_BYPASS_Gsl := '1'
Definition: Gtx7Core.vhd:82
in qPllRefClkLostInsl := '0'
Definition: Gtx7Core.vhd:173
out sysRefDbg_osl
Definition: Jesd204bRx.vhd:96
TX_DLY_BYPASS_Gsl := '1'
CLK_COR_SEQ_2_1_Gbit_vector := "0100000000"
Definition: Gtx7Core.vhd:129
out rxDataOutslv( RX_EXT_DATA_WIDTH_G- 1 downto 0)
Definition: Gtx7Core.vhd:201
RX_CLK25_DIV_Ginteger
CPLL_FBDIV_Ginteger := 4
Definition: Gtx7Core.vhd:44
TX_BUF_EN_Gboolean := true
Definition: Gtx7Core.vhd:73
PMA_RSV_Gbit_vector := X"00018480"
Definition: Gtx7Core.vhd:53
in rxChBondInslv( 4 downto 0) := "00000"
Definition: Gtx7Core.vhd:210
RXOUT_DIV_Ginteger := 2
Definition: Gtx7Core.vhd:47
out cPllLockOutsl
Definition: Gtx7Core.vhd:168
out rxOutClkOutslv( L_G- 1 downto 0)
CLK_CORRECT_USE_Gstring := "FALSE"
Definition: Gtx7Core.vhd:127
RX_OUTCLK_SRC_Gstring := "PLLREFCLK"
Definition: Gtx7Core.vhd:80
K_Gpositive := 32
Definition: Jesd204bRx.vhd:62
CLK_COR_MAX_LAT_Ginteger := 9
Definition: Gtx7Core.vhd:117
out sampleDataArr_osampleDataArray( L_G- 1 downto 0)
Definition: Jesd204bRx.vhd:84
RX_ALIGN_MODE_Gstring := "GT"
Definition: Gtx7Core.vhd:87
in rxCtrlArrAxiStreamCtrlArray( L_G- 1 downto 0)
CLK_COR_SEQ_1_1_Gbit_vector := "0100000000"
Definition: Gtx7Core.vhd:123
in gtRxPsl
Definition: Gtx7Core.vhd:181
RXCDR_CFG_Gbit_vector := x"03000023ff40200020"
Definition: Gtx7Core.vhd:56
out rxCharIsKOutslv(( RX_EXT_DATA_WIDTH_G/ 8)- 1 downto 0)
Definition: Gtx7Core.vhd:202
in axilReadMasterAxiLiteReadMasterType
Definition: Jesd204bRx.vhd:74
in gtRxNslv( L_G- 1 downto 0)
in gtRxNsl
Definition: Gtx7Core.vhd:182
CLK_COR_SEQ_1_4_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:126
out nSync_osl
Definition: Jesd204bRx.vhd:105
in rxChBondLevelInslv( 2 downto 0) := "000"
Definition: Gtx7Core.vhd:209
in txUsrClkInsl
Definition: Gtx7Core.vhd:215
CLK_COR_SEQ_1_2_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:124
slv( 1 downto 0) := "10" AXI_RESP_SLVERR_C
Definition: AxiLitePkg.vhd:36
out gtTxPslv( L_G- 1 downto 0)
CPLL_REFCLK_DIV_Ginteger := 1
Definition: Gtx7Core.vhd:46
out txBufStatusOutslv( 1 downto 0)
Definition: Gtx7Core.vhd:228
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_SLVERR_C
Definition: Jesd204bRx.vhd:54
in rxPolarityInsl := '0'
Definition: Gtx7Core.vhd:205
in qPllClkInsl := '0'
Definition: Gtx7Core.vhd:171
CLK_COR_KEEP_IDLE_Gstring := "FALSE"
Definition: Gtx7Core.vhd:116
TX_CLK25_DIV_Ginteger := 7
CHAN_BOND_SEQ_1_1_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:140
out pulse_oslv( L_G- 1 downto 0)
F_Gpositive := 2
Definition: Jesd204bRx.vhd:59
out axilReadSlaveAxiLiteReadSlaveType
Definition: Jesd204bRx.vhd:75
RXDFEXYDEN_Gsl := '1'
Definition: Gtx7Core.vhd:162
CLK_COR_SEQ_2_4_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:132
out rxDispErrOutslv(( RX_EXT_DATA_WIDTH_G/ 8)- 1 downto 0)
Definition: Gtx7Core.vhd:204
CLK_COR_SEQ_2_3_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:131
out gtTxPsl
Definition: Gtx7Core.vhd:179
in devRst_isl
Definition: Jesd204bRx.vhd:90
TXOUT_DIV_Ginteger := 2
out rxMmcmResetOutslv( 1 downto 0)
in loopbackInslv( 2 downto 0) := "000"
Definition: Gtx7Core.vhd:233
AxiLiteReadMasterType
Definition: AxiLitePkg.vhd:59
in txMmcmLockedInsl := '1'
Definition: Gtx7Core.vhd:219
DEC_MCOMMA_DETECT_Gstring := "TRUE"
Definition: Gtx7Core.vhd:109
CHAN_BOND_SEQ_2_2_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:146
CLK_COR_SEQ_LEN_Ginteger := 1
Definition: Gtx7Core.vhd:121
out leds_oslv( 1 downto 0)
RX_USRCLK_SRC_Gstring := "RXOUTCLK"
Definition: Gtx7Core.vhd:81
CHAN_BOND_MAX_SKEW_Ginteger := 1
Definition: Gtx7Core.vhd:138
RX_PLL_Gstring := "CPLL"
Definition: Gtx7Core.vhd:61
_library_ unisimunisim
TX_DLY_BYPASS_Gsl := '1'
Definition: Gtx7Core.vhd:75
in axiClksl
Definition: Jesd204bRx.vhd:70
in txUsrClk2Insl
Definition: Gtx7Core.vhd:216
RX_DFE_KL_CFG2_Gbit_vector := x"3008E56A"
Definition: Gtx7Core.vhd:157
slv( GT_WORD_SIZE_C- 1 downto 0) dispErr
Definition: Jesd204bPkg.vhd:64
out rxChBondOutslv( 4 downto 0)
Definition: Gtx7Core.vhd:211
in rxSlideInsl := '0'
Definition: Gtx7Core.vhd:198
in rxDataValidInsl := '1'
Definition: Gtx7Core.vhd:197
array(natural range <> ) of AxiStreamCtrlType AxiStreamCtrlArray
out rxMmcmResetOutsl
Definition: Gtx7Core.vhd:189
CHAN_BOND_SEQ_1_ENABLE_Gbit_vector := "1111"
Definition: Gtx7Core.vhd:144
out cPllLockOutslv( L_G- 1 downto 0)
out axilWriteSlaveAxiLiteWriteSlaveType
K_Gpositive := 32
CLK_COR_SEQ_2_ENABLE_Gbit_vector := "0000"
Definition: Gtx7Core.vhd:128
in sysRef_isl
Definition: Jesd204bRx.vhd:93
out pulse_oslv( L_G- 1 downto 0)
Definition: Jesd204bRx.vhd:108
CLK_COR_SEQ_1_3_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:125
array(natural range <> ) of AxiStreamMasterType AxiStreamMasterArray
CHAN_BOND_SEQ_1_2_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:141
out rxOutClkOutsl
Definition: Gtx7Core.vhd:185
out gtRxReset_oslv( L_G- 1 downto 0)
Definition: Jesd204bRx.vhd:100
CHAN_BOND_SEQ_2_USE_Gstring := "FALSE"
Definition: Gtx7Core.vhd:150
CHAN_BOND_SEQ_LEN_Ginteger := 1
Definition: Gtx7Core.vhd:139
out qPllResetOutslv( L_G- 1 downto 0)
in axilWriteMasterAxiLiteWriteMasterType
Definition: Jesd204bRx.vhd:76
out rxUserRdyOutslv( 1 downto 0)
in devClk_isl
Definition: Jesd204bRx.vhd:89
out gtTxNslv( L_G- 1 downto 0)
in txDataInslv( TX_EXT_DATA_WIDTH_G- 1 downto 0)
Definition: Gtx7Core.vhd:226
out rxUserRdyOutsl
Definition: Gtx7Core.vhd:188
L_Gpositive := 2
TX_8B10B_EN_Gboolean := true
Definition: Gtx7Core.vhd:66
SIM_GTRESET_SPEEDUP_Gstring := "FALSE"
CPLL_REFCLK_DIV_Ginteger
in rxMmcmLockedInsl := '1'
Definition: Gtx7Core.vhd:190
STABLE_CLOCK_PERIOD_Greal := 4.0E-9
CLK_COR_SEQ_2_2_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:130
AxiLiteReadSlaveType
Definition: AxiLitePkg.vhd:85
CPLL_FBDIV_45_Ginteger
out qPllResetOutsl
Definition: Gtx7Core.vhd:174
out axilReadSlaveAxiLiteReadSlaveType
array(natural range <> ) of slv( 4 downto 0) Slv5Array
Definition: StdRtlPkg.vhd:406
in r_jesdGtRxArrjesdGtRxLaneTypeArray( L_G- 1 downto 0)
Definition: Jesd204bRx.vhd:99
RX_CLK25_DIV_Ginteger := 5
Definition: Gtx7Core.vhd:49
TXOUT_DIV_Ginteger := 2
Definition: Gtx7Core.vhd:48
out txResetDoneOutsl
Definition: Gtx7Core.vhd:223
ALIGN_PCOMMA_DET_Gstring := "FALSE"
Definition: Gtx7Core.vhd:94
in axiRstsl
Definition: Jesd204bRx.vhd:71
RX_8B10B_EN_Gboolean := true
Definition: Gtx7Core.vhd:70
in gtRxRefClkBufgsl := '0'
Definition: Gtx7Core.vhd:175
F_Gpositive := 2
CHAN_BOND_SEQ_2_1_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:145
in rxUsrClkInsl
Definition: Gtx7Core.vhd:186
ALIGN_MCOMMA_DET_Gstring := "FALSE"
Definition: Gtx7Core.vhd:91
in cPllRefClkInsl := '0'
Definition: Gtx7Core.vhd:167
PMA_RSV_Gbit_vector := x"001E7080"
RX_CHAN_BOND_MASTER_Gboolean := false
Definition: Gtx7Core.vhd:136
slv( GT_WORD_SIZE_C- 1 downto 0) decErr
Definition: Jesd204bPkg.vhd:65
TX_EXT_DATA_WIDTH_Ginteger := 16
Definition: Gtx7Core.vhd:64
CLK_COR_MIN_LAT_Ginteger := 7
Definition: Gtx7Core.vhd:118
CLK_COR_SEQ_1_ENABLE_Gbit_vector := "1111"
Definition: Gtx7Core.vhd:122
RXDFEXYDEN_Gsl := '1'
RX_EXT_DATA_WIDTH_Ginteger := 16
Definition: Gtx7Core.vhd:68
RXSLIDE_MODE_Gstring := "PCS"
Definition: Gtx7Core.vhd:98
CLK_COR_PRECEDENCE_Gstring := "TRUE"
Definition: Gtx7Core.vhd:119
out rxAxisMasterArrAxiStreamMasterArray( L_G- 1 downto 0)
TX_BUF_ADDR_MODE_Gstring := "FAST"
Definition: Gtx7Core.vhd:77
RX_OS_CFG_Gbit_vector := "0000010000000"
Definition: Gtx7Core.vhd:55
CHAN_BOND_SEQ_2_4_Gbit_vector := "0000000000"
Definition: Gtx7Core.vhd:148
array(natural range <> ) of jesdGtRxLaneType jesdGtRxLaneTypeArray
Definition: Jesd204bPkg.vhd:88
FTS_LANE_DESKEW_EN_Gstring := "FALSE"
Definition: Gtx7Core.vhd:153
FTS_LANE_DESKEW_CFG_Gbit_vector := "1111"
Definition: Gtx7Core.vhd:152
out txMmcmResetOutsl
Definition: Gtx7Core.vhd:218
in rxUsrClk2Insl
Definition: Gtx7Core.vhd:187
SIM_VERSION_Gstring := "4.0"
ALIGN_PCOMMA_VALUE_Gbit_vector := "0101111100"
Definition: Gtx7Core.vhd:95
out leds_oslv( 1 downto 0)
Definition: Jesd204bRx.vhd:110
CHAN_BOND_KEEP_ALIGN_Gstring := "FALSE"
Definition: Gtx7Core.vhd:137
in rxCtrlArr_iAxiStreamCtrlArray( L_G- 1 downto 0) :=( others => AXI_STREAM_CTRL_UNUSED_C)
Definition: Jesd204bRx.vhd:81
out rxDecErrOutslv(( RX_EXT_DATA_WIDTH_G/ 8)- 1 downto 0)
Definition: Gtx7Core.vhd:203
ALIGN_COMMA_WORD_Ginteger := 2
Definition: Gtx7Core.vhd:90
RX_BUF_ADDR_MODE_Gstring := "FAST"
Definition: Gtx7Core.vhd:84
out txOutClkOutsl
Definition: Gtx7Core.vhd:214
CHAN_BOND_SEQ_2_ENABLE_Gbit_vector := "0000"
Definition: Gtx7Core.vhd:149
TX_OUTCLK_SRC_Gstring := "OUTCLKPMA"
ALIGN_COMMA_ENABLE_Gbit_vector := "1111111111"
Definition: Gtx7Core.vhd:89
out axilWriteSlaveAxiLiteWriteSlaveType
Definition: Jesd204bRx.vhd:77
RX_DFE_KL_CFG2_Gbit_vector := X"301148AC"
in qPllRefClkInsl := '0'
Definition: Gtx7Core.vhd:170
TPD_Gtime := 1 ns
in axilWriteMasterAxiLiteWriteMasterType
CPLL_REFCLK_SEL_Gbit_vector := "001"
RX_DDIEN_Gsl := '0'
Definition: Gtx7Core.vhd:83
std_logic_vector slv
Definition: StdRtlPkg.vhd:29
in stableClkInsl
Definition: Gtx7Core.vhd:165
SIM_VERSION_Gstring := "4.0"
Definition: Gtx7Core.vhd:36
out txOutClkOutslv( L_G- 1 downto 0)