1 -------------------------------------------------------------------------------     3 -- Company    : SLAC National Accelerator Laboratory     4 -- Created    : 2015-04-01     5 -- Last update: 2015-04-01     6 -------------------------------------------------------------------------------     7 -- Description: Wrapper for Xilinx 7-series GTH primitive     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;
    24 use unisim.vcomponents.
all;
    27  --! @ingroup xilinx_7Series_gth7    45       PMA_RSV_G                :       := X"00000080";
  -- For GTH Transceiver: The default value is 32'h0000080    48       -- Configure PLL sources    51       -- Configure Data widths    58       -- Configure Buffer usage    68       RX_DDIEN_G               : sl              := '0';
  -- Supposed to be '1' when bypassing rx buffer    70       -- Configure RX comma alignment    83       -- Fixed Latency comma alignment (If RX_ALIGN_MODE_G = "FIXED_LAT")    89       -- Configure RX 8B10B decoding (If RX_8B10B_EN_G = true)    94       -- Configure Clock Correction   114       -- Configure Channel Bonding   134       -- RX Equalizer Attributes--------------------------   141       stableClkIn      : in  sl;
        -- Free running clock needed to drive reset logic and DRP interface   149       gtRxRefClkBufg   : in  sl              := '0';
  -- In fixed latency mode, need BUF'd version of gt rx reference clock to check if recovered clock is stable   155       -- Rx Clock related signals   162       -- Rx User Reset Signals   165       -- Manual Comma Align signals   168       -- Rx Data and decode signals   175       -- Rx Channel Bonding   179       -- Tx Clock Related Signals   186       -- Tx User Reset signals   201       -- DRP Interface (stableClkIn Domain)   213    function getOutClkSelVal (OUT_CLK_SRC : ) 
return  is   215       if (OUT_CLK_SRC = "PLLREFCLK") then   217       elsif (OUT_CLK_SRC = "OUTCLKPMA") then   219       elsif (OUT_CLK_SRC = "PLLDV2CLK") then   224    end function getOutClkSelVal;
   226    function getDataWidth (USE_8B10B : ; EXT_DATA_WIDTH : ) 
return  is   228       if (USE_8B10B = false) then   229          return EXT_DATA_WIDTH;
   231          return (EXT_DATA_WIDTH / 8) * 10;
   235    --------------------------------------------------------------------------------------------------   237    --------------------------------------------------------------------------------------------------   238    constant RX_SYSCLK_SEL_C : slv := ite(RX_PLL_G = "CPLL", "00", "11");
   239    constant TX_SYSCLK_SEL_C : slv := ite(TX_PLL_G = "CPLL", "00", "11");
   241    constant RX_XCLK_SEL_C :  := ite(RX_BUF_EN_G, "RXREC", "RXUSR");
   242    constant TX_XCLK_SEL_C :  := ite(TX_BUF_EN_G, "TXOUT", "TXUSR");
   255    --------------------------------------------------------------------------------------------------   257    --------------------------------------------------------------------------------------------------   260    signal cPllLock       : sl;
   261    signal cPllReset      : sl;
   262    signal cPllRefClkLost : sl;
   264    -- Gtx CPLL Input Clocks   265    signal gtGRefClk      : sl;
   266    signal gtNorthRefClk0 : sl;
   267    signal gtNorthRefClk1 : sl;
   268    signal gtRefClk0      : sl;
   269    signal gtRefClk1      : sl;
   270    signal gtSouthRefClk0 : sl;
   271    signal gtSouthRefClk1 : sl;
   273    ----------------------------   275    signal rxOutClk     : sl;
   276    signal rxOutClkBufg : sl;
   278    signal rxPllLock       : sl;
   279    signal rxPllReset      : sl;
   280    signal rxPllRefClkLost : sl;
   282    signal gtRxReset    : sl;
            -- GT GTRXRESET   283    signal rxResetDone  : sl;
            -- GT RXRESETDONE   284    signal rxUserRdyInt : sl;
            -- GT RXUSERRDY   286    signal rxUserResetInt : sl;
   287    signal rxFsmResetDone : sl;
   288    signal rxRstTxUserRdy : sl;
   289    signal rxPmaResetDone : sl;
   291    signal rxRecClkStable         : sl;
   292    signal rxRecClkMonitorRestart : sl;
   293    signal rxCdrLockCnt           :  range 0 to WAIT_TIME_CDRLOCK_C := 0;
   295    signal rxRunPhAlignment     : sl;
   296    signal rxPhaseAlignmentDone : sl;
   297    signal rxAlignReset         : sl;
   298    signal rxDlySReset          : sl;
    -- GT RXDLYSRESET   299    signal rxDlySResetDone      : sl;
    -- GT RXDLYSRESETDONE   300    signal rxPhAlignDone        : sl;
    -- GT RXPHALIGNDONE   301    signal rxSlide              : sl;
    -- GT RXSLIDE   302    signal rxCdrLock            : sl;
    -- GT RXCDRLOCK   304    signal rxDfeAgcHold : sl;
   305    signal rxDfeLfHold  : sl;
   306    signal rxLpmLfHold  : sl;
   307    signal rxLpmHfHold  : sl;
   311    signal rxDataFull    : slv(63 downto 0);
  -- GT RXDATA   312    signal rxCharIsKFull : slv(7 downto 0);
   -- GT RXCHARISK   313    signal rxDispErrFull : slv(7 downto 0);
   -- GT RXDISPERR   314    signal rxDecErrFull  : slv(7 downto 0);
   317    ----------------------------   319    signal txPllLock       : sl;
   320    signal txPllReset      : sl;
   321    signal txPllRefClkLost : sl;
   323    signal gtTxReset    : sl;
            -- GT GTTXRESET   324    signal txResetDone  : sl;
            -- GT TXRESETDONE   325    signal txUserRdyInt : sl;
            -- GT TXUSERRDY   327    signal txFsmResetDone : sl;
   329    signal txResetPhAlignment   : sl;
   330    signal txRunPhAlignment     : sl;
   331    signal txPhaseAlignmentDone : sl;
   332    signal txPhAlignEn          : sl;
    -- GT TXPHALIGNEN   333    signal txDlySReset          : sl;
    -- GT TXDLYSRESET   334    signal txDlySResetDone      : sl;
    -- GT TXDLYSRESETDONE   335    signal txPhInit             : sl;
    -- GT TXPHINIT   336    signal txPhInitDone         : sl;
    -- GT TXPHINITDONE   337    signal txPhAlign            : sl;
    -- GT TXPHALIGN   338    signal txPhAlignDone        : sl;
    -- GT TXPHALIGNDONE   339    signal txDlyEn              : sl;
    -- GT TXDLYEN   342    signal txDataFull : slv(63 downto 0) := (others => '0');
   343    signal txCharIsKFull,   345       txCharDispVal : slv(7 downto 0) := (others => '0');
   348    signal drpMuxAddr : slv(8 downto 0);
   349    signal drpMuxDo   : slv(15 downto 0);
   350    signal drpMuxDi   : slv(15 downto 0);
   351    signal drpMuxRdy  : sl;
   352    signal drpMuxEn   : sl;
   353    signal drpMuxWe   : sl;
   354    signal drpRstAddr : slv(8 downto 0);
   355    signal drpRstDo   : slv(15 downto 0);
   356    signal drpRstDi   : slv(15 downto 0);
   357    signal drpRstRdy  : sl;
   358    signal drpRstEn   : sl;
   359    signal drpRstWe   : sl;   
   360    signal drpRstDone : sl;   
   369    --------------------------------------------------------------------------------------------------   370    -- PLL Resets. Driven from TX Rst if both use same PLL   371    --------------------------------------------------------------------------------------------------   372    cPllReset    <= txPllReset when (TX_PLL_G = "CPLL") else rxPllReset when (RX_PLL_G = "CPLL") else '0';
   375    --------------------------------------------------------------------------------------------------   376    -- CPLL clock select. Only ever use 1 clock to drive cpll. Never switch clocks.   377    -- This may be unnecessary. Vivado does this for you now.   378    --------------------------------------------------------------------------------------------------   387    --------------------------------------------------------------------------------------------------   389    --------------------------------------------------------------------------------------------------   390    -- Fit GTX port sizes to selected rx external interface size   392    RX_DATA_8B10B_GLUE : 
