1 ------------------------------------------------------------------------------- 2 -- File : GtpDualFixedLatCore.vhd 3 -- Company : SLAC National Accelerator Laboratory 4 -- Created : 2012-11-28 5 -- Last update: 2013-08-02 6 ------------------------------------------------------------------------------- 7 -- Description: Pgp2 Gtp Low Latency Core 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;
25 --! @ingroup xilinx_Virtex5_gtp 36 -- Recovered clock parameters 46 gtpRxN : in slv(1 downto 0);
-- GTP Serial Receive Negative 47 gtpRxP : in slv(1 downto 0);
-- GTP Serial Receive Positive 48 gtpTxN : out slv(1 downto 0);
-- GTP Serial Transmit Negative 49 gtpTxP : out slv(1 downto 0);
-- GTP Serial Transmit Positive 90 end GtpDualFixedLatCore;
94 signal gtpPllLockDetInt : ;
95 signal tmpRefClkOut : ;
97 -------------------------------------------------------------------------------------------------- 99 -------------------------------------------------------------------------------------------------- 101 signal gtpRxRecClk : slv(1 downto 0);
-- Raw rxrecclk from GTP, not square, needs DCM or PLL 102 signal gtpRxRecClkBufG : slv(1 downto 0);
103 signal rxRecClkPllOut0 : slv(1 downto 0);
-- 1 byte clock 104 signal rxRecClkPllOut1 : slv(1 downto 0);
-- 2 byte clock 105 signal rxRecClkPllOut2 : slv(1 downto 0);
-- 2 byte clock (180 deg phase shift) 106 signal rxRecClkPllFbIn : slv(1 downto 0);
107 signal rxRecClkPllFbOut : slv(1 downto 0);
108 signal rxRecClkPllLocked : slv(1 downto 0);
109 signal rxUsrClk2Sel : slv(1 downto 0);
-- Selects which 2 byte clock is used 110 signal gtpRxUsrClkInt : slv(1 downto 0);
111 signal gtpRxUsrClk2Int : slv(1 downto 0);
112 signal gtpRxUsrClkRstInt : slv(1 downto 0);
115 signal gtpRxDataRaw : slv20Array(1 downto 0);
116 signal gtpRxDecErrInt : slv2Array(1 downto 0);
117 signal gtpRxDispErrInt : slv2Array(1 downto 0);
119 -- Rx Phase Alignment 120 signal gtpRxSlide : slv(1 downto 0);
122 -- Tx Phase Alignment 123 signal gtpTxEnPmaPhaseAlign : ;
124 signal gtpTxPmaSetPhase : ;
127 signal gtpRxCdrResetFinal : slv(1 downto 0);
128 signal rxCommaAlignReset : slv(1 downto 0);
132 DUAL_INST_LOOP : for i in 1 downto 0 generate 135 -------------------------------------------------------------------------------------------------- 137 -------------------------------------------------------------------------------------------------- 138 RX_REC_CLK_BUFG : BUFG
140 O => gtpRxRecClkBufG
(i
),
-- Feeds pll clkin 141 I => gtpRxRecClk
(i
));
-- From GTP RXRECCLK 143 RX_REC_CLK_PLL : PLL_BASE
145 BANDWIDTH =>
"OPTIMIZED",
148 CLKOUT1_DIVIDE => REC_PLL_MULT *
2 ,
149 CLKOUT2_DIVIDE => REC_PLL_MULT *
2 ,
150 CLKOUT0_PHASE =>
0.000,
151 CLKOUT1_PHASE =>
0.000,
152 CLKOUT2_PHASE =>
180.000,
153 CLKOUT0_DUTY_CYCLE =>
0.500,
154 CLKOUT1_DUTY_CYCLE =>
0.500,
155 CLKOUT2_DUTY_CYCLE =>
0.500,
156 COMPENSATION =>
"SYSTEM_SYNCHRONOUS",
159 CLKFBOUT_PHASE =>
0.0,
160 REF_JITTER =>
0.005000) 162 CLKFBIN => rxRecClkPllFbIn
(i
),
163 CLKIN => gtpRxRecClkBufG
(i
),
165 CLKFBOUT => rxRecClkPllFbOut
(i
),
166 CLKOUT0 => rxRecClkPllOut0
(i
),
167 CLKOUT1 => rxRecClkPllOut1
(i
),
168 CLKOUT2 => rxRecClkPllOut2
(i
),
172 LOCKED => rxRecClkPllLocked
(i
));
175 RX_REC_CLK_PLL_FB_BUFG : BUFG
177 O => rxRecClkPllFbIn
(i
),
178 I => rxRecClkPllFbOut
(i
));
180 -- Buffer pll outputs 181 RX_USR_CLK_BUFG : BUFG
183 I => rxRecClkPllOut0
(i
),
184 O => gtpRxUsrClkInt
(i
));
186 RX_USR_CLK2_BUFMUX : BUFGMUX_CTRL
188 I1 => rxRecClkPllOut1
(i
),
189 I0 => rxRecClkPllOut2
(i
),
190 S => rxUsrClk2Sel
(i
),
191 O => gtpRxUsrClk2Int
(i
));
193 RstSync_1 :
entity work.
RstSync 200 clk => gtpRxUsrClk2Int
(i
),
202 syncRst => gtpRxUsrClkRstInt
(i
));
204 -- Output recovered clocks for external use 209 -- Comma aligner and RxRst modules both drive CDR Reset 210 gtpRxCdrResetFinal(i) <= gtpRxCdrReset(i) or rxCommaAlignReset(i);
212 -- Manual comma aligner 234 clk => gtpRxUsrClk2Int
(i
),
235 rst => gtpRxUsrClkRstInt
(i
),
236 dataIn => gtpRxDataRaw
(i
),
240 dispErr => gtpRxDispErrInt
(i
));
242 -- Assign internal signals to outputs 246 end generate DUAL_INST_LOOP;
248 -------------------------------------------------------------------------------------------------- 250 -------------------------------------------------------------------------------------------------- 269 -------------------------------------------------------------------------------------------------- 271 -------------------------------------------------------------------------------------------------- 274 ----------------------------- GTP_DUAL Instance -------------------------- 278 --_______________________ Simulation-Only Attributes ___________________ 280 SIM_GTPRESET_SPEEDUP =>
0,
283 --___________________________ Shared Attributes ________________________ 285 -------------------------- Tile and PLL Attributes --------------------- 289 OOB_CLK_DIVIDER =>
6,
290 OVERSAMPLE_MODE => false,
292 PLL_DIVSEL_REF =>
PLL_DIVSEL_REF,
-- creates pll clock = 2.5 GHz w/ 125 Mhz clkin 293 PLL_TXDIVSEL_COMM_OUT =>
1,
294 TX_SYNC_FILTERB =>
1,
296 --____________________ Transmit Interface Attributes ___________________ 298 ------------------- TX Buffering and Phase Alignment ------------------- 300 TX_BUFFER_USE_0 => false,
301 TX_XCLK_SEL_0 =>
"TXUSR",
302 TXRX_INVERT_0 => "
00100",
304 TX_BUFFER_USE_1 => false,
305 TX_XCLK_SEL_1 =>
"TXUSR",
306 TXRX_INVERT_1 => "
00100",
308 --------------------- TX Serial Line Rate settings --------------------- 310 PLL_TXDIVSEL_OUT_0 =>
1,
-- Must be 1 when TX_BUFFER_USE = false 312 PLL_TXDIVSEL_OUT_1 =>
1,
314 --------------------- TX Driver and OOB signalling -------------------- 316 TX_DIFF_BOOST_0 => true,
318 TX_DIFF_BOOST_1 => true,
320 ------------------ TX Pipe Control for PCI Express/SATA --------------- 322 COM_BURST_VAL_0 => "
1111",
324 COM_BURST_VAL_1 => "
1111",
325 --_______________________ Receive Interface Attributes ________________ 327 ------------ RX Driver,OOB signalling,Coupling and Eq,CDR ------------- 329 AC_CAP_DIS_0 => true,
330 OOBDETECT_THRESHOLD_0 => "
001",
331 PMA_CDR_SCAN_0 => x"6c07640",
332 PMA_RX_CFG_0 => x"09f0089",
333 RCV_TERM_GND_0 => false,
334 RCV_TERM_MID_0 => false,
335 RCV_TERM_VTTRX_0 => false,
336 TERMINATION_IMP_0 =>
50,
338 AC_CAP_DIS_1 => true,
339 OOBDETECT_THRESHOLD_1 => "
001",
340 PMA_CDR_SCAN_1 => x"6c07640",
341 PMA_RX_CFG_1 => x"09f0089",
342 RCV_TERM_GND_1 => false,
343 RCV_TERM_MID_1 => false,
344 RCV_TERM_VTTRX_1 => false,
345 TERMINATION_IMP_1 =>
50,
346 TERMINATION_CTRL => "
10100",
347 TERMINATION_OVRD => false,
349 --------------------- RX Serial Line Rate Attributes ------------------ 351 PLL_RXDIVSEL_OUT_0 =>
1,
354 PLL_RXDIVSEL_OUT_1 =>
1,
357 ----------------------- PRBS Detection Attributes --------------------- 359 PRBS_ERR_THRESHOLD_0 => x"00000001",
361 PRBS_ERR_THRESHOLD_1 => x"00000001",
363 ---------------- Comma Detection and Alignment Attributes ------------- 365 ALIGN_COMMA_WORD_0 =>
2,
366 COMMA_10B_ENABLE_0 => "
1111111111",
367 COMMA_DOUBLE_0 => false,
368 DEC_MCOMMA_DETECT_0 => false,
369 DEC_PCOMMA_DETECT_0 => false,
370 DEC_VALID_COMMA_ONLY_0 => false,
371 MCOMMA_10B_VALUE_0 => "
1010000011",
372 MCOMMA_DETECT_0 => false,
373 PCOMMA_10B_VALUE_0 => "
0101111100",
374 PCOMMA_DETECT_0 => false,
375 RX_SLIDE_MODE_0 =>
"PMA",
377 ALIGN_COMMA_WORD_1 =>
2,
378 COMMA_10B_ENABLE_1 => "
1111111111",
379 COMMA_DOUBLE_1 => false,
380 DEC_MCOMMA_DETECT_1 => false,
381 DEC_PCOMMA_DETECT_1 => false,
382 DEC_VALID_COMMA_ONLY_1 => false,
383 MCOMMA_10B_VALUE_1 => "
1010000011",
384 MCOMMA_DETECT_1 => false,
385 PCOMMA_10B_VALUE_1 => "
0101111100",
386 PCOMMA_DETECT_1 => false,
387 RX_SLIDE_MODE_1 =>
"PMA",
389 ------------------ RX Loss-of-sync State Machine Attributes ----------- 391 RX_LOSS_OF_SYNC_FSM_0 => false,
392 RX_LOS_INVALID_INCR_0 =>
8,
393 RX_LOS_THRESHOLD_0 =>
128,
395 RX_LOSS_OF_SYNC_FSM_1 => false,
396 RX_LOS_INVALID_INCR_1 =>
8,
397 RX_LOS_THRESHOLD_1 =>
128,
399 -------------- RX Elastic Buffer and Phase alignment Attributes ------- 401 RX_BUFFER_USE_0 => false,
402 RX_XCLK_SEL_0 =>
"RXUSR",
404 RX_BUFFER_USE_1 => false,
405 RX_XCLK_SEL_1 =>
"RXUSR",
407 ------------------------ Clock Correction Attributes ------------------ 409 CLK_CORRECT_USE_0 => false,
410 CLK_COR_ADJ_LEN_0 =>
4,
411 CLK_COR_DET_LEN_0 =>
4,
412 CLK_COR_INSERT_IDLE_FLAG_0 => false,
413 CLK_COR_KEEP_IDLE_0 => false,
414 CLK_COR_MAX_LAT_0 =>
48,
415 CLK_COR_MIN_LAT_0 =>
36,
416 CLK_COR_PRECEDENCE_0 => true,
417 CLK_COR_REPEAT_WAIT_0 =>
0,
418 CLK_COR_SEQ_1_1_0 => "
0110111100",
419 CLK_COR_SEQ_1_2_0 => "
0100011100",
420 CLK_COR_SEQ_1_3_0 => "
0100011100",
421 CLK_COR_SEQ_1_4_0 => "
0100011100",
422 CLK_COR_SEQ_1_ENABLE_0 => "
1111",
423 CLK_COR_SEQ_2_1_0 => "
0000000000",
424 CLK_COR_SEQ_2_2_0 => "
0000000000",
425 CLK_COR_SEQ_2_3_0 => "
0000000000",
426 CLK_COR_SEQ_2_4_0 => "
0000000000",
427 CLK_COR_SEQ_2_ENABLE_0 => "
0000",
428 CLK_COR_SEQ_2_USE_0 => false,
429 RX_DECODE_SEQ_MATCH_0 => true,
431 CLK_CORRECT_USE_1 => false,
432 CLK_COR_ADJ_LEN_1 =>
4,
433 CLK_COR_DET_LEN_1 =>
4,
434 CLK_COR_INSERT_IDLE_FLAG_1 => false,
435 CLK_COR_KEEP_IDLE_1 => false,
436 CLK_COR_MAX_LAT_1 =>
48,
437 CLK_COR_MIN_LAT_1 =>
36,
438 CLK_COR_PRECEDENCE_1 => true,
439 CLK_COR_REPEAT_WAIT_1 =>
0,
440 CLK_COR_SEQ_1_1_1 => "
1101111100",
441 CLK_COR_SEQ_1_2_1 => "
1000111100",
442 CLK_COR_SEQ_1_3_1 => "
1000111100",
443 CLK_COR_SEQ_1_4_1 => "
1000111100",
444 CLK_COR_SEQ_1_ENABLE_1 => "
1111",
445 CLK_COR_SEQ_2_1_1 => "
0000000000",
446 CLK_COR_SEQ_2_2_1 => "
0000000000",
447 CLK_COR_SEQ_2_3_1 => "
0000000000",
448 CLK_COR_SEQ_2_4_1 => "
0000000000",
449 CLK_COR_SEQ_2_ENABLE_1 => "
0000",
450 CLK_COR_SEQ_2_USE_1 => false,
451 RX_DECODE_SEQ_MATCH_1 => true,
453 ------------------------ Channel Bonding Attributes ------------------- 455 CHAN_BOND_1_MAX_SKEW_0 =>
1,
456 CHAN_BOND_2_MAX_SKEW_0 =>
1,
457 CHAN_BOND_LEVEL_0 =>
0,
458 CHAN_BOND_MODE_0 =>
"OFF",
459 CHAN_BOND_SEQ_1_1_0 => "
0000000000",
460 CHAN_BOND_SEQ_1_2_0 => "
0000000000",
461 CHAN_BOND_SEQ_1_3_0 => "
0000000000",
462 CHAN_BOND_SEQ_1_4_0 => "
0000000000",
463 CHAN_BOND_SEQ_1_ENABLE_0 => "
0000",
464 CHAN_BOND_SEQ_2_1_0 => "
0000000000",
465 CHAN_BOND_SEQ_2_2_0 => "
0000000000",
466 CHAN_BOND_SEQ_2_3_0 => "
0000000000",
467 CHAN_BOND_SEQ_2_4_0 => "
0000000000",
468 CHAN_BOND_SEQ_2_ENABLE_0 => "
0000",
469 CHAN_BOND_SEQ_2_USE_0 => false,
470 CHAN_BOND_SEQ_LEN_0 =>
1,
471 PCI_EXPRESS_MODE_0 => false,
473 CHAN_BOND_1_MAX_SKEW_1 =>
1,
474 CHAN_BOND_2_MAX_SKEW_1 =>
1,
475 CHAN_BOND_LEVEL_1 =>
0,
476 CHAN_BOND_MODE_1 =>
"OFF",
477 CHAN_BOND_SEQ_1_1_1 => "
0000000000",
478 CHAN_BOND_SEQ_1_2_1 => "
0000000000",
479 CHAN_BOND_SEQ_1_3_1 => "
0000000000",
480 CHAN_BOND_SEQ_1_4_1 => "
0000000000",
481 CHAN_BOND_SEQ_1_ENABLE_1 => "
0000",
482 CHAN_BOND_SEQ_2_1_1 => "
0000000000",
483 CHAN_BOND_SEQ_2_2_1 => "
0000000000",
484 CHAN_BOND_SEQ_2_3_1 => "
0000000000",
485 CHAN_BOND_SEQ_2_4_1 => "
0000000000",
486 CHAN_BOND_SEQ_2_ENABLE_1 => "
0000",
487 CHAN_BOND_SEQ_2_USE_1 => false,
488 CHAN_BOND_SEQ_LEN_1 =>
1,
489 PCI_EXPRESS_MODE_1 => false,
491 ------------------ RX Attributes for PCI Express/SATA --------------- 493 RX_STATUS_FMT_0 =>
"PCIE",
494 SATA_BURST_VAL_0 => "
100",
495 SATA_IDLE_VAL_0 => "
100",
496 SATA_MAX_BURST_0 =>
7,
497 SATA_MAX_INIT_0 =>
22,
498 SATA_MAX_WAKE_0 =>
7,
499 SATA_MIN_BURST_0 =>
4,
500 SATA_MIN_INIT_0 =>
12,
501 SATA_MIN_WAKE_0 =>
4,
502 TRANS_TIME_FROM_P2_0 => x"0060",
503 TRANS_TIME_NON_P2_0 => x"0025",
504 TRANS_TIME_TO_P2_0 => x"0100",
506 RX_STATUS_FMT_1 =>
"PCIE",
507 SATA_BURST_VAL_1 => "
100",
508 SATA_IDLE_VAL_1 => "
100",
509 SATA_MAX_BURST_1 =>
7,
510 SATA_MAX_INIT_1 =>
22,
511 SATA_MAX_WAKE_1 =>
7,
512 SATA_MIN_BURST_1 =>
4,
513 SATA_MIN_INIT_1 =>
12,
514 SATA_MIN_WAKE_1 =>
4,
515 TRANS_TIME_FROM_P2_1 => x"0060",
516 TRANS_TIME_NON_P2_1 => x"0025",
517 TRANS_TIME_TO_P2_1 => x"0100"
522 ------------------------ Loopback and Powerdown Ports ---------------------- 529 RXPOWERDOWN0 =>
(others => '0'
),
530 RXPOWERDOWN1 =>
(others => '0'
),
531 TXPOWERDOWN0 =>
(others => '0'
),
532 TXPOWERDOWN1 =>
(others => '0'
),
533 ----------------------- Receive Ports - 8b10b Decoder ---------------------- 534 RXCHARISCOMMA0 =>
open,
535 RXCHARISCOMMA1 =>
open,
536 RXCHARISK0
(0) => gtpRxDataRaw
(0)(8),
537 RXCHARISK0
(1) => gtpRxDataRaw
(0)(18),
538 RXCHARISK1
(0) => gtpRxDataRaw
(1)(8),
539 RXCHARISK1
(1) => gtpRxDataRaw
(1)(18),
540 RXDEC8B10BUSE0 => '0',
541 RXDEC8B10BUSE1 => '0',
542 RXDISPERR0
(0) => gtpRxDataRaw
(0)(9),
543 RXDISPERR0
(1) => gtpRxDataRaw
(0)(19),
544 RXDISPERR1
(0) => gtpRxDataRaw
(1)(9),
545 RXDISPERR1
(1) => gtpRxDataRaw
(1)(19),
546 RXNOTINTABLE0 =>
open,
547 RXNOTINTABLE1 =>
open,
550 ------------------- Receive Ports - Channel Bonding Ports ------------------ 551 RXCHANBONDSEQ0 =>
open,
552 RXCHANBONDSEQ1 =>
open,
553 RXCHBONDI0 =>
(others => '0'
),
554 RXCHBONDI1 =>
(others => '0'
),
557 RXENCHANSYNC0 => '0',
558 RXENCHANSYNC1 => '0',
559 ------------------- Receive Ports - Clock Correction Ports ----------------- 560 RXCLKCORCNT0 =>
open,
561 RXCLKCORCNT1 =>
open,
562 --------------- Receive Ports - Comma Detection and Alignment -------------- 563 RXBYTEISALIGNED0 =>
open,
564 RXBYTEISALIGNED1 =>
open,
565 RXBYTEREALIGN0 =>
open,
566 RXBYTEREALIGN1 =>
open,
569 RXCOMMADETUSE0 => '0',
570 RXCOMMADETUSE1 => '0',
571 RXENMCOMMAALIGN0 => '0',
572 RXENMCOMMAALIGN1 => '0',
573 RXENPCOMMAALIGN0 => '0',
574 RXENPCOMMAALIGN1 => '0',
575 RXSLIDE0 => gtpRxSlide
(0),
576 RXSLIDE1 => gtpRxSlide
(1),
577 ----------------------- Receive Ports - PRBS Detection --------------------- 578 PRBSCNTRESET0 => '0',
579 PRBSCNTRESET1 => '0',
580 RXENPRBSTST0 =>
(others => '0'
),
581 RXENPRBSTST1 =>
(others => '0'
),
584 ------------------- Receive Ports - RX Data Path interface ----------------- 585 RXDATA0
(7 downto 0) => gtpRxDataRaw
(0)(7 downto 0),
586 RXDATA0
(15 downto 8) => gtpRxDataRaw
(0)(17 downto 10),
587 RXDATA1
(7 downto 0) => gtpRxDataRaw
(1)(7 downto 0),
588 RXDATA1
(15 downto 8) => gtpRxDataRaw
(1)(17 downto 10),
591 RXRECCLK0 => gtpRxRecClk
(0),
592 RXRECCLK1 => gtpRxRecClk
(1),
595 RXUSRCLK0 => gtpRxUsrClkInt
(0),
596 RXUSRCLK1 => gtpRxUsrClkInt
(1),
597 RXUSRCLK20 => gtpRxUsrClk2Int
(0),
598 RXUSRCLK21 => gtpRxUsrClk2Int
(1),
599 ------- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------ 600 RXCDRRESET0 => gtpRxCdrResetFinal
(0),
601 RXCDRRESET1 => gtpRxCdrResetFinal
(1),
608 RXEQMIX0 =>
(others => '0'
),
609 RXEQMIX1 =>
(others => '0'
),
610 RXEQPOLE0 =>
(others => '0'
),
611 RXEQPOLE1 =>
(others => '0'
),
616 -------- Receive Ports - RX Elastic Buffer and Phase Alignment Ports ------- 619 RXBUFSTATUS0 =>
open,
620 RXBUFSTATUS1 =>
open,
621 RXCHANISALIGNED0 =>
open,
622 RXCHANISALIGNED1 =>
open,
623 RXCHANREALIGN0 =>
open,
624 RXCHANREALIGN1 =>
open,
625 RXPMASETPHASE0 => '0',
626 RXPMASETPHASE1 => '0',
629 --------------- Receive Ports - RX Loss-of-sync State Machine -------------- 630 RXLOSSOFSYNC0 =>
open,
631 RXLOSSOFSYNC1 =>
open,
632 ---------------------- Receive Ports - RX Oversampling --------------------- 633 RXENSAMPLEALIGN0 => '0',
634 RXENSAMPLEALIGN1 => '0',
635 RXOVERSAMPLEERR0 =>
open,
636 RXOVERSAMPLEERR1 =>
open,
637 -------------- Receive Ports - RX Pipe Control for PCI Express ------------- 642 ----------------- Receive Ports - RX Polarity Control Ports ---------------- 645 ------------- Shared Ports - Dynamic Reconfiguration Port (DRP) ------------ 646 DADDR =>
(others => '0'
),
649 DI =>
(others => '0'
),
653 --------------------- Shared Ports - Tile and PLL Ports -------------------- 656 GTPTEST =>
(others => '0'
),
658 PLLLKDET => gtpPllLockDetInt,
661 REFCLKOUT => tmpRefClkOut,
665 RXENELECIDLERESETB => '1',
666 TXENPMAPHASEALIGN => gtpTxEnPmaPhaseAlign,
667 TXPMASETPHASE => gtpTxPmaSetPhase,
668 ---------------- Transmit Ports - 8b10b Encoder Control Ports -------------- 669 TXBYPASS8B10B0 =>
(others => '0'
),
670 TXBYPASS8B10B1 =>
(others => '0'
),
671 TXCHARDISPMODE0 =>
(others => '0'
),
672 TXCHARDISPMODE1 =>
(others => '0'
),
673 TXCHARDISPVAL0 =>
(others => '0'
),
674 TXCHARDISPVAL1 =>
(others => '0'
),
677 TXENC8B10BUSE0 => '1',
678 TXENC8B10BUSE1 => '1',
679 TXKERR0 =>
open,
--txKerr, 683 ------------- Transmit Ports - TX Buffering and Phase Alignment ------------ 684 TXBUFSTATUS0 =>
open,
685 TXBUFSTATUS1 =>
open,
686 ------------------ Transmit Ports - TX Data Path interface ----------------- 699 --------------- Transmit Ports - TX Driver and OOB signalling -------------- 700 TXBUFDIFFCTRL0 => "
100",
-- 800mV 701 TXBUFDIFFCTRL1 => "
100",
702 TXDIFFCTRL0 => "
100",
703 TXDIFFCTRL1 => "
100",
710 TXPREEMPHASIS0 => "
011",
-- 4.5% 711 TXPREEMPHASIS1 => "
011",
712 --------------------- Transmit Ports - TX PRBS Generator ------------------- 713 TXENPRBSTST0 =>
(others => '0'
),
714 TXENPRBSTST1 =>
(others => '0'
),
715 -------------------- Transmit Ports - TX Polarity Control ------------------ 718 ----------------- Transmit Ports - TX Ports for PCI Express ---------------- 723 --------------------- Transmit Ports - TX Ports for SATA ------------------- in gtpRxResetslv( 1 downto 0)
in gtpLoopbackslv( 1 downto 0)
in gtpRxPolarityslv( 1 downto 0)
SIM_PLL_PERDIV2bit_vector := X"0C8"
out gtpRxAlignedslv( 1 downto 0)
out gtpRxUsrClk2slv( 1 downto 0)
in gtpTxDataslv16Array( 1 downto 0)
out gtpTxAlignedstd_logic
CLK25_DIVIDERinteger := 5
REC_CLK_PERIODreal := 4.000
out dataOutslv( NUM_BYTES_G* 8- 1 downto 0)
in gtpRxPslv( 1 downto 0)
out codeErrslv( NUM_BYTES_G- 1 downto 0)
out gtpResetDoneslv( 1 downto 0)
in gtpRxDatastd_logic_vector( 19 downto 0)
out dispErrslv( NUM_BYTES_G- 1 downto 0)
out gtpPllLockDetstd_logic
out gtpTxEnPmaPhaseAlignstd_logic
out gtpTxNslv( 1 downto 0)
out gtpRxUsrClk2Selstd_logic
out gtpTxPmaSetPhasestd_logic
PLL_DIVSEL_REFinteger := 1
in dispErrstd_logic_vector( 1 downto 0)
RELEASE_DELAY_Ginteger range 3 to positive'high:= 3
PLL_DIVSEL_FBinteger := 2
out gtpRxDataKslv2Array( 1 downto 0)
in gtpPllLockDetectstd_logic
out gtpRefClkOutstd_logic
out gtpRxCdrResetstd_logic
out gtpRxElecIdleslv( 1 downto 0)
in gtpRxNslv( 1 downto 0)
out gtpTxAlignedstd_logic
out gtpRxDecErrslv2Array( 1 downto 0)
in gtpTxDataKslv2Array( 1 downto 0)
out gtpRxUsrClkslv( 1 downto 0)
in dataInslv( NUM_BYTES_G* 10- 1 downto 0)
out dataKOutslv( NUM_BYTES_G- 1 downto 0)
out gtpRxDataslv16Array( 1 downto 0)
in rstsl :=not RST_POLARITY_G
in gtpRxCdrResetslv( 1 downto 0)
out gtpRxDispErrslv2Array( 1 downto 0)
in gtpRxUsrClk2Rststd_logic
in gtpRxElecIdleRstslv( 1 downto 0)
out gtpTxPslv( 1 downto 0)
out gtpRxUsrClkRstslv( 1 downto 0)
in codeErrstd_logic_vector( 1 downto 0)
RST_ASYNC_Gboolean := false
in gtpTxResetslv( 1 downto 0)