SURF  1.0
Pgp2bGtp7FixedLat.vhd
Go to the documentation of this file.
1 -------------------------------------------------------------------------------
2 -- File : Pgp2bGtp7FixedLat.vhd
3 -- Company : SLAC National Accelerator Laboratory
4 -- Created : 2013-06-29
5 -- Last update: 2016-12-16
6 -------------------------------------------------------------------------------
7 -- Description: Gth7 Fixed Latency 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 -------------------------------------------------------------------------------
17 
18 library ieee;
19 use ieee.std_logic_1164.all;
20 
21 use work.StdRtlPkg.all;
22 use work.Pgp2bPkg.all;
23 use work.AxiStreamPkg.all;
24 use work.AxiLitePkg.all;
25 
26 library UNISIM;
27 use UNISIM.VCOMPONENTS.all;
28 
29 --! @see entity
30  --! @ingroup protocols_pgp_pgp2b_gtp7
32  generic (
33  TPD_G : time := 1 ns;
34 
35  ----------------------------------------------------------------------------------------------
36  -- GT Settings
37  ----------------------------------------------------------------------------------------------
38  -- Sim Generics --
39  SIM_GTRESET_SPEEDUP_G : string := "FALSE";
40  SIM_VERSION_G : string := "1.0";
41  SIMULATION_G : boolean := false;
42  STABLE_CLOCK_PERIOD_G : real := 4.0E-9; --units of seconds
43  REF_CLK_FREQ_G : real := 125.0E6;
44  -- TX/RX Settings - Defaults to 2.5 Gbps operation
45  RXOUT_DIV_G : integer := 2;
46  TXOUT_DIV_G : integer := 2;
47  RX_CLK25_DIV_G : integer := 5; -- Set by wizard
48  TX_CLK25_DIV_G : integer := 5; -- Set by wizard
49  PMA_RSV_G : bit_vector := x"00000333"; -- Set by wizard
50  RX_OS_CFG_G : bit_vector := "0001111110000"; -- Set by wizard
51  RXCDR_CFG_G : bit_vector := x"0000107FE206001041010"; -- Set by wizard
52  RXLPM_INCM_CFG_G : bit := '1'; -- Set by wizard
53  RXLPM_IPCM_CFG_G : bit := '0'; -- Set by wizard
54 
55  -- Allow TX to run in var lat mode by altering these generics
56  TX_BUF_EN_G : boolean := false;
57  TX_OUTCLK_SRC_G : string := "PLLREFCLK";
58  TX_PHASE_ALIGN_G : string := "MANUAL";
59  -- Configure PLL sources
60  TX_PLL_G : string := "PLL0";
61  RX_PLL_G : string := "PLL1";
62 
63  ----------------------------------------------------------------------------------------------
64  -- PGP Settings
65  ----------------------------------------------------------------------------------------------
66  VC_INTERLEAVE_G : integer := 0; -- No interleave Frames
67  PAYLOAD_CNT_TOP_G : integer := 7; -- Top bit for payload counter
68  NUM_VC_EN_G : integer range 1 to 4 := 4;
70  TX_ENABLE_G : boolean := true; -- Enable TX direction
71  RX_ENABLE_G : boolean := true); -- Enable RX direction
72  port (
73  -- GT Clocking
74  stableClk : in sl; -- GT needs a stable clock to "boot up"
75  gtQPllOutRefClk : in slv(1 downto 0) := "00"; -- Signals from QPLLs
76  gtQPllOutClk : in slv(1 downto 0) := "00";
77  gtQPllLock : in slv(1 downto 0) := "00";
78  gtQPllRefClkLost : in slv(1 downto 0) := "00";
79  gtQPllReset : out slv(1 downto 0);
80  gtRxRefClkBufg : in sl; -- gtrefclk driving rx side, fed through clock buffer
81  gtTxOutClk : out sl;
82 
83  -- Gt Serial IO
84  gtRxN : in sl; -- GT Serial Receive Negative
85  gtRxP : in sl; -- GT Serial Receive Positive
86  gtTxN : out sl; -- GT Serial Transmit Negative
87  gtTxP : out sl; -- GT Serial Transmit Positive
88 
89  -- Tx Clocking
90  pgpTxReset : in sl;
91  pgpTxClk : in sl;
92  pgpTxMmcmReset : out sl := '0';
93  pgpTxMmcmLocked : in sl := '1';
94 
95  -- Rx clocking
96  pgpRxReset : in sl;
97  pgpRxRecClk : out sl; -- rxrecclk basically
98  pgpRxRecClkRst : out sl; -- Reset for recovered clock
99  pgpRxClk : in sl; -- Run recClk through external MMCM and sent to this input
101  pgpRxMmcmLocked : in sl := '1';
102 
103  -- Non VC Rx Signals
106 
107  -- Non VC Tx Signals
110 
111  -- Frame Transmit Interface - 1 Lane, Array of 4 VCs
113  pgpTxSlaves : out AxiStreamSlaveArray(3 downto 0);
114 
115  -- Frame Receive Interface - 1 Lane, Array of 4 VCs
118  pgpRxCtrl : in AxiStreamCtrlArray(3 downto 0);
119 
120  -- Debug Interface
121  txPreCursor : in slv(4 downto 0) := (others => '0');
122  txPostCursor : in slv(4 downto 0) := (others => '0');
123  txDiffCtrl : in slv(3 downto 0) := "1000";
124  -- AXI-Lite Interface
125  axilClk : in sl := '0';
126  axilRst : in sl := '0';
131 
132 end Pgp2bGtp7FixedLat;
133 
134 
135 -- Define architecture
136 architecture rtl of Pgp2bGtp7FixedLat is
137 
138  --------------------------------------------------------------------------------------------------
139  -- Rx Signals
140  --------------------------------------------------------------------------------------------------
141  -- Rx Clocks
142 
143  -- Rx Resets
144  signal gtRxResetDone : sl;
145  signal gtRxResetDoneL : sl;
146  signal gtRxUserReset : sl;
147 
148  signal pgpRxResetInt : sl;
149 
150  -- PgpRx Signals
151  signal gtRxData : slv(19 downto 0); -- Feed to 8B10B decoder
152  signal dataValid : sl; -- no decode or disparity errors
153  signal phyRxLanesIn : Pgp2bRxPhyLaneInArray(0 to 0); -- Output from decoder
154  signal phyRxLanesOut : Pgp2bRxPhyLaneOutArray(0 to 0); -- Polarity to GT
155  signal phyRxReady : sl; -- To RxRst
156  signal phyRxInit : sl; -- To RxRst
157 
158  --------------------------------------------------------------------------------------------------
159  -- Tx Signals
160  --------------------------------------------------------------------------------------------------
161  signal gtTxUsrClk : sl;
162 
163  signal gtTxResetDone : sl;
164 
165  -- PgpTx Signals
166  signal phyTxLanesOut : Pgp2bTxPhyLaneOutArray(0 to 0);
167  signal phyTxReady : sl;
168 
169  signal stableRst : sl;
170  signal drpGnt : sl;
171  signal drpRdy : sl;
172  signal drpEn : sl;
173  signal drpWe : sl;
174  signal drpAddr : slv(8 downto 0);
175  signal drpDi : slv(15 downto 0);
176  signal drpDo : slv(15 downto 0);
177 
178 begin
179 
180  pgpRxResetInt <= pgpRxReset or gtRxResetDoneL;
181 
182  --------------------------------------------------------------------------------------------------
183  -- PGP Core
184  --------------------------------------------------------------------------------------------------
185 
186  U_Pgp2bLane : entity work.Pgp2bLane
187  generic map (
188  TPD_G => TPD_G,
189  LANE_CNT_G => 1,
195  port map (
196  pgpTxClk => pgpTxClk,
198  pgpTxIn => pgpTxIn,
199  pgpTxOut => pgpTxOut,
202  phyTxLanesOut => phyTxLanesOut,
203  phyTxReady => gtTxResetDone, --phyTxReady, -- Use txResetDone
204  pgpRxClk => pgpRxClk,
205  pgpRxClkRst => pgpRxResetInt, --gtRxResetDoneL, -- Hold in reset until gtp rx is up
206  pgpRxIn => pgpRxIn,
207  pgpRxOut => pgpRxOut,
210  pgpRxCtrl => pgpRxCtrl,
211  phyRxLanesOut => phyRxLanesOut,
212  phyRxLanesIn => phyRxLanesIn,
213  phyRxReady => gtRxResetDone,
214  phyRxInit => gtRxUserReset -- Ignore phyRxInit, rx will reset on its own
215  );
216 
217  --------------------------------------------------------------------------------------------------
218  -- Rx Data Path
219  -- Hold Decoder and PgpRx in reset until GtRxResetDone.
220  --------------------------------------------------------------------------------------------------
221  gtRxResetDoneL <= not gtRxResetDone;
222  Decoder8b10b_1 : entity work.Decoder8b10b
223  generic map (
224  TPD_G => TPD_G,
225  RST_POLARITY_G => '0', --active low polarity
226  NUM_BYTES_G => 2)
227  port map (
228  clk => pgpRxClk,
229  rst => gtRxResetDone,
230  dataIn => gtRxData,
231  dataOut => phyRxLanesIn(0).data,
232  dataKOut => phyRxLanesIn(0).dataK,
233  codeErr => phyRxLanesIn(0).decErr,
234  dispErr => phyRxLanesIn(0).dispErr);
235 
236  dataValid <= not (uOr(phyRxLanesIn(0).decErr) or uOr(phyRxLanesIn(0).dispErr));
237 
238  pgpRxRecClkRst <= gtRxResetDoneL;
239 
240  --------------------------------------------------------------------------------------------------
241  -- Tx Data Path
242  --------------------------------------------------------------------------------------------------
243  gtTxUsrClk <= pgpTxClk;
244 
245  --------------------------------------------------------------------------------------------------
246  -- GTP 7 Core in Fixed Latency mode
247  --------------------------------------------------------------------------------------------------
248  Gtp7Core_1 : entity work.Gtp7Core
249  generic map (
250  TPD_G => TPD_G,
260  PMA_RSV_G => PMA_RSV_G,
265  TX_PLL_G => TX_PLL_G,
266  RX_PLL_G => RX_PLL_G,
267  TX_EXT_DATA_WIDTH_G => 16,
268  TX_INT_DATA_WIDTH_G => 20,
269  TX_8B10B_EN_G => true,
270  RX_EXT_DATA_WIDTH_G => 20,
271  RX_INT_DATA_WIDTH_G => 20,
272  RX_8B10B_EN_G => false,
275  TX_DLY_BYPASS_G => toSl(not TX_BUF_EN_G),
277  RX_BUF_EN_G => false,
278  RX_OUTCLK_SRC_G => "OUTCLKPMA",
279  RX_USRCLK_SRC_G => "RXOUTCLK",
280  RX_DLY_BYPASS_G => '1',
281  RX_DDIEN_G => '0',
282  RX_ALIGN_MODE_G => "FIXED_LAT",
283 -- ALIGN_COMMA_DOUBLE_G => ALIGN_COMMA_DOUBLE_G,
284 -- ALIGN_COMMA_ENABLE_G => ALIGN_COMMA_ENABLE_G,
285 -- ALIGN_COMMA_WORD_G => ALIGN_COMMA_WORD_G,
286 -- ALIGN_MCOMMA_DET_G => ALIGN_MCOMMA_DET_G,
287 -- ALIGN_MCOMMA_VALUE_G => ALIGN_MCOMMA_VALUE_G,
288 -- ALIGN_MCOMMA_EN_G => ALIGN_MCOMMA_EN_G,
289 -- ALIGN_PCOMMA_DET_G => ALIGN_PCOMMA_DET_G,
290 -- ALIGN_PCOMMA_VALUE_G => ALIGN_PCOMMA_VALUE_G,
291 -- ALIGN_PCOMMA_EN_G => ALIGN_PCOMMA_EN_G,
292 -- SHOW_REALIGN_COMMA_G => SHOW_REALIGN_COMMA_G,
293  RXSLIDE_MODE_G => "PMA",
294  FIXED_ALIGN_COMMA_0_G => "----------0101111100", -- Normal Comma
295  FIXED_ALIGN_COMMA_1_G => "----------1010000011", -- Inverted Comma
296  FIXED_ALIGN_COMMA_2_G => "XXXXXXXXXXXXXXXXXXXX", -- Unused
297  FIXED_ALIGN_COMMA_3_G => "XXXXXXXXXXXXXXXXXXXX" -- Unused
298 -- RX_DISPERR_SEQ_MATCH_G => RX_DISPERR_SEQ_MATCH_G,
299 -- DEC_MCOMMA_DETECT_G => DEC_MCOMMA_DETECT_G,
300 -- DEC_PCOMMA_DETECT_G => DEC_PCOMMA_DETECT_G,
301 -- DEC_VALID_COMMA_ONLY_G => DEC_VALID_COMMA_ONLY_G
302  )
303  port map (
311  gtTxP => gtTxP,
312  gtTxN => gtTxN,
313  gtRxP => gtRxP,
314  gtRxN => gtRxN,
316  rxUsrClkIn => pgpRxClk,
318  rxUserRdyOut => open, -- rx clock locked and stable, but alignment not yet done
321  rxUserResetIn => gtRxUserReset,
322  rxResetDoneOut => gtRxResetDone, -- Use for rxRecClkReset???
323  rxDataValidIn => dataValid, -- From 8b10b
324  rxSlideIn => '0', -- Slide is controlled internally
325  rxDataOut => gtRxData,
326  rxCharIsKOut => open, -- Not using gt rx 8b10b
327  rxDecErrOut => open, -- Not using gt rx 8b10b
328  rxDispErrOut => open, -- Not using gt rx 8b10b
329  rxPolarityIn => phyRxLanesOut(0).polarity,
330  rxBufStatusOut => open, -- Not using rx buff
331  txOutClkOut => gtTxOutClk, -- Maybe drive PGP TX with this and output it
332  txUsrClkIn => gtTxUsrClk,
333  txUsrClk2In => gtTxUsrClk,
334  txUserRdyOut => open, -- Not sure what to do with this
335  txMmcmResetOut => pgpTxMmcmReset, -- No Tx MMCM in Fixed Latency mode
338  txResetDoneOut => gtTxResetDone,
339  txDataIn => phyTxLanesOut(0).data,
340  txCharIsKIn => phyTxLanesOut(0).dataK,
341  txBufStatusOut => open, -- Not using tx buff
342  loopbackIn => pgpRxIn.loopback,
346  drpGnt => drpGnt,
347  drpRdy => drpRdy,
348  drpEn => drpEn,
349  drpWe => drpWe,
350  drpAddr => drpAddr,
351  drpDi => drpDi,
352  drpDo => drpDo);
353 
354  U_AxiLiteToDrp : entity work.AxiLiteToDrp
355  generic map (
356  TPD_G => TPD_G,
358  COMMON_CLK_G => false,
359  EN_ARBITRATION_G => true,
360  TIMEOUT_G => 4096,
361  ADDR_WIDTH_G => 9,
362  DATA_WIDTH_G => 16)
363  port map (
364  -- AXI-Lite Port
365  axilClk => axilClk,
366  axilRst => axilRst,
371  -- DRP Interface
372  drpClk => stableClk,
373  drpRst => stableRst,
374  drpGnt => drpGnt,
375  drpRdy => drpRdy,
376  drpEn => drpEn,
377  drpWe => drpWe,
378  drpAddr => drpAddr,
379  drpDi => drpDi,
380  drpDo => drpDo);
381 
382  U_RstSync : entity work.RstSync
383  generic map (
384  TPD_G => TPD_G)
385  port map (
386  clk => stableClk,
387  asyncRst => axilRst,
388  syncRst => stableRst);
389 
390 end rtl;
391 
in rxUsrClkInsl
Definition: Gtp7Core.vhd:167
TPD_Gtime := 1 ns
Definition: Gtp7Core.vhd:31
in txUserResetInsl
Definition: Gtp7Core.vhd:203
SIM_VERSION_Gstring := "1.0"
Definition: Gtp7Core.vhd:35
in pgpTxMastersAxiStreamMasterArray( 3 downto 0) :=( others => AXI_STREAM_MASTER_INIT_C)
in pgpRxClkRstsl := '0'
Definition: Pgp2bLane.vhd:71
ADDR_WIDTH_Gpositive range 1 to 32:= 16
NUM_BYTES_Gpositive := 2
RST_POLARITY_Gsl := '1'
array(natural range <> ) of AxiStreamSlaveType AxiStreamSlaveArray
slv( 1 downto 0) dispErr
Definition: Pgp2bPkg.vhd:170
in pgpTxMmcmLockedsl := '1'
TX_EXT_DATA_WIDTH_Ginteger := 16
Definition: Gtp7Core.vhd:58
TX_ENABLE_Gboolean := true
Definition: Pgp2bLane.vhd:38
RX_EXT_DATA_WIDTH_Ginteger := 16
Definition: Gtp7Core.vhd:62
TX_INT_DATA_WIDTH_Ginteger := 20
Definition: Gtp7Core.vhd:59
RX_DLY_BYPASS_Gsl := '1'
Definition: Gtp7Core.vhd:76
in qPllLockInslv( 1 downto 0)
Definition: Gtp7Core.vhd:153
sl phyRxReady
Definition: Pgp2bPkg.vhd:70
RX_OS_CFG_Gbit_vector := "0001111110000"
Definition: Gtp7Core.vhd:48
FIXED_ALIGN_COMMA_0_Gslv := "----------0101111100"
Definition: Gtp7Core.vhd:96
out syncRstsl
Definition: RstSync.vhd:36
sl phyTxReady
Definition: Pgp2bPkg.vhd:138
RXOUT_DIV_Ginteger := 2
Definition: Gtp7Core.vhd:43
in gtQPllLockslv( 1 downto 0) := "00"
out drpAddrslv( ADDR_WIDTH_G- 1 downto 0)
in qPllRefClkLostInslv( 1 downto 0)
Definition: Gtp7Core.vhd:154
SIMULATION_Gboolean := false
RX_OS_CFG_Gbit_vector := "0001111110000"
out axilWriteSlaveAxiLiteWriteSlaveType
out drpDoslv( 15 downto 0)
Definition: Gtp7Core.vhd:225
out pgpTxSlavesAxiStreamSlaveArray( 3 downto 0)
Definition: Pgp2bLane.vhd:58
AxiLiteWriteMasterType
Definition: AxiLitePkg.vhd:111
in drpGntsl := '1'
std_logic sl
Definition: StdRtlPkg.vhd:28
TPD_Gtime := 1 ns
EN_ARBITRATION_Gboolean := false
RX_DDIEN_Gsl := '0'
Definition: Gtp7Core.vhd:77
DATA_WIDTH_Gpositive range 1 to 32:= 16
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
in pgpRxCtrlAxiStreamCtrlArray( 3 downto 0)
out pgpRxMasterMuxedAxiStreamMasterType
out axilReadSlaveAxiLiteReadSlaveType
out dataOutslv( NUM_BYTES_G* 8- 1 downto 0)
in stableClkInsl
Definition: Gtp7Core.vhd:149
in drpDislv( 15 downto 0) := X"0000"
Definition: Gtp7Core.vhd:224
out rxCharIsKOutslv(( RX_EXT_DATA_WIDTH_G/ 8)- 1 downto 0)
Definition: Gtp7Core.vhd:183
RX_PLL_Gstring := "PLL1"
Definition: Gtp7Core.vhd:55
in drpDoslv( DATA_WIDTH_G- 1 downto 0)
COMMON_CLK_Gboolean := false
in pgpTxInPgp2bTxInType
in axilWriteMasterAxiLiteWriteMasterType := AXI_LITE_WRITE_MASTER_INIT_C
TX_PHASE_ALIGN_Gstring := "AUTO"
Definition: Gtp7Core.vhd:70
in txPostCursorslv( 4 downto 0) :=( others => '0')
in pgpRxInPgp2bRxInType := PGP2B_RX_IN_INIT_C
Definition: Pgp2bLane.vhd:74
slv( 15 downto 0) data
Definition: Pgp2bPkg.vhd:168
in txCharIsKInslv(( TX_EXT_DATA_WIDTH_G/ 8)- 1 downto 0)
Definition: Gtp7Core.vhd:208
out txUserRdyOutsl
Definition: Gtp7Core.vhd:198
out txBufStatusOutslv( 1 downto 0)
Definition: Gtp7Core.vhd:209
TX_CLK25_DIV_Ginteger := 5
Definition: Gtp7Core.vhd:46
out drpRdysl
Definition: Gtp7Core.vhd:220
VC_INTERLEAVE_Ginteger := 1
Definition: Pgp2bLane.vhd:35
out phyRxInitsl
Definition: Pgp2bLane.vhd:89
TX_CLK25_DIV_Ginteger := 5
out pgpRxOutPgp2bRxOutType
out codeErrslv( NUM_BYTES_G- 1 downto 0)
in rxUserResetInsl
Definition: Gtp7Core.vhd:174
RXCDR_CFG_Gbit_vector := x"0000107FE206001041010"
out gtTxNsl
Definition: Gtp7Core.vhd:161
out pgpTxMmcmResetsl := '0'
out dispErrslv( NUM_BYTES_G- 1 downto 0)
in txPreCursorslv( 4 downto 0) :=( others => '0')
out qPllResetOutslv( 1 downto 0)
Definition: Gtp7Core.vhd:155
out drpGntsl
Definition: Gtp7Core.vhd:219
RX_ENABLE_Gboolean := true
Definition: Pgp2bLane.vhd:40
FIXED_ALIGN_COMMA_1_Gslv := "----------1010000011"
Definition: Gtp7Core.vhd:97
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_DECERR_C
in asyncRstsl
Definition: RstSync.vhd:35
in txMmcmLockedInsl := '1'
Definition: Gtp7Core.vhd:200
in gtQPllRefClkLostslv( 1 downto 0) := "00"
in txPostCursorslv( 4 downto 0) :=( others => '0')
Definition: Gtp7Core.vhd:216
array(natural range <> ) of Pgp2bTxPhyLaneOutType Pgp2bTxPhyLaneOutArray
Definition: Pgp2bPkg.vhd:192
in clksl
Definition: RstSync.vhd:34
out pgpRxOutPgp2bRxOutType
Definition: Pgp2bLane.vhd:75
out axilWriteSlaveAxiLiteWriteSlaveType
out rxBufStatusOutslv( 2 downto 0)
Definition: Gtp7Core.vhd:187
TPD_Gtime := 1 ns
Definition: Pgp2bLane.vhd:33
in pgpTxMastersAxiStreamMasterArray( 3 downto 0) :=( others => AXI_STREAM_MASTER_INIT_C)
Definition: Pgp2bLane.vhd:57
SIM_GTRESET_SPEEDUP_Gstring := "FALSE"
Definition: Gtp7Core.vhd:34
PAYLOAD_CNT_TOP_Ginteger := 7
in rxSlideInsl := '0'
Definition: Gtp7Core.vhd:179
in phyRxReadysl := '0'
Definition: Pgp2bLane.vhd:87
in rxDataValidInsl := '1'
Definition: Gtp7Core.vhd:178
NUM_VC_EN_Ginteger range 1 to 4:= 4
Definition: Pgp2bLane.vhd:37
PMA_RSV_Gbit_vector := x"00000333"
in pgpRxInPgp2bRxInType
Pgp2bRxInType
Definition: Pgp2bPkg.vhd:55
SIM_GTRESET_SPEEDUP_Gstring := "FALSE"
slv( 1 downto 0) := "11" AXI_RESP_DECERR_C
Definition: AxiLitePkg.vhd:49
TX_PLL_Gstring := "PLL0"
slv( 1 downto 0) dataK
Definition: Pgp2bPkg.vhd:169
PAYLOAD_CNT_TOP_Ginteger := 7
Definition: Pgp2bLane.vhd:36
out rxDataOutslv( RX_EXT_DATA_WIDTH_G- 1 downto 0)
Definition: Gtp7Core.vhd:182
TX_BUF_EN_Gboolean := true
Definition: Gtp7Core.vhd:67
in axilReadMasterAxiLiteReadMasterType
TX_PLL_Gstring := "PLL0"
Definition: Gtp7Core.vhd:54
in txDataInslv( TX_EXT_DATA_WIDTH_G- 1 downto 0)
Definition: Gtp7Core.vhd:207
out rxUserRdyOutsl
Definition: Gtp7Core.vhd:169
sl polarity
Definition: Pgp2bPkg.vhd:160
RXCDR_CFG_Gbit_vector := x"0000107FE206001041010"
Definition: Gtp7Core.vhd:49
TX_ENABLE_Gboolean := true
in rxMmcmLockedInsl := '1'
Definition: Gtp7Core.vhd:171
in qPllRefClkInslv( 1 downto 0)
Definition: Gtp7Core.vhd:151
out phyRxLanesOutPgp2bRxPhyLaneOutArray( 0 to LANE_CNT_G- 1)
Definition: Pgp2bLane.vhd:85
REF_CLK_FREQ_Greal := 125.0E6
slv( 1 downto 0) decErr
Definition: Pgp2bPkg.vhd:171
in pgpTxClkRstsl := '0'
Definition: Pgp2bLane.vhd:50
AxiLiteReadMasterType
Definition: AxiLitePkg.vhd:59
TX_BUF_EN_Gboolean := false
in pgpRxCtrlAxiStreamCtrlArray( 3 downto 0) :=( others => AXI_STREAM_CTRL_UNUSED_C)
Definition: Pgp2bLane.vhd:82
RX_OUTCLK_SRC_Gstring := "PLLREFCLK"
Definition: Gtp7Core.vhd:74
TX_PHASE_ALIGN_Gstring := "MANUAL"
in gtRxRefClkBufgsl := '0'
Definition: Gtp7Core.vhd:156
RX_ALIGN_MODE_Gstring := "GT"
Definition: Gtp7Core.vhd:81
in txDiffCtrlslv( 3 downto 0) := "1000"
Definition: Gtp7Core.vhd:217
in gtQPllOutRefClkslv( 1 downto 0) := "00"
TPD_Gtime := 1 ns
Definition: RstSync.vhd:27
in gtRxPsl
Definition: Gtp7Core.vhd:162
array(natural range <> ) of AxiStreamCtrlType AxiStreamCtrlArray
TIMEOUT_Gpositive := 4096
in drpAddrslv( 8 downto 0) := "000000000"
Definition: Gtp7Core.vhd:223
in pgpRxClksl := '0'
Definition: Pgp2bLane.vhd:70
SIM_VERSION_Gstring := "1.0"
array(natural range <> ) of Pgp2bRxPhyLaneOutType Pgp2bRxPhyLaneOutArray
Definition: Pgp2bPkg.vhd:163
RXSLIDE_MODE_Gstring := "PCS"
Definition: Gtp7Core.vhd:92
in gtRxNsl
Definition: Gtp7Core.vhd:163
TX_OUTCLK_SRC_Gstring := "PLLREFCLK"
in txUsrClkInsl
Definition: Gtp7Core.vhd:196
out pgpTxOutPgp2bTxOutType
Definition: Pgp2bLane.vhd:54
array(natural range <> ) of AxiStreamMasterType AxiStreamMasterArray
in phyRxLanesInPgp2bRxPhyLaneInArray( 0 to LANE_CNT_G- 1) :=( others => PGP2B_RX_PHY_LANE_IN_INIT_C)
Definition: Pgp2bLane.vhd:86
in gtQPllOutClkslv( 1 downto 0) := "00"
out txMmcmResetOutsl
Definition: Gtp7Core.vhd:199
in qPllClkInslv( 1 downto 0)
Definition: Gtp7Core.vhd:152
out phyTxLanesOutPgp2bTxPhyLaneOutArray( 0 to LANE_CNT_G- 1)
Definition: Pgp2bLane.vhd:61
in rxPolarityInsl := '0'
Definition: Gtp7Core.vhd:186
REF_CLK_FREQ_Greal := 125.0E6
Definition: Gtp7Core.vhd:40
in dataInslv( NUM_BYTES_G* 10- 1 downto 0)
in rxUsrClk2Insl
Definition: Gtp7Core.vhd:168
in pgpTxClksl := '0'
Definition: Pgp2bLane.vhd:49
LANE_CNT_Ginteger range 1 to 2:= 1
Definition: Pgp2bLane.vhd:34
out dataKOutslv( NUM_BYTES_G- 1 downto 0)
RXLPM_INCM_CFG_Gbit := '1'
Definition: Gtp7Core.vhd:50
AxiLiteReadMasterType :=(araddr =>( others => '0'),arprot =>( others => '0'),arvalid => '0',rready => '1') AXI_LITE_READ_MASTER_INIT_C
Definition: AxiLitePkg.vhd:69
out rxDecErrOutslv(( RX_EXT_DATA_WIDTH_G/ 8)- 1 downto 0)
Definition: Gtp7Core.vhd:184
RX_PLL_Gstring := "PLL1"
out rxDispErrOutslv(( RX_EXT_DATA_WIDTH_G/ 8)- 1 downto 0)
Definition: Gtp7Core.vhd:185
out txOutClkOutsl
Definition: Gtp7Core.vhd:195
out gtTxPsl
Definition: Gtp7Core.vhd:160
AxiLiteReadSlaveType
Definition: AxiLitePkg.vhd:85
FIXED_ALIGN_COMMA_3_Gslv := "XXXXXXXXXXXXXXXXXXXX"
Definition: Gtp7Core.vhd:99
NUM_VC_EN_Ginteger range 1 to 4:= 4
in rstsl :=not RST_POLARITY_G
in axilWriteMasterAxiLiteWriteMasterType
in loopbackInslv( 2 downto 0) := "000"
Definition: Gtp7Core.vhd:214
in pgpTxInPgp2bTxInType := PGP2B_TX_IN_INIT_C
Definition: Pgp2bLane.vhd:53
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
RX_ENABLE_Gboolean := true
AXI_ERROR_RESP_Gslv( 1 downto 0) := AXI_RESP_DECERR_C
RX_USRCLK_SRC_Gstring := "RXOUTCLK"
Definition: Gtp7Core.vhd:75
TPD_Gtime := 1 ns
TX_DLY_BYPASS_Gsl := '1'
Definition: Gtp7Core.vhd:69
out pgpRxMastersAxiStreamMasterArray( 3 downto 0)
Definition: Pgp2bLane.vhd:78
SIMULATION_Gboolean := false
Definition: Gtp7Core.vhd:37
TX_OUTCLK_SRC_Gstring := "PLLREFCLK"
Definition: Gtp7Core.vhd:68
in txUsrClk2Insl
Definition: Gtp7Core.vhd:197
in pgpRxMmcmLockedsl := '1'
STABLE_CLOCK_PERIOD_Greal := 4.0E-9
out rxMmcmResetOutsl
Definition: Gtp7Core.vhd:170
in txDiffCtrlslv( 3 downto 0) := "1000"
in drpEnsl := '0'
Definition: Gtp7Core.vhd:221
out gtQPllResetslv( 1 downto 0)
Pgp2bTxOutType
Definition: Pgp2bPkg.vhd:135
VC_INTERLEAVE_Ginteger := 0
in axilReadMasterAxiLiteReadMasterType := AXI_LITE_READ_MASTER_INIT_C
FIXED_ALIGN_COMMA_2_Gslv := "XXXXXXXXXXXXXXXXXXXX"
Definition: Gtp7Core.vhd:98
RXLPM_IPCM_CFG_Gbit := '0'
Definition: Gtp7Core.vhd:51
out pgpRxMastersAxiStreamMasterArray( 3 downto 0)
RX_BUF_EN_Gboolean := true
Definition: Gtp7Core.vhd:73
STABLE_CLOCK_PERIOD_Greal := 4.0E-9
Definition: Gtp7Core.vhd:39
out rxResetDoneOutsl
Definition: Gtp7Core.vhd:175
in drpWesl := '0'
Definition: Gtp7Core.vhd:222
out rxOutClkOutsl
Definition: Gtp7Core.vhd:166
PMA_RSV_Gbit_vector := x"00000333"
Definition: Gtp7Core.vhd:47
out pgpTxSlavesAxiStreamSlaveArray( 3 downto 0)
in txPreCursorslv( 4 downto 0) :=( others => '0')
Definition: Gtp7Core.vhd:215
in phyTxReadysl := '0'
Definition: Pgp2bLane.vhd:62
TX_8B10B_EN_Gboolean := true
Definition: Gtp7Core.vhd:60
RX_INT_DATA_WIDTH_Ginteger := 20
Definition: Gtp7Core.vhd:63
array(natural range <> ) of Pgp2bRxPhyLaneInType Pgp2bRxPhyLaneInArray
Definition: Pgp2bPkg.vhd:174
Pgp2bRxOutType
Definition: Pgp2bPkg.vhd:69
RX_CLK25_DIV_Ginteger := 5
RX_CLK25_DIV_Ginteger := 5
Definition: Gtp7Core.vhd:45
out axilReadSlaveAxiLiteReadSlaveType
TXOUT_DIV_Ginteger := 2
Definition: Gtp7Core.vhd:44
out drpDislv( DATA_WIDTH_G- 1 downto 0)
out txResetDoneOutsl
Definition: Gtp7Core.vhd:204
std_logic_vector slv
Definition: StdRtlPkg.vhd:29
out pgpRxMasterMuxedAxiStreamMasterType
Definition: Pgp2bLane.vhd:79
RX_8B10B_EN_Gboolean := true
Definition: Gtp7Core.vhd:64
out pgpTxOutPgp2bTxOutType