process (rxCharIsKFull, rxDataFull, rxDecErrFull, rxDispErrFull) 
is   401             if ((i-9) mod 10 = 0) then   402                rxDataInt(i) <= rxDispErrFull((i-9)/10);
   403             elsif ((i-8) mod 10 = 0) then   404                rxDataInt(i) <= rxCharIsKFull((i-8)/10);
   406                rxDataInt(i) <= rxDataFull(i-2*(i/10));
   413    end process RX_DATA_8B10B_GLUE;
   415    -- Mux proper PLL Lock signal onto rxPllLock   418    -- Mux proper PLL RefClkLost signal on rxPllRefClkLost   421    rxAlignReset   <= '0';
               -- Unused?!?   423    rxRstTxUserRdy <= txUserRdyInt when RX_USRCLK_SRC_G = "TXOUTCLK" else '1';
   425    -- Drive outputs that have internal use   428    --------------------------------------------------------------------------------------------------   432    -- 3. Wait recclk_stable   435    -- 6. Assert gtRxUserRdy (gtRxUsrClk now usable)   436    -- 7. Wait gtRxResetDone   437    -- 8. Do phase alignment if necessary   438    -- 9. Wait DATA_VALID (aligned) - 100 us   439    --10. Wait 1 us, Set rxFsmResetDone.    440    --------------------------------------------------------------------------------------------------   457          RECCLK_STABLE          => rxRecClkStable,
        -- Asserted after 50,000 UI as per DS183   460          TXUSERRDY              => rxRstTxUserRdy,
        -- Need to know when txUserRdy   469          RXDFEAGCHOLD           => rxDfeAgcHold,
          -- Explore using these later   475    --------------------------------------------------------------------------------------------------   476    -- Synchronize rxFsmResetDone to rxUsrClk to use as reset for external logic.   477    --------------------------------------------------------------------------------------------------   478    RstSync_RxResetDone : 
entity work.
RstSync   488    -------------------------------------------------------------------------------------------------   489    -- Recovered clock monitor   490    -------------------------------------------------------------------------------------------------   491    BUFG_RX_OUT_CLK : BUFG
   496    GTX7_RX_REC_CLK_MONITOR_GEN : if (RX_BUF_EN_G = false) generate   506             RX_REC_CLK0   => rxOutClkBufg,
  -- Only works if rxOutClkOut fed back on rxUsrClkIn through bufg   514       rxRecClkMonitorRestart <= '0';
   518             if gtRxReset = '1' then   519                rxRecClkStable <= '0' after TPD_G;
   520                rxCdrLockCnt   <= 0   after TPD_G;
   521             elsif rxRecClkStable = '0' then   522                if rxCdrLockCnt = WAIT_TIME_CDRLOCK_C then   523                   rxRecClkStable <= '1'          after TPD_G;
   524                   rxCdrLockCnt   <= rxCdrLockCnt after TPD_G;
   526                   rxCdrLockCnt <= rxCdrLockCnt + 1 after TPD_G;
   531    end generate RX_NO_RECCLK_MON_GEN;
   533    -------------------------------------------------------------------------------------------------   534    -- Phase alignment needed when rx buffer is disabled   535    -- Use normal Auto Phase Align module when RX_BUF_EN_G=false and RX_ALIGN_FIXED_LAT_G=false   536    -- Use special fixed latency aligner when RX_BUF_EN_G=false and RX_ALIGN_FIXED_LAT_G=true   537    -------------------------------------------------------------------------------------------------   550       rxSlide <= rxSlideIn;
                                -- User controlled rxSlide   574       rxPhaseAlignmentDone <= '1';
   579    --------------------------------------------------------------------------------------------------   581    --------------------------------------------------------------------------------------------------   586          txDataFull                                        <= (others => '0');
   588          txCharIsKFull                                     <= (others => '0');
   590          txCharDispMode                                    <= (others => '0');
   591          txCharDispVal                                     <= (others => '0');
   594             if ((i-9) mod 10 = 0) then   595                txCharDispMode((i-9)/10) <= txDataIn(i);
   596             elsif ((i-8) mod 10 = 0) then   597                txCharDispVal((i-8)/10) <= txDataIn(i);
   599                txDataFull(i-2*(i/10)) <= txDataIn(i);
   602          txCharIsKFull <= (others => '0');
   604    end process TX_DATA_8B10B_GLUE;
   606    -- Mux proper PLL Lock signal onto txPllLock   609    -- Mux proper PLL RefClkLost signal on txPllRefClkLost   612    -- Drive outputs that have internal use   615    --------------------------------------------------------------------------------------------------   617    --------------------------------------------------------------------------------------------------   642    --------------------------------------------------------------------------------------------------   643    -- Synchronize rxFsmResetDone to rxUsrClk to use as reset for external logic.   644    --------------------------------------------------------------------------------------------------   645    RstSync_Tx : 
entity work.
RstSync   655    -------------------------------------------------------------------------------------------------   657    -- Only used when bypassing buffer   658    -------------------------------------------------------------------------------------------------   672       txPhAlignEn <= '0';
               -- Auto Mode   676    end generate TxAutoPhaseAlignGen;
   695    end generate TxManualPhaseAlignGen;
   698       txPhaseAlignmentDone <= '1';
   704    end generate NoTxPhaseAlignGen;
   706    --------------------------------------------------------------------------------------------------   708    --------------------------------------------------------------------------------------------------   711          --_______________________ Simulation-Only Attributes ___________________   712          SIM_RECEIVER_DETECT_PASS     => 
("TRUE"
),
   714          SIM_TX_EIDLE_DRIVE_LEVEL     => 
("X"
),
   717          ------------------RX Byte and Word Alignment Attributes---------------   726          RXSLIDE_AUTO_WAIT            => 
7,
   728          RX_SIG_VALID_DLY             => 
10,
   729          ------------------RX 8B/10B Decoder Attributes---------------   730          -- These don't really matter since RX 8B10B is disabled   735          ------------------------RX Clock Correction Attributes----------------------   755          ------------------------RX Channel Bonding Attributes----------------------   773          ---------------------------RX Margin Analysis Attributes----------------------------   774          ES_CONTROL                   => 
("000000"
),
   775          ES_ERRDET_EN                 => 
("FALSE"
),
   776          ES_EYE_SCAN_EN               => 
("TRUE"
),
   777          ES_HORZ_OFFSET               => 
(x"000"
),
   778          ES_PMA_CFG                   => 
("0000000000"
),
   779          ES_PRESCALE                  => 
("00000"
),
   780          ES_QUALIFIER                 => 
(x"00000000000000000000"
),
   781          ES_QUAL_MASK                 => 
(x"00000000000000000000"
),
   782          ES_SDATA_MASK                => 
(x"00000000000000000000"
),
   783          ES_VERT_OFFSET               => 
("000000000"
),
   784          -------------------------FPGA RX Interface Attributes-------------------------   785          RX_DATA_WIDTH                => 
(RX_DATA_WIDTH_C
),
   786          ---------------------------PMA Attributes----------------------------   787          OUTREFCLK_SEL_INV            => 
("11"
),
    -- ??   789          PMA_RSV2                     => 
(x"1C00000A"
),
   791          PMA_RSV4                     => 
(x"0008"
),
   792          RX_BIAS_CFG                  => 
("000011000000000000010000"
),
   793          DMONITOR_CFG                 => 
(x"000A00"
),
   796          RX_DEBUG_CFG                 => 
("00000000000000"
),
   798          TERM_RCAL_CFG                => 
("100001000010000"
),
   799          TERM_RCAL_OVRD               => 
("000"
),
   800          TST_RSV                      => 
(x"00000000"
),
   803          UCODEER_CLR                  => 
('0'
),
   804          ---------------------------PCI Express Attributes----------------------------   805          PCS_PCIE_EN                  => 
("FALSE"
),
   806          ---------------------------PCS Attributes----------------------------   807          PCS_RSVD_ATTR                => ite
(RX_ALIGN_MODE_G = "FIXED_LAT", X"000000000002", X"000000000000"
),
  --UG476 pg 241   808          -------------RX Buffer Attributes------------   810          RXBUF_EIDLE_HI_CNT           => 
("1000"
),
   811          RXBUF_EIDLE_LO_CNT           => 
("0000"
),
   813          RX_BUFFER_CFG                => 
("000000"
),
   814          RXBUF_RESET_ON_CB_CHANGE     => 
("TRUE"
),
   815          RXBUF_RESET_ON_COMMAALIGN    => 
("FALSE"
),
   816          RXBUF_RESET_ON_EIDLE         => 
("FALSE"
),
   817          RXBUF_RESET_ON_RATE_CHANGE   => 
("TRUE"
),
   818          RXBUFRESET_TIME              => 
("00001"
),
   819          RXBUF_THRESH_OVFLW           => 
(61),
   820          RXBUF_THRESH_OVRD            => 
("FALSE"
),
   821          RXBUF_THRESH_UNDFLW          => 
(4),
   822          RXDLY_CFG                    => 
(x"001F"
),
   823          RXDLY_LCFG                   => 
(x"030"
),
   824          RXDLY_TAP_CFG                => 
(x"0000"
),
   825          RXPH_CFG                     => 
(x"000000"
),
   826          RXPHDLY_CFG                  => 
(x"084020"
),
   827          RXPH_MONITOR_SEL             => 
("00000"
),
   828          RX_XCLK_SEL                  => RX_XCLK_SEL_C,
   829          RX_DDI_SEL                   => 
("000000"
),
   830          RX_DEFER_RESET_BUF_EN        => 
("TRUE"
),
   831          -----------------------CDR Attributes-------------------------   833          RXCDR_FR_RESET_ON_EIDLE      => 
('0'
),
   834          RXCDR_HOLD_DURING_EIDLE      => 
('0'
),
   835          RXCDR_PH_RESET_ON_EIDLE      => 
('0'
),
   836          RXCDR_LOCK_CFG               => 
("010101"
),
   837          -------------------RX Initialization and Reset Attributes-------------------   838          RXCDRFREQRESET_TIME          => 
("00001"
),
   839          RXCDRPHRESET_TIME            => 
("00001"
),
   840          RXISCANRESET_TIME            => 
("00001"
),
   841          RXPCSRESET_TIME              => 
("00001"
),
   842          RXPMARESET_TIME              => 
("00011"
),
      -- ! Check this            843          -------------------RX OOB Signaling Attributes-------------------   844          RXOOB_CFG                    => 
("0000110"
),
   845          -------------------------RX Gearbox Attributes---------------------------   846          RXGEARBOX_EN                 => 
("FALSE"
),
   847          GEARBOX_MODE                 => 
("000"
),
   848          -------------------------PRBS Detection Attribute-----------------------   849          RXPRBS_ERR_LOOPBACK          => 
('0'
),
   850          -------------Power-Down Attributes----------   851          PD_TRANS_TIME_FROM_P2        => 
(x"03c"
),
   852          PD_TRANS_TIME_NONE_P2        => 
(x"3c"
),
   853          PD_TRANS_TIME_TO_P2          => 
(x"64"
),
   854          -------------RX OOB Signaling Attributes----------   857          SATA_BURST_SEQ_LEN           => 
("1111"
),
   858          SATA_BURST_VAL               => 
("100"
),
   859          SATA_EIDLE_VAL               => 
("100"
),
   860          SATA_MAX_BURST               => 
(8),
   861          SATA_MAX_INIT                => 
(21),
   862          SATA_MAX_WAKE                => 
(7),
   863          SATA_MIN_BURST               => 
(4),
   864          SATA_MIN_INIT                => 
(12),
   865          SATA_MIN_WAKE                => 
(4),
   866          -------------RX Fabric Clock Output Control Attributes----------   867          TRANS_TIME_RATE              => 
(x"0E"
),
   868          --------------TX Buffer Attributes----------------   870          TXBUF_RESET_ON_RATE_CHANGE   => 
("TRUE"
),
   871          TXDLY_CFG                    => 
(x"001F"
),
   872          TXDLY_LCFG                   => 
(x"030"
),
   873          TXDLY_TAP_CFG                => 
(x"0000"
),
   874          TXPH_CFG                     => 
(x"0780"
),
   875          TXPHDLY_CFG                  => 
(x"084020"
),
   876          TXPH_MONITOR_SEL             => 
("00000"
),
   877          TX_XCLK_SEL                  => TX_XCLK_SEL_C,
   878          -------------------------FPGA TX Interface Attributes-------------------------   879          TX_DATA_WIDTH                => 
(TX_DATA_WIDTH_C
),
   880          -------------------------TX Configurable Driver Attributes-------------------------   881          TX_DEEMPH0                   => 
("00000"
),
   882          TX_DEEMPH1                   => 
("00000"
),
   883          TX_EIDLE_ASSERT_DELAY        => 
("110"
),
   884          TX_EIDLE_DEASSERT_DELAY      => 
("100"
),
   885          TX_LOOPBACK_DRIVE_HIZ        => 
("FALSE"
),
   886          TX_MAINCURSOR_SEL            => 
('0'
),
   887          TX_DRIVE_MODE                => 
("DIRECT"
),
   888          TX_MARGIN_FULL_0             => 
("1001110"
),
   889          TX_MARGIN_FULL_1             => 
("1001001"
),
   890          TX_MARGIN_FULL_2             => 
("1000101"
),
   891          TX_MARGIN_FULL_3             => 
("1000010"
),
   892          TX_MARGIN_FULL_4             => 
("1000000"
),
   893          TX_MARGIN_LOW_0              => 
("1000110"
),
   894          TX_MARGIN_LOW_1              => 
("1000100"
),
   895          TX_MARGIN_LOW_2              => 
("1000010"
),
   896          TX_MARGIN_LOW_3              => 
("1000000"
),
   897          TX_MARGIN_LOW_4              => 
("1000000"
),
   898          -------------------------TX Gearbox Attributes--------------------------   899          TXGEARBOX_EN                 => 
("FALSE"
),
   900          -------------------------TX Initialization and Reset Attributes--------------------------   901          TXPCSRESET_TIME              => 
("00001"
),
   902          TXPMARESET_TIME              => 
("00001"
),
   903          -------------------------TX Receiver Detection Attributes--------------------------   904          TX_RXDETECT_CFG              => 
(x"1832"
),
   905          TX_RXDETECT_REF              => 
("100"
),
   906          ----------------------------CPLL Attributes----------------------------   907          CPLL_CFG                     => 
(x"00BC07DC"
),
   910          CPLL_INIT_CFG                => 
(x"00001E"
),
   911          CPLL_LOCK_CFG                => 
(x"01E8"
),
   915          SATA_CPLL_CFG                => 
("VCO_3000MHZ"
),
   916          --------------RX Initialization and Reset Attributes-------------   917          RXDFELPMRESET_TIME           => 
("0001111"
),
   918          --------------RX Equalizer Attributes-------------   919          RXLPM_HF_CFG                 => 
("00001000000000"
),
   920          RXLPM_LF_CFG                 => 
("001001000000000000"
),
   921          RX_DFE_GAIN_CFG              => 
(x"0020C0"
),
   922          RX_DFE_H2_CFG                => 
("000000000000"
),
   923          RX_DFE_H3_CFG                => 
("000001000000"
),
   924          RX_DFE_H4_CFG                => 
("00011100000"
),
   925          RX_DFE_H5_CFG                => 
("00011100000"
),
   926          RX_DFE_KL_CFG                => 
("001000001000000000000001100010000"
),
   928          RX_DFE_LPM_HOLD_DURING_EIDLE => 
('0'
),
   929          RX_DFE_UT_CFG                => 
("00011100000000000"
),
   930          RX_DFE_VP_CFG                => 
("00011101010100011"
),
   931          -------------------------Power-Down Attributes-------------------------   932          RX_CLKMUX_PD                 => 
('1'
),
   933          TX_CLKMUX_PD                 => 
('1'
),
   934          -------------------------FPGA RX Interface Attribute-------------------------   935          RX_INT_DATAWIDTH             => RX_INT_DATAWIDTH_C,
   936          -------------------------FPGA TX Interface Attribute-------------------------   937          TX_INT_DATAWIDTH             => TX_INT_DATAWIDTH_C,
   938          ------------------TX Configurable Driver Attributes---------------   939          TX_QPI_STATUS_EN             => 
('0'
),
   940          ------------------ JTAG Attributes ---------------   941          ACJTAG_DEBUG_MODE            => 
('0'
),
   942          ACJTAG_MODE                  => 
('0'
),
   943          ACJTAG_RESET                 => 
('0'
),
   944          ADAPT_CFG0                   => 
(x"00C10"
),
   945          CFOK_CFG                     => 
(x"24800040E80"
),
   946          CFOK_CFG2                    => 
(x"20"
),
   947          CFOK_CFG3                    => 
(x"20"
),
   948          ES_CLK_PHASE_SEL             => 
('0'
),
   950          RESET_POWERSAVE_DISABLE      => 
('0'
),
   951          USE_PCS_CLK_PHASE_SEL        => 
('0'
),
   952          A_RXOSCALRESET               => 
('0'
),
   953          ------------------ RX Phase Interpolator Attributes---------------   960          RXPI_CFG6                    => 
("001"
),
   961          --------------RX Decision Feedback Equalizer(DFE)-------------   962          RX_DFELPM_CFG0               => 
("0110"
),
   963          RX_DFELPM_CFG1               => 
('0'
),
   964          RX_DFELPM_KLKH_AGC_STUP_EN   => 
('1'
),
   965          RX_DFE_AGC_CFG0              => 
("00"
),
   966          RX_DFE_AGC_CFG1              => 
("100"
),
   967          RX_DFE_AGC_CFG2              => 
("0000"
),
   968          RX_DFE_AGC_OVRDEN            => 
('1'
),
   969          RX_DFE_H6_CFG                => 
(x"020"
),
   970          RX_DFE_H7_CFG                => 
(x"020"
),
   971          RX_DFE_KL_LPM_KH_CFG0        => 
("01"
),
   972          RX_DFE_KL_LPM_KH_CFG1        => 
("010"
),
   973          RX_DFE_KL_LPM_KH_CFG2        => 
("0010"
),
   974          RX_DFE_KL_LPM_KH_OVRDEN      => 
('1'
),
   975          RX_DFE_KL_LPM_KL_CFG0        => 
("10"
),
   976          RX_DFE_KL_LPM_KL_CFG1        => 
("010"
),
   977          RX_DFE_KL_LPM_KL_CFG2        => 
("0010"
),
   978          RX_DFE_KL_LPM_KL_OVRDEN      => 
('1'
),
   979          RX_DFE_ST_CFG                => 
(x"00E100000C003F"
),
   980          ------------------ TX Phase Interpolator Attributes---------------   986          TXPI_CFG5                    => 
("100"
),
   987          TXPI_GREY_SEL                => 
('0'
),
   988          TXPI_INVSTROBE_SEL           => 
('0'
),
   989          TXPI_PPMCLK_SEL              => 
("TXUSRCLK2"
),
   990          TXPI_PPM_CFG                 => 
(x"00"
),
   991          TXPI_SYNFREQ_PPM             => 
("000"
),
   992          TX_RXDETECT_PRECHARGE_TIME   => 
(x"155CC"
),
   993          ------------------ LOOPBACK Attributes---------------   994          LOOPBACK_CFG                 => 
('0'
),
   995          ------------------RX OOB Signalling Attributes---------------   996          RXOOB_CLK_CFG                => 
("PMA"
),
   997          ------------------ CDR Attributes ---------------   998          RXOSCALRESET_TIME            => 
("00011"
),
   999          RXOSCALRESET_TIMEOUT         => 
("00000"
),
  1000          ------------------TX OOB Signalling Attributes---------------  1002          ------------------RX Buffer Attributes---------------  1003          RXSYNC_MULTILANE             => '0',
  1005          RXSYNC_SKIP_DA               => '0',
  1006          ------------------TX Buffer Attributes---------------  1007          TXSYNC_MULTILANE             => '0',
  1009          TXSYNC_SKIP_DA               => '0'
)  1011          ---------------------------------- Channel ---------------------------------  1013          DMONITOROUT                => 
open,
  1014          GTRESETSEL                 => '0',
         -- Sequential Mode  1015          GTRSVD                     => "
0000000000000000",
  1019          ---------------- Channel - Dynamic Reconfiguration Port (DRP) --------------  1020          DRPADDR                    => drpMuxAddr,
  1025          DRPRDY                     => drpMuxRdy,
  1027          ------------------------- Channel - Ref Clock Ports ------------------------  1028          GTGREFCLK                  => gtGRefClk,
  1029          GTNORTHREFCLK0             => gtNorthRefClk0,
  1030          GTNORTHREFCLK1             => gtNorthRefClk1,
  1031          GTREFCLK0                  => gtRefClk0,
  1032          GTREFCLK1                  => gtRefClk1,
  1033          GTREFCLKMONITOR            => 
open,
  1034          GTSOUTHREFCLK0             => gtSouthRefClk0,
  1035          GTSOUTHREFCLK1             => gtSouthRefClk1,
  1036          -------------------------------- Channel PLL -------------------------------  1037          CPLLFBCLKLOST              => 
open,
  1038          CPLLLOCK                   => cPllLock,
  1042          CPLLREFCLKLOST             => cPllRefClkLost,
  1044          CPLLRESET                  => cPllReset,
  1045          ------------------------------- Eye Scan Ports -----------------------------  1046          EYESCANDATAERROR           => 
open,
  1048          EYESCANRESET               => '0',
  1049          EYESCANTRIGGER             => '0',
  1050          ------------------------ Loopback and Powerdown Ports ----------------------  1054          ----------------------------- PCS Reserved Ports ---------------------------  1055          PCSRSVDIN                  => "
0000000000000000",
  1056          PCSRSVDIN2                 => "
00000",
  1058          ----------------------------- PMA Reserved Ports ---------------------------  1059          PMARSVDIN                  => "
00000",
  1060          ------------------------------- Receive Ports ------------------------------  1064          RXSYSCLKSEL                => RX_SYSCLK_SEL_C,
  1065          RXUSERRDY                  => rxUserRdyInt,
  1068          DMONFIFORESET              => '0',
  1070          RXPMARESETDONE             => rxPmaResetDone,
  1073          -------------- Receive Ports - 64b66b and 64b67b Gearbox Ports -------------  1074          RXDATAVALID                => 
open,
  1075          RXGEARBOXSLIP              => '0',
  1077          RXHEADERVALID              => 
open,
  1078          RXSTARTOFSEQ               => 
open,
  1079          ----------------------- Receive Ports - 8b10b Decoder ----------------------  1081          RXCHARISCOMMA              => 
open,
  1082          RXCHARISK                  => rxCharIsKFull,
  1083          RXDISPERR                  => rxDispErrFull,
  1084          RXNOTINTABLE               => rxDecErrFull,
  1085          ------------------- Receive Ports - Channel Bonding Ports ------------------  1086          RXCHANBONDSEQ              => 
open,
  1093          ------------------- Receive Ports - Channel Bonding Ports  -----------------  1094          RXCHANISALIGNED            => 
open,
  1095          RXCHANREALIGN              => 
open,
  1096          ------------------- Receive Ports - Clock Correction Ports -----------------  1097          RXCLKCORCNT                => 
open,
  1098          --------------- Receive Ports - Comma Detection and Alignment --------------  1099          RXBYTEISALIGNED            => 
open,
  1100          RXBYTEREALIGN              => 
open,
  1106          ----------------------- Receive Ports - PRBS Detection ---------------------  1107          RXPRBSCNTRESET             => '0',
  1110          ------------------- Receive Ports - RX Data Path interface -----------------  1111          GTRXRESET                  => gtRxReset,
  1112          RXDATA                     => rxDataFull,
  1113          RXOUTCLK                   => rxOutClk,
  1114          RXOUTCLKFABRIC             => 
open,
  1115          RXOUTCLKPCS                => 
open,
  1116          RXOUTCLKSEL                => to_stdlogicvector
(RX_OUTCLK_SEL_C
),
  -- Selects rx recovered clk for rxoutclk  1117          RXPCSRESET                 => '0',
         -- Don't bother with component level resets  1121          --------------------- Receive Ports - RX Equalizer Ports -------------------  1122          RXDFESLIDETAPSTARTED       => 
open,
  1123          RXDFESLIDETAPSTROBEDONE    => 
open,
  1124          RXDFESLIDETAPSTROBESTARTED => 
open,
  1125          ------------ Receive Ports - RX Decision Feedback Equalizer(DFE) -----------  1126          RXADAPTSELTEST             => 
(others => '0'
),
  1127          RXDFEAGCHOLD               => rxDfeAgcHold,
  1128          RXDFEAGCOVRDEN             => '0',
  1129          RXDFEAGCTRL                => "
01000",
  1131          RXDFELFHOLD                => rxDfeLfHold,
  1133          RXDFELPMRESET              => '0',
  1134          RXDFESLIDETAP              => "
00000",
  1135          RXDFESLIDETAPADAPTEN       => '0',
  1136          RXDFESLIDETAPHOLD          => '0',
  1137          RXDFESLIDETAPID            => "
000000",
  1138          RXDFESLIDETAPINITOVRDEN    => '0',
  1139          RXDFESLIDETAPONLYADAPTEN   => '0',
  1140          RXDFESLIDETAPSTROBE        => '0',
  1141          RXDFESTADAPTDONE           => 
open,
  1142          RXDFETAP2HOLD              => '0',
  1143          RXDFETAP2OVRDEN            => '0',
  1144          RXDFETAP3HOLD              => '0',
  1145          RXDFETAP3OVRDEN            => '0',
  1146          RXDFETAP4HOLD              => '0',
  1147          RXDFETAP4OVRDEN            => '0',
  1148          RXDFETAP5HOLD              => '0',
  1149          RXDFETAP5OVRDEN            => '0',
  1150          RXDFETAP6HOLD              => '0',
  1151          RXDFETAP6OVRDEN            => '0',
  1152          RXDFETAP7HOLD              => '0',
  1153          RXDFETAP7OVRDEN            => '0',
  1155          RXDFEUTOVRDEN              => '0',
  1157          RXDFEVPOVRDEN              => '0',
  1160          RXMONITOROUT               => 
open,
  1161          RXMONITORSEL               => "
00",
  1163          RXOSINTCFG                 => "
0110",
  1166          RXOSINTID0                 => "
0000",
  1167          RXOSINTNTRLEN              => '0',
  1168          RXOSINTOVRDEN              => '0',
  1169          RXOSINTSTARTED             => 
open,
  1170          RXOSINTSTROBE              => '0',
  1171          RXOSINTSTROBEDONE          => 
open,
  1172          RXOSINTSTROBESTARTED       => 
open,
  1173          RXOSINTTESTOVRDEN          => '0',
  1175          ------- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------  1178          RXCDRFREQRESET             => '0',
  1180          RXCDRLOCK                  => rxCdrLock,
  1183          RXCDRRESETRSV              => '0',
  1185          RXELECIDLEMODE             => "
11",
  1187          RXLPMHFHOLD                => rxLpmHfHold,
  1188          RXLPMHFOVRDEN              => '0',
  1189          RXLPMLFHOLD                => rxLpmLfHold,
  1190          RXLPMLFKLOVRDEN            => '0',
  1192          ------------ Receive Ports - RX Decision Feedback Equalizer(DFE) -----------  1193          RSOSINTDONE                => 
open,
  1194          RXDFESLIDETAPOVRDEN        => '0',
  1195          RXOSCALRESET               => '0',
  1196          -------- Receive Ports - RX Elastic Buffer and Phase Alignment Ports -------  1199          RXDDIEN                    => 
RX_DDIEN_G,
  -- Don't insert delay in deserializer. Might be wrong.  1201          RXDLYEN                    => '0',
         -- Used for manual phase align  1203          RXDLYSRESET                => rxDlySReset,
  1204          RXDLYSRESETDONE            => rxDlySResetDone,
  1206          RXPHALIGNDONE              => rxPhAlignDone,
  1209          RXPHDLYRESET               => '0',
  1210          RXPHMONITOR                => 
open,
  1212          RXPHSLIPMONITOR            => 
open,
  1219          ------------------------ Receive Ports - RX PLL Ports ----------------------  1222          RXRESETDONE                => rxResetDone,
  1223          -------------- Receive Ports - RX Pipe Control for PCI Express -------------  1226          ----------------- Receive Ports - RX Polarity Control Ports ----------------  1228          --------------------- Receive Ports - RX Ports for SATA --------------------  1229          RXCOMINITDET               => 
open,
  1230          RXCOMSASDET                => 
open,
  1231          RXCOMWAKEDET               => 
open,
  1232          ------------------------------- Transmit Ports -----------------------------  1233          SETERRSTATUS               => '0',
  1234          TSTIN                      => "
11111111111111111111",
  1235          TXPHDLYTSTCLK              => '0',
  1237          TXPOSTCURSORINV            => '0',
  1239          TXPRECURSORINV             => '0',
  1243          TXQPISTRONGPDOWN           => '0',
  1244          TXQPIWEAKPUP               => '0',
  1245          TXSYSCLKSEL                => TX_SYSCLK_SEL_C,
  1246          TXUSERRDY                  => txUserRdyInt,
  1248          TXPMARESETDONE             => 
open,
  1249          ----------------- TX Phase Interpolator PPM Controller Ports ---------------  1251          TXPIPPMOVRDEN              => '0',
  1254          TXPIPPMSTEPSIZE            => "
00000",
  1255          -------------- Transmit Ports - 64b66b and 64b67b Gearbox Ports ------------  1256          TXGEARBOXREADY             => 
open,
  1258          TXSEQUENCE                 => "
0000000",
  1260          ---------------- Transmit Ports - 8b10b Encoder Control Ports --------------  1261          TX8B10BBYPASS              => X"00",
  1263          TXCHARDISPMODE             => txCharDispMode,
  1264          TXCHARDISPVAL              => txCharDispVal,
  1265          TXCHARISK                  => txCharIsKFull,
  1266          ------------ Transmit Ports - TX Buffer and Phase Alignment Ports ----------  1269          TXDLYEN                    => txDlyEn,
     -- Manual Align  1272          TXDLYSRESET                => txDlySReset,
  1273          TXDLYSRESETDONE            => txDlySResetDone,
  1275          TXPHALIGN                  => txPhAlign,
   -- Manual Align  1276          TXPHALIGNDONE              => txPhAlignDone,
  1277          TXPHALIGNEN                => txPhAlignEn,
      -- Enables manual align  1279          TXPHDLYRESET               => '0',
         -- Use SReset instead  1280          TXPHINIT                   => txPhInit,
    -- Manual Align  1281          TXPHINITDONE               => txPhInitDone,
  1288          ------------------ Transmit Ports - TX Data Path interface -----------------  1289          GTTXRESET                  => gtTxReset,
  1290          TXDATA                     => txDataFull,
  1292          TXOUTCLKFABRIC             => 
open,
        --txGtRefClk,  1293          TXOUTCLKPCS                => 
open,
        --txOutClkPcsOut,  1294          TXOUTCLKSEL                => to_stdlogicvector
(TX_OUTCLK_SEL_C
),
  1295          TXPCSRESET                 => '0',
         -- Don't bother with individual resets  1299          ---------------- Transmit Ports - TX Driver and OOB signaling --------------  1302          TXBUFDIFFCTRL              => "
100",
  1306          TXMAINCURSOR               => "
0000000",
  1307          TXPDELECIDLEMODE           => '0',
  1309          ----------------------- Transmit Ports - TX PLL Ports ----------------------  1312          TXRESETDONE                => txResetDone,
  1313          --------------------- Transmit Ports - TX PRBS Generator -------------------  1314          TXPRBSFORCEERR             => '0',
  1316          -------------------- Transmit Ports - TX Polarity Control ------------------  1318          ----------------- Transmit Ports - TX Ports for PCI Express ----------------  1324          --------------------- Transmit Ports - TX Ports for SATA -------------------  1325          TXCOMFINISH                => 
open,
  1330    ------------------------- Soft Fix for Production Silicon----------------------  1347    drpRstRdy  <= drpMuxRdy when(drpRstDone = '0') else '0';
  1348    drpRdy     <= drpMuxRdy when(drpRstDone = '1') else '0';
  1349    drpMuxEn   <= drpEn     when(drpRstDone = '1') else drpRstEn;
  1350    drpMuxWe   <= drpWe     when(drpRstDone = '1') else drpRstWe;
  1351    drpMuxAddr <= drpAddr   when(drpRstDone = '1') else drpRstAddr;
  1352    drpMuxDi   <= drpDi     when(drpRstDone = '1') else drpRstDi;
  1353    drpRstDo   <= drpMuxDo;
  1356 end architecture rtl;
 RX_OS_CFG_Gbit_vector  :=   "0000010000000"
 
CHAN_BOND_SEQ_1_4_Gbit_vector  :=   "0000000000"
 
CHAN_BOND_SEQ_2_1_Gbit_vector  :=   "0000000000"
 
FTS_DESKEW_SEQ_ENABLE_Gbit_vector  :=   "1111"
 
RX_BUF_EN_Gboolean  :=   true
 
STABLE_CLOCK_PERIOD_Greal  := 4.0E-9
 
CHAN_BOND_SEQ_2_3_Gbit_vector  :=   "0000000000"
 
out PHASE_ALIGNMENT_DONESTD_LOGIC  := '0'
 
CBCC_DATA_SOURCE_SEL_Gstring  :=   "DECODED"
 
ALIGN_MCOMMA_VALUE_Gbit_vector  :=   "1010000011"
 
RX_CHAN_BOND_EN_Gboolean  :=   false
 
out rxDecErrOutslv((   RX_EXT_DATA_WIDTH_G/ 8)- 1 downto  0)  
 
CLK_COR_KEEP_IDLE_Gstring  :=   "FALSE"
 
CHAN_BOND_SEQ_1_1_Gbit_vector  :=   "0000000000"
 
CLK_COR_SEQ_2_USE_Gstring  :=   "FALSE"
 
FTS_LANE_DESKEW_EN_Gstring  :=   "FALSE"
 
out rxPhaseAlignmentDonesl  
 
TX_8B10B_EN_Gboolean  :=   true
 
out GTTXRESETstd_logic  := '0'
 
in rxMmcmLockedInsl  := '1'
 
CLK_COR_MAX_LAT_Ginteger  := 9
 
CHAN_BOND_SEQ_2_2_Gbit_vector  :=   "0000000000"
 
RX_DFE_LPM_CFG_Gbit_vector  := x"0080"
 
TX_BUF_EN_Gboolean  :=   true
 
out PLL_RESETstd_logic  := '0'
 
out PLL_RESETstd_logic  := '0'
 
out RUN_PHALIGNMENTstd_logic  := '0'
 
RX_CLK25_DIV_Ginteger  := 5
 
STABLE_CLOCK_PERIODinteger   range  4 to  20:= 8
 
STABLE_CLOCK_PERIODinteger   range  4 to  20:= 8
 
TX_PHASE_ALIGN_Gstring  :=   "AUTO"
 
out GTRXRESET_OUTstd_logic  
 
CLK_CORRECT_USE_Gstring  :=   "FALSE"
 
RX_CHAN_BOND_MASTER_Gboolean  :=   false
 
ALIGN_PCOMMA_EN_Gsl  := '0'
 
FIXED_ALIGN_COMMA_0_Gslv  :=   "----------0101111100"
 
COMMA_EN_Gslv( 3 downto  0)  :=   "0011"
 
out RX_FSM_RESET_DONEstd_logic  
 
out RXDFEAGCHOLDstd_logic  
 
in drpDislv( 15 downto  0)  := X"0000"
 
ALIGN_COMMA_DOUBLE_Gstring  :=   "FALSE"
 
in txCharIsKInslv((   TX_EXT_DATA_WIDTH_G/ 8)- 1 downto  0)  
 
RX_EQUALIZER_Gstring  :=   "LPM"
 
out RESET_PHALIGNMENTstd_logic  := '0'
 
out RESET_PHALIGNMENTstd_logic  := '0'
 
TX_INT_DATA_WIDTH_Ginteger  := 20
 
in rxChBondLevelInslv( 2 downto  0)  :=   "000"
 
in qPllRefClkLostInsl  := '0'
 
COUNTER_UPPER_VALUEinteger  := 20
 
RX_OUTCLK_SRC_Gstring  :=   "PLLREFCLK"
 
out rxBufStatusOutslv( 2 downto  0)  
 
SIM_GTRESET_SPEEDUP_Gstring  :=   "FALSE"
 
out txBufStatusOutslv( 1 downto  0)  
 
ALIGN_COMMA_WORD_Ginteger  := 2
 
COMMA_3_Gslv  :=   "XXXXXXXXXXXXXXXXXXXX"
 
RX_BUF_ADDR_MODE_Gstring  :=   "FAST"
 
in rxChBondInslv( 4 downto  0)  :=   "00000"
 
RX_8B10B_EN_Gboolean  :=   true
 
in PLLREFCLKLOSTstd_logic  
 
in PLLREFCLKLOSTstd_logic  
 
in DLYSRESETDONESTD_LOGIC  
 
SIM_VERSION_Gstring  :=   "2.0"
 
out RXUSERRDYstd_logic  := '0'
 
CLK_COR_SEQ_2_3_Gbit_vector  :=   "0000000000"
 
in txPostCursorslv( 4 downto  0)  :=( others => '0')
 
CLOCK_PULSESinteger  := 5000
 
CPLL_REFCLK_SEL_Gbit_vector  :=   "001"
 
CLK_COR_REPEAT_WAIT_Ginteger  := 0
 
SIMULATION_Gboolean  :=   false
 
out EXEC_RESTARTstd_logic  
 
TX_EXT_DATA_WIDTH_Ginteger  := 16
 
in txMmcmLockedInsl  := '1'
 
DEC_VALID_COMMA_ONLY_Gstring  :=   "FALSE"
 
RX_EXT_DATA_WIDTH_Ginteger  := 16
 
in RUN_PHALIGNMENTSTD_LOGIC  
 
CHAN_BOND_MAX_SKEW_Ginteger  := 1
 
COMMA_1_Gslv  :=   "----------1010000011"
 
out DRPADDRstd_logic_vector( 8 downto  0)  
 
out rxCharIsKOutslv((   RX_EXT_DATA_WIDTH_G/ 8)- 1 downto  0)  
 
gthe2_channel gthe2_igthe2_i
 
RX_CM_TRIM_Gbit_vector  :=   "1000"
 
CHAN_BOND_SEQ_1_3_Gbit_vector  :=   "0000000000"
 
in txPowerDownslv( 1 downto  0)  :=   "00"
 
in RECCLK_MONITOR_RESTARTstd_logic  := '0'
 
FIXED_ALIGN_COMMA_2_Gslv  :=   "XXXXXXXXXXXXXXXXXXXX"
 
out rxDataOutslv(   RX_EXT_DATA_WIDTH_G- 1 downto  0)  
 
in txDiffCtrlslv( 3 downto  0)  :=   "1000"
 
CPLL_REFCLK_DIV_Ginteger  := 1
 
COMMA_2_Gslv  :=   "XXXXXXXXXXXXXXXXXXXX"
 
CHAN_BOND_SEQ_1_2_Gbit_vector  :=   "0000000000"
 
ALIGN_COMMA_ENABLE_Gbit_vector  :=   "1111111111"
 
in rxDataslv(   WORD_SIZE_G- 1 downto  0)  
 
out TXUSERRDYstd_logic  := '0'
 
out rxDispErrOutslv((   RX_EXT_DATA_WIDTH_G/ 8)- 1 downto  0)  
 
CLK_COR_SEQ_1_4_Gbit_vector  :=   "0000000000"
 
in RXPMARESETDONEstd_logic  
 
in drpAddrslv( 8 downto  0)  :=   "000000000"
 
in rxPowerDownslv( 1 downto  0)  :=   "00"
 
CLK_COR_PRECEDENCE_Gstring  :=   "TRUE"
 
DEC_PCOMMA_DETECT_Gstring  :=   "TRUE"
 
PMA_RSV_Gbit_vector  := X"00000080"
 
RXCDR_CFG_Gbit_vector  := x"0002007FE1000C2200018"
 
CLK_COR_SEQ_1_1_Gbit_vector  :=   "0100000000"
 
EXAMPLE_SIMULATIONinteger  := 0
 
out TX_FSM_RESET_DONEstd_logic  
 
COMMA_0_Gslv  :=   "----------0101111100"
 
in rxDataValidInsl  := '1'
 
CLK_COR_SEQ_1_2_Gbit_vector  :=   "0000000000"
 
CLK_COR_SEQ_2_2_Gbit_vector  :=   "0000000000"
 
CLK_COR_SEQ_2_1_Gbit_vector  :=   "0100000000"
 
in loopbackInslv( 2 downto  0)  :=   "000"
 
DEC_MCOMMA_DETECT_Gstring  :=   "TRUE"
 
RXSLIDE_MODE_Gstring  :=   "PCS"
 
CHAN_BOND_SEQ_2_ENABLE_Gbit_vector  :=   "0000"
 
out RECCLK_STABLEstd_logic  
 
out MMCM_RESETstd_logic  := '1'
 
CHAN_BOND_SEQ_LEN_Ginteger  := 1
 
out MMCM_RESETstd_logic  := '1'
 
in RECCLK_STABLEstd_logic  
 
CLK_COR_SEQ_2_4_Gbit_vector  :=   "0000000000"
 
in DRPDOstd_logic_vector( 15 downto  0)  
 
in txDataInslv(   TX_EXT_DATA_WIDTH_G- 1 downto  0)  
 
CHAN_BOND_SEQ_1_ENABLE_Gbit_vector  :=   "1111"
 
RETRY_COUNTER_BITWIDTHinteger   range  2 to  8:= 8
 
RETRY_COUNTER_BITWIDTHinteger   range  2 to  8:= 8
 
CLK_COR_SEQ_LEN_Ginteger  := 1
 
out drpDoslv( 15 downto  0)  
 
CHAN_BOND_SEQ_2_USE_Gstring  :=   "FALSE"
 
RX_USRCLK_SRC_Gstring  :=   "RXOUTCLK"
 
TX_BUF_ADDR_MODE_Gstring  :=   "FAST"
 
ALIGN_PCOMMA_DET_Gstring  :=   "FALSE"
 
out DRPDIstd_logic_vector( 15 downto  0)  
 
out GTRXRESETstd_logic  := '0'
 
in txPreCursorslv( 4 downto  0)  :=( others => '0')
 
EXAMPLE_SIMULATIONinteger  := 0
 
out rxChBondOutslv( 4 downto  0)  
 
TX_CLK25_DIV_Ginteger  := 5
 
ALIGN_MCOMMA_DET_Gstring  :=   "FALSE"
 
out RUN_PHALIGNMENTstd_logic  
 
CPLL_FBDIV_45_Ginteger  := 5
 
ALIGN_PCOMMA_VALUE_Gbit_vector  :=   "0101111100"
 
CLK_COR_SEQ_2_ENABLE_Gbit_vector  :=   "0000"
 
CHAN_BOND_KEEP_ALIGN_Gstring  :=   "FALSE"
 
CLK_COR_SEQ_1_3_Gbit_vector  :=   "0000000000"
 
CLK_COR_SEQ_1_ENABLE_Gbit_vector  :=   "1111"
 
FIXED_COMMA_EN_Gslv( 3 downto  0)  :=   "0011"
 
RX_INT_DATA_WIDTH_Ginteger  := 20
 
CHAN_BOND_SEQ_2_4_Gbit_vector  :=   "0000000000"
 
in gtRxRefClkBufgsl  := '0'
 
GCLK_COUNTER_UPPER_VALUEinteger  := 20
 
FTS_LANE_DESKEW_CFG_Gbit_vector  :=   "1111"
 
FIXED_ALIGN_COMMA_3_Gslv  :=   "XXXXXXXXXXXXXXXXXXXX"
 
out RETRY_COUNTERstd_logic_vector(   RETRY_COUNTER_BITWIDTH- 1 downto  0)  :=( others => '0')
 
SHOW_REALIGN_COMMA_Gstring  :=   "FALSE"
 
out RETRY_COUNTERstd_logic_vector(   RETRY_COUNTER_BITWIDTH- 1 downto  0)  :=( others => '0')
 
TX_OUTCLK_SRC_Gstring  :=   "PLLREFCLK"
 
RX_ALIGN_MODE_Gstring  :=   "GT"
 
CLK_COR_MIN_LAT_Ginteger  := 7
 
in PHALIGNMENT_DONEstd_logic  
 
in PHALIGNMENT_DONEstd_logic  
 
RX_DISPERR_SEQ_MATCH_Gstring  :=   "TRUE"
 
ALIGN_MCOMMA_EN_Gsl  := '0'
 
FIXED_ALIGN_COMMA_1_Gslv  :=   "----------1010000011"