1 -------------------------------------------------------------------------------     3 -- Company    : SLAC National Accelerator Laboratory     4 -- Created    : 2012-06-29     5 -- Last update: 2016-12-15     6 -------------------------------------------------------------------------------     7 -- Description: Wrapper for Xilinx 7-series GTP 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_gtp7    53       -- Configure PLL sources    57       -- Configure Data widths    66       -- Configure Buffer usage    77       RX_DDIEN_G         : sl      := '0';
          -- Supposed to be '1' when bypassing rx buffer    80       -- Configure RX comma alignment    94       -- Fixed Latency comma alignment (If RX_ALIGN_MODE_G = "FIXED_LAT")   101       -- Configure RX 8B10B decoding (If RX_8B10B_EN_G = true)   107       -- Configure Clock Correction   128       -- Configure Channel Bonding   157                                          -- reference clock to check if recovered clock is stable   165       -- Rx Clock related signals   173       -- Rx User Reset Signals   177       -- Manual Comma Align signals   181       -- Rx Data and decode signals   189       -- Rx Channel Bonding   194       -- Tx Clock Related Signals   202       -- Tx User Reset signals   218       -- DRP Interface (stableClkIn Domain)   230    function getOutClkSelVal (OUT_CLK_SRC : ) 
return  is   232       if (OUT_CLK_SRC = "PLLREFCLK") then   234       elsif (OUT_CLK_SRC = "OUTCLKPMA") then   236       elsif (OUT_CLK_SRC = "PLLREFDV2") then   241    end function getOutClkSelVal;
   243    function getDataWidth (USE_8B10B : ; EXT_DATA_WIDTH : ) 
return  is   245       if (USE_8B10B = false) then   246          return EXT_DATA_WIDTH;
   248          return (EXT_DATA_WIDTH / 8) * 10;
   252    --------------------------------------------------------------------------------------------------   254    --------------------------------------------------------------------------------------------------   255    constant RX_SYSCLK_SEL_C : slv := ite(RX_PLL_G = "PLL0", "00", "11");
   256    constant TX_SYSCLK_SEL_C : slv := ite(TX_PLL_G = "PLL0", "00", "11");
   258    constant RX_PLL0_USED_C :  := (RX_PLL_G = "PLL0");
   259    constant TX_PLL0_USED_C :  := (TX_PLL_G = "PLL0");
   261    constant RX_XCLK_SEL_C :  := ite(RX_BUF_EN_G, "RXREC", "RXUSR");
   262    constant TX_XCLK_SEL_C :  := ite(TX_BUF_EN_G, "TXOUT", "TXUSR");
   270    constant GT_TYPE_C :  := "GTP";
   274    --------------------------------------------------------------------------------------------------   276    --------------------------------------------------------------------------------------------------   278    ----------------------------   280    signal rxOutClk     : sl;
   281    signal rxOutClkBufg : sl;
   283    signal rxPllResets     : slv(1 downto 0);
   284    signal rxPllLock       : sl;
   286    signal gtRxReset    : sl;
            -- GT GTRXRESET   287    signal rxResetDone  : sl;
            -- GT RXRESETDONE   288    signal rxUserRdyInt : sl;
            -- GT RXUSERRDY   290    signal rxUserResetInt : sl;
   291    signal rxFsmResetDone : sl;
   292    signal rxRstTxUserRdy : sl;
   293    signal rxPmaResetDone : sl;
   295    signal rxRecClkStable         : sl;
   296    signal rxRecClkMonitorRestart : sl;
   297    signal rxCdrLockCnt           :  range 0 to WAIT_TIME_CDRLOCK_C := 0;
   299    signal rxRunPhaseAlignment  : sl;
   300    signal rxPhaseAlignmentDone : sl;
   301    signal rxAlignReset         : sl;
   302    signal rxDlySReset          : sl;
    -- GT RXDLYSRESET   303    signal rxDlySResetDone      : sl;
    -- GT RXDLYSRESETDONE   304    signal rxPhAlignDone        : sl;
    -- GT RXPHALIGNDONE   305    signal rxSlide              : sl;
    -- GT RXSLIDE   306    signal rxCdrLock            : sl;
    -- GT RXCDRLOCK   308    signal rxDfeAgcHold : sl := '0';
   309    signal rxDfeLfHold  : sl := '0';
   310    signal rxLpmLfHold  : sl := '0';
   311    signal rxLpmHfHold  : sl := '0';
   315    signal rxDataFull    : slv(31 downto 0);
  -- GT RXDATA   316    signal rxCharIsKFull : slv(3 downto 0);
   -- GT RXCHARISK   317    signal rxDispErrFull : slv(3 downto 0);
   -- GT RXDISPERR   318    signal rxDecErrFull  : slv(3 downto 0);
   320    ----------------------------   322    signal txOutClk : sl;
   324    signal txPllResets     : slv(1 downto 0);
   326    signal gtTxReset    : sl;
            -- GT GTTXRESET   327    signal txResetDone  : sl;
            -- GT TXRESETDONE   328    signal txUserRdyInt : sl;
            -- GT TXUSERRDY   330    signal txFsmResetDone : sl;
   331    signal txPmaResetDone : sl;
   334    signal txResetPhaseAlignment : sl;
   335    signal txRunPhaseAlignment   : sl;
   336    signal txPhaseAlignmentDone  : sl;
   337    signal txPhAlignEn           : sl;
   -- GT TXPHALIGNEN   338    signal txDlySReset           : sl;
   -- GT TXDLYSRESET   339    signal txDlySResetDone       : sl;
   -- GT TXDLYSRESETDONE   340    signal txPhInit              : sl;
   -- GT TXPHINIT   341    signal txPhInitDone          : sl;
   -- GT TXPHINITDONE   342    signal txPhAlign             : sl;
   -- GT TXPHALIGN   343    signal txPhAlignDone         : sl;
   -- GT TXPHALIGNDONE   344    signal txDlyEn               : sl;
   -- GT TXDLYEN   347    signal txDataFull     : slv(31 downto 0) := (others => '0');
   348    signal txCharIsKFull  : slv(3 downto 0)  := (others => '0');
   349    signal txCharDispMode : slv(3 downto 0)  := (others => '0');
   350    signal txCharDispVal  : slv(3 downto 0)  := (others => '0');
   353    signal drpMuxAddr : slv(8 downto 0);
   354    signal drpMuxDo   : slv(15 downto 0);
   355    signal drpMuxDi   : slv(15 downto 0);
   356    signal drpMuxRdy  : sl;
   357    signal drpMuxEn   : sl;
   358    signal drpMuxWe   : sl;
   359    signal drpRstAddr : slv(8 downto 0);
   360    signal drpRstDo   : slv(15 downto 0);
   361    signal drpRstDi   : slv(15 downto 0);
   362    signal drpRstRdy  : sl;
   363    signal drpRstEn   : sl;
   364    signal drpRstWe   : sl;
   365    signal drpRstDone : sl;
   378    --------------------------------------------------------------------------------------------------   380    --------------------------------------------------------------------------------------------------   381    -- Fit GTP port sizes to selected rx external interface size   383    RX_DATA_8B10B_GLUE : 
process (rxCharIsKFull, rxDataFull, rxDecErrFull,
   393             if ((i-9) mod 10 = 0) then   394                rxDataInt(i) <= rxDispErrFull((i-9)/10);
   395             elsif ((i-8) mod 10 = 0) then   396                rxDataInt(i) <= rxCharIsKFull((i-8)/10);
   398                rxDataInt(i) <= rxDataFull(i-2*(i/10));
   405    end process RX_DATA_8B10B_GLUE;
   408    rxRstTxUserRdy <= txUserRdyInt when RX_USRCLK_SRC_G = "TXOUTCLK" else '1';
   410    -- Drive outputs that have internal use   413    --------------------------------------------------------------------------------------------------   417    -- 3. Wait recclk_stable   420    -- 6. Assert gtRxUserRdy (gtRxUsrClk now usable)   421    -- 7. Wait gtRxResetDone   422    -- 8. Do phase alignment if necessary   423    -- 9. Wait DATA_VALID (aligned) - 100 us   424    --10. Wait 1 us, Set rxFsmResetDone.    425    --------------------------------------------------------------------------------------------------   446          RECCLK_STABLE          => rxRecClkStable,
        -- Asserted after 50,000 UI as per DS183   449          TXUSERRDY              => rxRstTxUserRdy,
        -- Need to know when txUserRdy   459          RXDFEAGCHOLD           => rxDfeAgcHold,
          -- Explore using these later   465    --------------------------------------------------------------------------------------------------   466    -- Synchronize rxFsmResetDone to rxUsrClk to use as reset for external logic.   467    --------------------------------------------------------------------------------------------------   468    RstSync_RxResetDone : 
entity work.
RstSync   478    -------------------------------------------------------------------------------------------------   479    -- Recovered clock monitor   480    -------------------------------------------------------------------------------------------------   481    BUFG_RX_OUT_CLK : BUFG
   486 --   GTX7_RX_REC_CLK_MONITOR_GEN : if (RX_BUF_EN_G = false) generate   487 --      SyncClockFreq_1 : entity work.SyncClockFreq   490 --            REF_CLK_FREQ_G    => REF_CLK_FREQ_G,   491 --            REFRESH_RATE_G    => 1.0E3,   492 --            CLK_LOWER_LIMIT_G => REF_CLK_FREQ_G * (1.010),   493 --            CLK_UPPER_LIMIT_G => REF_CLK_FREQ_G * (0.990),   494 --            CNT_WIDTH_G       => 32)   497 --            freqUpdated => rxRecClkMonitorRestart,   498 --            locked      => rxRecClkStable,   501 --            clkIn       => rxOutClkBufg,   502 --            locClk      => stableClkIn,   503 --            refClk      => gtRxRefClkBufg);   507 --   RX_NO_RECCLK_MON_GEN : if (RX_BUF_EN_G) generate   508    rxRecClkMonitorRestart <= '0';
   512          if gtRxReset = '1' then   513             rxRecClkStable <= '0' after TPD_G;
   514             rxCdrLockCnt   <= 0   after TPD_G;
   515          elsif rxRecClkStable = '0' then   516             if rxCdrLockCnt = WAIT_TIME_CDRLOCK_C then   517                rxRecClkStable <= '1'          after TPD_G;
   518                rxCdrLockCnt   <= rxCdrLockCnt after TPD_G;
   520                rxCdrLockCnt <= rxCdrLockCnt + 1 after TPD_G;
   525 --   end generate RX_NO_RECCLK_MON_GEN;   527    -------------------------------------------------------------------------------------------------   528    -- Phase alignment needed when rx buffer is disabled   529    -- Use normal Auto Phase Align module when RX_BUF_EN_G=false and RX_ALIGN_FIXED_LAT_G=false   530    -- Use special fixed latency aligner when RX_BUF_EN_G=false and RX_ALIGN_FIXED_LAT_G=true   531    -------------------------------------------------------------------------------------------------   544       rxSlide      <= rxSlideIn;
                           -- User controlled rxSlide   569       rxPhaseAlignmentDone <= '1';
   575    --------------------------------------------------------------------------------------------------   577    --------------------------------------------------------------------------------------------------   582          txDataFull                                        <= (others => '0');
   584          txCharIsKFull                                     <= (others => '0');
   586          txCharDispMode                                    <= (others => '0');
   587          txCharDispVal                                     <= (others => '0');
   590             if ((i-9) mod 10 = 0) then   591                txCharDispMode((i-9)/10) <= txDataIn(i);
   592             elsif ((i-8) mod 10 = 0) then   593                txCharDispVal((i-8)/10) <= txDataIn(i);
   595                txDataFull(i-2*(i/10)) <= txDataIn(i);
   598          txCharIsKFull <= (others => '0');
   600    end process TX_DATA_8B10B_GLUE;
   602    -- Drive outputs that have internal use   605    --------------------------------------------------------------------------------------------------   607    --------------------------------------------------------------------------------------------------   637    --------------------------------------------------------------------------------------------------   638    -- Synchronize rxFsmResetDone to rxUsrClk to use as reset for external logic.   639    --------------------------------------------------------------------------------------------------   640    RstSync_Tx : 
entity work.
RstSync   650    -------------------------------------------------------------------------------------------------   652    -- Only used when bypassing buffer   653    -------------------------------------------------------------------------------------------------   667       txPhAlignEn <= '0';
               -- Auto Mode   671    end generate TxAutoPhaseAlignGen;
   690    end generate TxManualPhaseAlignGen;
   698       txPhaseAlignmentDone <= '1';
   699    end generate NoTxPhaseAlignGen;
   701    --------------------------------------------------------------------------------------------------   703    --------------------------------------------------------------------------------------------------   706          ------------------Simulation-Only Attributes---------------   707          SIM_RECEIVER_DETECT_PASS   => 
("TRUE"
),
   709          SIM_TX_EIDLE_DRIVE_LEVEL   => 
("X"
),
   711          ------------------RX Byte and Word Alignment Attributes---------------   720          RXSLIDE_AUTO_WAIT          => 
7,
   722          RX_SIG_VALID_DLY           => 
10,
   723          ------------------RX 8B/10B Decoder Attributes---------------   724          -- These don't really matter since RX 8B10B is disabled   729          ------------------------RX Clock Correction Attributes----------------------   749          ------------------------RX Channel Bonding Attributes----------------------   767          ---------------------------RX Margin Analysis Attributes----------------------------   768          ES_CONTROL                 => 
("000000"
),
   769          ES_ERRDET_EN               => 
("FALSE"
),
   770          ES_EYE_SCAN_EN             => 
("FALSE"
),
   771          ES_HORZ_OFFSET             => 
(x"010"
),
   772          ES_PMA_CFG                 => 
("0000000000"
),
   773          ES_PRESCALE                => 
("00000"
),
   774          ES_QUALIFIER               => 
(x"00000000000000000000"
),
   775          ES_QUAL_MASK               => 
(x"00000000000000000000"
),
   776          ES_SDATA_MASK              => 
(x"00000000000000000000"
),
   777          ES_VERT_OFFSET             => 
("000000000"
),
   778          -------------------------FPGA RX Interface Attributes-------------------------   779          RX_DATA_WIDTH              => 
(RX_DATA_WIDTH_C
),
   780          ---------------------------PMA Attributes----------------------------   781          OUTREFCLK_SEL_INV          => 
("11"
),
     -- ??   783          PMA_RSV2                   => 
(x"00002040"
),
   785          PMA_RSV4                   => 
("0000"
),
   786          RX_BIAS_CFG                => 
("0000111100110011"
),
   787          DMONITOR_CFG               => 
(x"000A00"
),
   789          RX_CM_TRIM                 => 
("1010"
),
   790          RX_DEBUG_CFG               => 
("00000000000000"
),
   792          TERM_RCAL_CFG              => 
("100001000010000"
),
   793          TERM_RCAL_OVRD             => 
("000"
),
   794          TST_RSV                    => 
(x"00000000"
),
   797          UCODEER_CLR                => 
('0'
),
   798          ---------------------------PCI Express Attributes----------------------------   799          PCS_PCIE_EN                => 
("FALSE"
),
   800          ---------------------------PCS Attributes----------------------------   801          PCS_RSVD_ATTR              => 
(x"000000000000"
),
             -- From wizard   802          -------------RX Buffer Attributes------------   804          RXBUF_EIDLE_HI_CNT         => 
("1000"
),
   805          RXBUF_EIDLE_LO_CNT         => 
("0000"
),
   807          RX_BUFFER_CFG              => 
("000000"
),
   808          RXBUF_RESET_ON_CB_CHANGE   => 
("TRUE"
),
   809          RXBUF_RESET_ON_COMMAALIGN  => 
("FALSE"
),
   810          RXBUF_RESET_ON_EIDLE       => 
("FALSE"
),
   811          RXBUF_RESET_ON_RATE_CHANGE => 
("TRUE"
),
   812          RXBUFRESET_TIME            => 
("00001"
),
   813          RXBUF_THRESH_OVFLW         => 
(61),
   814          RXBUF_THRESH_OVRD          => 
("FALSE"
),
   815          RXBUF_THRESH_UNDFLW        => 
(4),
   816          RXDLY_CFG                  => 
(x"001F"
),
   817          RXDLY_LCFG                 => 
(x"030"
),
   818          RXDLY_TAP_CFG              => 
(x"0000"
),
   819          RXPH_CFG                   => 
(x"C00002"
),
   820          RXPHDLY_CFG                => 
(x"084020"
),
   821          RXPH_MONITOR_SEL           => 
("00000"
),
   822          RX_XCLK_SEL                => RX_XCLK_SEL_C,
   823          RX_DDI_SEL                 => 
("000000"
),
   824          RX_DEFER_RESET_BUF_EN      => 
("TRUE"
),
   825          -----------------------CDR Attributes-------------------------   827          RXCDR_FR_RESET_ON_EIDLE    => 
('0'
),
   828          RXCDR_HOLD_DURING_EIDLE    => 
('0'
),
   829          RXCDR_PH_RESET_ON_EIDLE    => 
('0'
),
   830          RXCDR_LOCK_CFG             => 
("001001"
),
   831          -------------------RX Initialization and Reset Attributes-------------------   832          RXCDRFREQRESET_TIME        => 
("00001"
),
   833          RXCDRPHRESET_TIME          => 
("00001"
),
   834          RXISCANRESET_TIME          => 
("00001"
),
   835          RXPCSRESET_TIME            => 
("00001"
),
   836          RXPMARESET_TIME            => 
("00011"
),
  -- ! Check this   837          -------------------RX OOB Signaling Attributes-------------------   838          RXOOB_CFG                  => 
("0000110"
),
   839          -------------------------RX Gearbox Attributes---------------------------   840          RXGEARBOX_EN               => 
("FALSE"
),
   841          GEARBOX_MODE               => 
("000"
),
   842          -------------------------PRBS Detection Attribute-----------------------   843          RXPRBS_ERR_LOOPBACK        => 
('0'
),
   844          -------------Power-Down Attributes----------   845          PD_TRANS_TIME_FROM_P2      => 
(x"03c"
),
   846          PD_TRANS_TIME_NONE_P2      => 
(x"3c"
),
   847          PD_TRANS_TIME_TO_P2        => 
(x"64"
),
   848          -------------RX OOB Signaling Attributes----------   851          SATA_BURST_SEQ_LEN         => 
("1111"
),
   852          SATA_BURST_VAL             => 
("100"
),
   853          SATA_EIDLE_VAL             => 
("100"
),
   854          SATA_MAX_BURST             => 
(8),
   855          SATA_MAX_INIT              => 
(21),
   856          SATA_MAX_WAKE              => 
(7),
   857          SATA_MIN_BURST             => 
(4),
   858          SATA_MIN_INIT              => 
(12),
   859          SATA_MIN_WAKE              => 
(4),
   860          -------------RX Fabric Clock Output Control Attributes----------   861          TRANS_TIME_RATE            => 
(x"0E"
),
   862          --------------TX Buffer Attributes----------------   864          TXBUF_RESET_ON_RATE_CHANGE => 
("TRUE"
),
   865          TXDLY_CFG                  => 
(x"001F"
),
   866          TXDLY_LCFG                 => 
(x"030"
),
   867          TXDLY_TAP_CFG              => 
(x"0000"
),
   868          TXPH_CFG                   => 
(x"0780"
),
   869          TXPHDLY_CFG                => 
(x"084020"
),
   870          TXPH_MONITOR_SEL           => 
("00000"
),
   871          TX_XCLK_SEL                => TX_XCLK_SEL_C,
   872          -------------------------FPGA TX Interface Attributes-------------------------   873          TX_DATA_WIDTH              => TX_DATA_WIDTH_C,
   874          -------------------------TX Configurable Driver Attributes-------------------------   875          TX_DEEMPH0                 => 
("000000"
),
   876          TX_DEEMPH1                 => 
("000000"
),
   877          TX_EIDLE_ASSERT_DELAY      => 
("110"
),
   878          TX_EIDLE_DEASSERT_DELAY    => 
("100"
),
   879          TX_LOOPBACK_DRIVE_HIZ      => 
("FALSE"
),
   880          TX_MAINCURSOR_SEL          => 
('0'
),
   881          TX_DRIVE_MODE              => 
("DIRECT"
),
   882          TX_MARGIN_FULL_0           => 
("1001110"
),
   883          TX_MARGIN_FULL_1           => 
("1001001"
),
   884          TX_MARGIN_FULL_2           => 
("1000101"
),
   885          TX_MARGIN_FULL_3           => 
("1000010"
),
   886          TX_MARGIN_FULL_4           => 
("1000000"
),
   887          TX_MARGIN_LOW_0            => 
("1000110"
),
   888          TX_MARGIN_LOW_1            => 
("1000100"
),
   889          TX_MARGIN_LOW_2            => 
("1000010"
),
   890          TX_MARGIN_LOW_3            => 
("1000000"
),
   891          TX_MARGIN_LOW_4            => 
("1000000"
),
   892          -------------------------TX Gearbox Attributes--------------------------   893          TXGEARBOX_EN               => 
("FALSE"
),
   894          -------------------------TX Initialization and Reset Attributes--------------------------   895          TXPCSRESET_TIME            => 
("00001"
),
   896          TXPMARESET_TIME            => 
("00001"
),
   897          -------------------------TX Receiver Detection Attributes--------------------------   898          TX_RXDETECT_CFG            => 
(x"1832"
),
   899          TX_RXDETECT_REF            => 
("100"
),
   900          ------------------ JTAG Attributes ---------------   901          ACJTAG_DEBUG_MODE          => 
('0'
),
   902          ACJTAG_MODE                => 
('0'
),
   903          ACJTAG_RESET               => 
('0'
),
   904          ------------------ CDR Attributes ---------------   905          CFOK_CFG                   => 
(x"49000040E80"
),
   906          CFOK_CFG2                  => 
("0100000"
),
   907          CFOK_CFG3                  => 
("0100000"
),
   910          CFOK_CFG6                  => 
("0000"
),
   911          RXOSCALRESET_TIME          => 
("00011"
),
   912          RXOSCALRESET_TIMEOUT       => 
("00000"
),
   913          ------------------ PMA Attributes ---------------   914          CLK_COMMON_SWING           => 
('0'
),
   915          RX_CLKMUX_EN               => 
('1'
),
   916          TX_CLKMUX_EN               => 
('1'
),
   917          ES_CLK_PHASE_SEL           => 
('0'
),
   918          USE_PCS_CLK_PHASE_SEL      => 
('0'
),
   921          ------------------ TX Configuration Driver Attributes ---------------   922          TX_PREDRIVER_MODE          => 
('0'
),
   924          SATA_PLL_CFG               => 
("VCO_3000MHZ"
),
   925          ------------------ RX Fabric Clock Output Control Attributes ---------------   927          ------------------ TX Fabric Clock Output Control Attributes ---------------   929          ------------------ RX Phase Interpolator Attributes---------------   930          RXPI_CFG0                  => 
("000"
),
   933          --------------RX Equalizer Attributes-------------   934          ADAPT_CFG0                 => 
(x"00000"
),
   935          RXLPMRESET_TIME            => 
("0001111"
),
   936          RXLPM_BIAS_STARTUP_DISABLE => 
('0'
),
   937          RXLPM_CFG                  => 
("0110"
),
   939          RXLPM_CM_CFG               => 
('0'
),
   940          RXLPM_GC_CFG               => 
("111100010"
),
   941          RXLPM_GC_CFG2              => 
("001"
),
   942          RXLPM_HF_CFG               => 
("00001111110000"
),
   943          RXLPM_HF_CFG2              => 
("01010"
),
   944          RXLPM_HF_CFG3              => 
("0000"
),
   945          RXLPM_HOLD_DURING_EIDLE    => 
('0'
),
   948          RXLPM_LF_CFG               => 
("000000001111110000"
),
   949          RXLPM_LF_CFG2              => 
("01010"
),
   950          RXLPM_OSINT_CFG            => 
("000"
),
   951          ------------------ TX Phase Interpolator PPM Controller Attributes---------------   957          TXPI_CFG5                  => 
("000"
),
   958          TXPI_GREY_SEL              => 
('0'
),
   959          TXPI_INVSTROBE_SEL         => 
('0'
),
   960          TXPI_PPMCLK_SEL            => 
("TXUSRCLK2"
),
   961          TXPI_PPM_CFG               => 
(x"00"
),
   962          TXPI_SYNFREQ_PPM           => 
("000"
),
   963          ------------------ LOOPBACK Attributes---------------   964          LOOPBACK_CFG               => 
('0'
),
   965          PMA_LOOPBACK_CFG           => 
('0'
),
   966          ------------------RX OOB Signalling Attributes---------------   967          RXOOB_CLK_CFG              => 
("PMA"
),
   968          ------------------TX OOB Signalling Attributes---------------   970          ------------------RX Buffer Attributes---------------   971          RXSYNC_MULTILANE           => 
('0'
),
   972          RXSYNC_OVRD                => 
('0'
),
   973          RXSYNC_SKIP_DA             => 
('0'
),
   974          ------------------TX Buffer Attributes---------------   975          TXSYNC_MULTILANE           => 
('0'
),
   976          TXSYNC_OVRD                => 
('1'
),
   977          TXSYNC_SKIP_DA             => 
('0'
))   980          --------------------------------- CPLL Ports -------------------------------   981          GTRSVD               => "
0000000000000000",
   982          PCSRSVDIN            => "
0000000000000000",
   983          TSTIN                => "
11111111111111111111",
   984          ---------------------------- Channel - DRP Ports  --------------------------   985          DRPADDR              => drpMuxAddr,
   992          ----------------- FPGA TX Interface Datapath Configuration  ----------------   994          ------------------------ GTPE2_CHANNEL Clocking Ports ----------------------   999          RXSYSCLKSEL          => RX_SYSCLK_SEL_C,
  1000          TXSYSCLKSEL          => TX_SYSCLK_SEL_C,
  1001          ------------------------------- Loopback Ports -----------------------------  1003          ----------------------------- PCI Express Ports ----------------------------  1007          ----------------------------- PMA Reserved Ports ---------------------------  1010          ------------------------------ Power-Down Ports ----------------------------  1013          -------------------------- RX 8B/10B Decoder Ports -------------------------  1014          SETERRSTATUS         => '0',
  1015          --------------------- RX Initialization and Reset Ports --------------------  1016          EYESCANRESET         => '0',
  1017          RXUSERRDY            => rxUserRdyInt,
  1018          -------------------------- RX Margin Analysis Ports ------------------------  1019          EYESCANDATAERROR     => 
open,
  1021          EYESCANTRIGGER       => '0',
  1022          ------------------------------- Receive Ports ------------------------------  1025          DMONFIFORESET        => '0',
  1027          RXPMARESETDONE       => rxPmaResetDone,
  1029          ------------------------- Receive Ports - CDR Ports ------------------------  1030          RXCDRFREQRESET       => '0',
  1032          RXCDRLOCK            => rxCdrLock,
  1035          RXCDRRESETRSV        => '0',
  1036          RXOSCALRESET         => '0',
  1037          RXOSINTCFG           => "
0010",
  1038          RXOSINTDONE          => 
open,
  1040          RXOSINTOVRDEN        => '0',
  1042          RXOSINTSTARTED       => 
open,
  1043          RXOSINTSTROBE        => '0',
  1044          RXOSINTSTROBESTARTED => 
open,
  1045          RXOSINTTESTOVRDEN    => '0',
  1046          ------------------- Receive Ports - Clock Correction Ports -----------------  1047          RXCLKCORCNT          => 
open,
  1048          ---------- Receive Ports - FPGA RX Interface Datapath Configuration --------  1050          ------------------ Receive Ports - FPGA RX Interface Ports -----------------  1051          RXDATA               => rxDataFull,
  1054          ------------------- Receive Ports - Pattern Checker Ports ------------------  1057          ------------------- Receive Ports - Pattern Checker ports ------------------  1058          RXPRBSCNTRESET       => '0',
  1059          ------------------ Receive Ports - RX 8B/10B Decoder Ports -----------------  1060          RXCHARISCOMMA        => 
open,
  1061          RXCHARISK            => rxCharIsKFull,
  1062          RXDISPERR            => rxDispErrFull,
  1063          RXNOTINTABLE         => rxDecErrFull,
  1064          ------------------------ Receive Ports - RX AFE Ports ----------------------  1068          PMARSVDOUT0          => 
open,
  1069          PMARSVDOUT1          => 
open,
  1070          ------------------- Receive Ports - RX Buffer Bypass Ports -----------------  1073          RXDDIEN              => 
RX_DDIEN_G,
  -- Don't insert delay in deserializer. Might be wrong.  1075          RXDLYEN              => '0',
   -- Used for manual phase align  1077          RXDLYSRESET          => rxDlySReset,
  1078          RXDLYSRESETDONE      => rxDlySResetDone,
  1080          RXPHALIGNDONE        => rxPhAlignDone,
  1083          RXPHDLYRESET         => '0',
  1084          RXPHMONITOR          => 
open,
  1086          RXPHSLIPMONITOR      => 
open,
  1093          -------------- Receive Ports - RX Byte and Word Alignment Ports ------------  1094          RXBYTEISALIGNED      => 
open,
  1095          RXBYTEREALIGN        => 
open,
  1101          ------------------ Receive Ports - RX Channel Bonding Ports ----------------  1102          RXCHANBONDSEQ        => 
open,
  1109          ----------------- Receive Ports - RX Channel Bonding Ports  ----------------  1110          RXCHANISALIGNED      => 
open,
  1111          RXCHANREALIGN        => 
open,
  1112          ------------ Receive Ports - RX Decision Feedback Equalizer(DFE) -----------  1113          DMONITOROUT          => 
open,
  1114          RXADAPTSELTEST       => "
00000000000000",
  1118          RXOSINTNTRLEN        => '0',
  1119          RXOSINTSTROBEDONE    => 
open,
  1120          ------- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------  1121          RXLPMLFOVRDEN        => '0',
  1122          RXLPMOSINTNTRLEN     => '0',
  1123          --------------------- Receive Ports - RX Equalizer Ports -------------------  1126          --------------------- Receive Ports - RX Equilizer Ports -------------------  1127          RXLPMHFHOLD          => rxLpmHfHold,
  1128          RXLPMHFOVRDEN        => '0',
  1129          RXLPMLFHOLD          => rxLpmLfHold,
  1130          ------------ Receive Ports - RX Fabric ClocK Output Control Ports ----------  1132          ----------- Receive Ports - RX Fabric Clock Output Control Ports  ----------  1134          --------------- Receive Ports - RX Fabric Output Control Ports -------------  1135          RXOUTCLK             => rxOutClk,
  1136          RXOUTCLKFABRIC       => 
open,
  --rxGtRefClk,  1137          RXOUTCLKPCS          => 
open,
  1138          RXOUTCLKSEL          => to_stdlogicvector
(RX_OUTCLK_SEL_C
),
  -- Selects rx recovered clk for rxoutclk  1139          ---------------------- Receive Ports - RX Gearbox Ports --------------------  1140          RXDATAVALID          => 
open,
  1142          RXHEADERVALID        => 
open,
  1143          RXSTARTOFSEQ         => 
open,
  1144          --------------------- Receive Ports - RX Gearbox Ports  --------------------  1145          RXGEARBOXSLIP        => '0',
  1146          ------------- Receive Ports - RX Initialization and Reset Ports ------------  1147          GTRXRESET            => gtRxRst,
  1152          ------------------- Receive Ports - RX OOB Signaling ports -----------------  1153          RXCOMSASDET          => 
open,
  1154          RXCOMWAKEDET         => 
open,
  1155          ------------------ Receive Ports - RX OOB Signaling ports  -----------------  1156          RXCOMINITDET         => 
open,
  1157          ------------------ Receive Ports - RX OOB signalling Ports -----------------  1159          RXELECIDLEMODE       => "
11",
  1160          ----------------- Receive Ports - RX Polarity Control Ports ----------------  1162          -------------- Receive Ports -RX Initialization and Reset Ports ------------  1163          RXRESETDONE          => rxResetDone,
  1164          --------------------------- TX Buffer Bypass Ports -------------------------  1165          TXPHDLYTSTCLK        => '0',
  1166          ------------------------ TX Configurable Driver Ports ----------------------  1168          TXPOSTCURSORINV      => '0',
  1170          TXPRECURSORINV       => '0',
  1171          -------------------- TX Fabric Clock Output Control Ports ------------------  1173          --------------------- TX Initialization and Reset Ports --------------------  1175          GTTXRESET            => gtTxReset,
  1177          TXUSERRDY            => txUserRdyInt,
  1178          ----------------- TX Phase Interpolator PPM Controller Ports ---------------  1180          TXPIPPMOVRDEN        => '0',
  1183          TXPIPPMSTEPSIZE      => "
00000",
  1184          ---------------------- Transceiver Reset Mode Operation --------------------  1185          GTRESETSEL           => '0',
   -- Sequential Mode  1187          ------------------------------- Transmit Ports -----------------------------  1188          TXPMARESETDONE       => txPmaResetDone,
  1189          ----------------- Transmit Ports - Configurable Driver Ports ---------------  1192          ------------------ Transmit Ports - FPGA TX Interface Ports ----------------  1193          TXDATA               => txDataFull,
  1196          --------------------- Transmit Ports - PCI Express Ports -------------------  1201          ------------------ Transmit Ports - Pattern Generator Ports ----------------  1202          TXPRBSFORCEERR       => '0',
  1203          ------------------ Transmit Ports - TX 8B/10B Encoder Ports ----------------  1204          TX8B10BBYPASS        => x"0",
  1205          TXCHARDISPMODE       => txCharDispMode,
  1206          TXCHARDISPVAL        => txCharDispVal,
  1207          TXCHARISK            => txCharIsKFull,
  1208          ------------------ Transmit Ports - TX Buffer Bypass Ports -----------------  1210          TXDLYEN              => txDlyEn,
     -- Manual Align  1213          TXDLYSRESET          => txDlySReset,
  1214          TXDLYSRESETDONE      => txDlySResetDone,
  1216          TXPHALIGN            => txPhAlign,
   -- Manual Align  1217          TXPHALIGNDONE        => txPhAlignDone,
  1218          TXPHALIGNEN          => txPhAlignEn,
      -- Enables manual align  1220          TXPHDLYRESET         => '0',
   -- Use SReset instead  1221          TXPHINIT             => txPhInit,
    -- Manual Align  1222          TXPHINITDONE         => txPhInitDone,
  1224          ---------------------- Transmit Ports - TX Buffer Ports --------------------  1226          ------------ Transmit Ports - TX Buffer and Phase Alignment Ports ----------  1232          --------------- Transmit Ports - TX Configurable Driver Ports --------------  1235          TXBUFDIFFCTRL        => "
100",
  1240          TXMAINCURSOR         => "
0000000",
  1242          ----------- Transmit Ports - TX Fabric Clock Output Control Ports ----------  1243          TXOUTCLK             => txOutClk,
  1244          TXOUTCLKFABRIC       => 
open,
  --txGtRefClk,  1245          TXOUTCLKPCS          => 
open,
  --txOutClkPcsOut,  1246          TXOUTCLKSEL          => to_stdlogicvector
(TX_OUTCLK_SEL_C
),
  1248          --------------------- Transmit Ports - TX Gearbox Ports --------------------  1249          TXGEARBOXREADY       => 
open,
  1251          TXSEQUENCE           => "
0000000",
  1253          ------------- Transmit Ports - TX Initialization and Reset Ports -----------  1256          TXRESETDONE          => txResetDone,
  1257          ------------------ Transmit Ports - TX OOB signalling Ports ----------------  1258          TXCOMFINISH          => 
open,
  1262          TXPDELECIDLEMODE     => '0',
  1263          ----------------- Transmit Ports - TX Polarity Control Ports ---------------  1265          --------------- Transmit Ports - TX Receiver Detection Ports  --------------  1267          ------------------ Transmit Ports - pattern Generator Ports ----------------  1268          TXPRBSSEL            => "
000"
);
  1271    ------------------------- Soft Fix for Production Silicon----------------------  1288    end generate GEN_RST_SEQ;
  1291       gtRxRst    <= gtRxReset;
  1294       drpRstAddr <= (others => '0');
  1296       drpRstDi   <= (others => '0');
  1297    end generate NO_RST_SEQ;
  1300    drpRstRdy  <= drpMuxRdy when(drpRstDone = '0') else '0';
  1301    drpRdy     <= drpMuxRdy when(drpRstDone = '1') else '0';
  1302    drpMuxEn   <= drpEn     when(drpRstDone = '1') else drpRstEn;
  1303    drpMuxWe   <= drpWe     when(drpRstDone = '1') else drpRstWe;
  1304    drpMuxAddr <= drpAddr   when(drpRstDone = '1') else drpRstAddr;
  1305    drpMuxDi   <= drpDi     when(drpRstDone = '1') else drpRstDi;
  1306    drpRstDo   <= drpMuxDo;
  1309 end architecture rtl;
 
CHAN_BOND_SEQ_2_1_Gbit_vector  :=   "0000000000"
 
ALIGN_MCOMMA_DET_Gstring  :=   "FALSE"
 
DEC_PCOMMA_DETECT_Gstring  :=   "TRUE"
 
SIM_VERSION_Gstring  :=   "1.0"
 
out RXDFEAGCHOLDstd_logic  := '0'
 
TX_EXT_DATA_WIDTH_Ginteger  := 16
 
CLK_COR_MIN_LAT_Ginteger  := 7
 
CHAN_BOND_SEQ_1_3_Gbit_vector  :=   "0000000000"
 
RX_EXT_DATA_WIDTH_Ginteger  := 16
 
TX_INT_DATA_WIDTH_Ginteger  := 20
 
TX_BUF_ADDR_MODE_Gstring  :=   "FAST"
 
in qPllLockInslv( 1 downto  0)  
 
RX_OS_CFG_Gbit_vector  :=   "0001111110000"
 
out DRPADDRstd_logic_vector( 8 downto  0)  
 
in txPowerDownslv( 1 downto  0)  :=   "00"
 
FIXED_ALIGN_COMMA_0_Gslv  :=   "----------0101111100"
 
FTS_LANE_DESKEW_EN_Gstring  :=   "FALSE"
 
in qPllRefClkLostInslv( 1 downto  0)  
 
ALIGN_COMMA_WORD_Ginteger  := 2
 
in DRPDOstd_logic_vector( 15 downto  0)  
 
out drpDoslv( 15 downto  0)  
 
RX_BUF_ADDR_MODE_Gstring  :=   "FAST"
 
CLK_CORRECT_USE_Gstring  :=   "FALSE"
 
CHAN_BOND_SEQ_2_ENABLE_Gbit_vector  :=   "0000"
 
ALIGN_COMMA_ENABLE_Gbit_vector  :=   "1111111111"
 
out TX_FSM_RESET_DONEstd_logic  
 
in drpDislv( 15 downto  0)  := X"0000"
 
in RXPMARESETDONEstd_logic  
 
in rxDataslv(   WORD_SIZE_G- 1 downto  0)  
 
out rxCharIsKOutslv((   RX_EXT_DATA_WIDTH_G/ 8)- 1 downto  0)  
 
in rxChBondInslv( 3 downto  0)  :=   "0000"
 
out RUN_PHALIGNMENTstd_logic  := '0'
 
CLK_COR_SEQ_1_2_Gbit_vector  :=   "0000000000"
 
TX_PHASE_ALIGN_Gstring  :=   "AUTO"
 
in txCharIsKInslv((   TX_EXT_DATA_WIDTH_G/ 8)- 1 downto  0)  
 
out GTRXRESETstd_logic  := '0'
 
out txBufStatusOutslv( 1 downto  0)  
 
in rxPowerDownslv( 1 downto  0)  :=   "00"
 
FTS_DESKEW_SEQ_ENABLE_Gbit_vector  :=   "1111"
 
TX_CLK25_DIV_Ginteger  := 5
 
out rxPhaseAlignmentDonesl  
 
CHAN_BOND_SEQ_1_1_Gbit_vector  :=   "0000000000"
 
out qPllResetOutslv( 1 downto  0)  
 
CLK_COR_SEQ_2_4_Gbit_vector  :=   "0000000000"
 
ALIGN_MCOMMA_EN_Gsl  := '0'
 
in PLL0REFCLKLOSTstd_logic  
 
FIXED_ALIGN_COMMA_1_Gslv  :=   "----------1010000011"
 
in PLL0REFCLKLOSTstd_logic  
 
in txMmcmLockedInsl  := '1'
 
CLK_COR_SEQ_LEN_Ginteger  := 1
 
CHAN_BOND_SEQ_2_3_Gbit_vector  :=   "0000000000"
 
in txPostCursorslv( 4 downto  0)  :=( others => '0')
 
out RESET_PHALIGNMENTstd_logic  := '0'
 
out RESET_PHALIGNMENTstd_logic  := '0'
 
in RUN_PHALIGNMENTstd_logic  
 
CBCC_DATA_SOURCE_SEL_Gstring  :=   "DECODED"
 
COMMA_1_Gslv  :=   "----------1010000011"
 
out rxBufStatusOutslv( 2 downto  0)  
 
RX_CHAN_BOND_EN_Gboolean  :=   false
 
SIM_GTRESET_SPEEDUP_Gstring  :=   "FALSE"
 
DEC_VALID_COMMA_ONLY_Gstring  :=   "FALSE"
 
COMMA_EN_Gslv( 3 downto  0)  :=   "0011"
 
COMMA_3_Gslv  :=   "XXXXXXXXXXXXXXXXXXXX"
 
RX_DISPERR_SEQ_MATCH_Gstring  :=   "TRUE"
 
in rxDataValidInsl  := '1'
 
COMMA_0_Gslv  :=   "----------0101111100"
 
out DRPDIstd_logic_vector( 15 downto  0)  
 
ALIGN_COMMA_DOUBLE_Gstring  :=   "FALSE"
 
TX_PLL0_USEDboolean  :=   false
 
CLK_COR_SEQ_2_USE_Gstring  :=   "FALSE"
 
TX_PLL0_USEDboolean  :=   false
 
out MMCM_RESETstd_logic  := '1'
 
out MMCM_RESETstd_logic  := '1'
 
CHAN_BOND_SEQ_LEN_Ginteger  := 1
 
CLK_COR_SEQ_2_1_Gbit_vector  :=   "0100000000"
 
out rxDataOutslv(   RX_EXT_DATA_WIDTH_G- 1 downto  0)  
 
TX_BUF_EN_Gboolean  :=   true
 
FIXED_COMMA_EN_Gslv( 3 downto  0)  :=   "0011"
 
out GTTXRESETstd_logic  := '0'
 
in txDataInslv(   TX_EXT_DATA_WIDTH_G- 1 downto  0)  
 
RXCDR_CFG_Gbit_vector  := x"0000107FE206001041010"
 
in rxMmcmLockedInsl  := '1'
 
in qPllRefClkInslv( 1 downto  0)  
 
out RX_FSM_RESET_DONEstd_logic  
 
in PHALIGNMENT_DONEstd_logic  
 
in PHALIGNMENT_DONEstd_logic  
 
in DLYSRESETDONEstd_logic  
 
ALIGN_PCOMMA_DET_Gstring  :=   "FALSE"
 
RX_OUTCLK_SRC_Gstring  :=   "PLLREFCLK"
 
CLK_COR_MAX_LAT_Ginteger  := 9
 
in gtRxRefClkBufgsl  := '0'
 
RX_ALIGN_MODE_Gstring  :=   "GT"
 
in txDiffCtrlslv( 3 downto  0)  :=   "1000"
 
out TXUSERRDYstd_logic  := '0'
 
in TXPMARESETDONEstd_logic  
 
CLK_COR_SEQ_1_1_Gbit_vector  :=   "0100000000"
 
out RXLPMHFHOLDstd_logic  := '0'
 
RX_CHAN_BOND_MASTER_Gboolean  :=   false
 
in drpAddrslv( 8 downto  0)  :=   "000000000"
 
CLK_COR_SEQ_1_ENABLE_Gbit_vector  :=   "1111"
 
RXSLIDE_MODE_Gstring  :=   "PCS"
 
CLK_COR_PRECEDENCE_Gstring  :=   "TRUE"
 
CLK_COR_SEQ_1_4_Gbit_vector  :=   "0000000000"
 
in rxChBondLevelInslv( 2 downto  0)  :=   "000"
 
CHAN_BOND_SEQ_2_4_Gbit_vector  :=   "0000000000"
 
RX_PLL0_USEDboolean  :=   false
 
out RXUSERRDYstd_logic  := '0'
 
FTS_LANE_DESKEW_CFG_Gbit_vector  :=   "1111"
 
in qPllClkInslv( 1 downto  0)  
 
CLK_COR_KEEP_IDLE_Gstring  :=   "FALSE"
 
REF_CLK_FREQ_Greal  := 125.0E6
 
RETRY_COUNTER_BITWIDTHinteger   range  2 to  8:= 8
 
ALIGN_PCOMMA_VALUE_Gbit_vector  :=   "0101111100"
 
RETRY_COUNTER_BITWIDTHinteger   range  2 to  8:= 8
 
RXLPM_INCM_CFG_Gbit  := '1'
 
CHAN_BOND_KEEP_ALIGN_Gstring  :=   "FALSE"
 
out PLL1_RESETstd_logic  := '0'
 
out PLL1_RESETstd_logic  := '0'
 
out rxDecErrOutslv((   RX_EXT_DATA_WIDTH_G/ 8)- 1 downto  0)  
 
out rxDispErrOutslv((   RX_EXT_DATA_WIDTH_G/ 8)- 1 downto  0)  
 
out RUN_PHALIGNMENTstd_logic  
 
CLK_COR_SEQ_2_3_Gbit_vector  :=   "0000000000"
 
FIXED_ALIGN_COMMA_3_Gslv  :=   "XXXXXXXXXXXXXXXXXXXX"
 
in loopbackInslv( 2 downto  0)  :=   "000"
 
DEC_MCOMMA_DETECT_Gstring  :=   "TRUE"
 
CHAN_BOND_SEQ_2_2_Gbit_vector  :=   "0000000000"
 
out RETRY_COUNTERstd_logic_vector(   RETRY_COUNTER_BITWIDTH- 1 downto  0)  :=( others => '0')
 
out RETRY_COUNTERstd_logic_vector(   RETRY_COUNTER_BITWIDTH- 1 downto  0)  :=( others => '0')
 
RX_USRCLK_SRC_Gstring  :=   "RXOUTCLK"
 
CHAN_BOND_MAX_SKEW_Ginteger  := 1
 
out RXLPMLFHOLDstd_logic  := '0'
 
COMMA_2_Gslv  :=   "XXXXXXXXXXXXXXXXXXXX"
 
ALIGN_MCOMMA_VALUE_Gbit_vector  :=   "1010000011"
 
CLK_COR_REPEAT_WAIT_Ginteger  := 0
 
SIMULATION_Gboolean  :=   false
 
in RECCLK_STABLEstd_logic  
 
TX_OUTCLK_SRC_Gstring  :=   "PLLREFCLK"
 
STABLE_CLOCK_PERIODinteger   range  4 to  20:= 8
 
out rxChBondOutslv( 3 downto  0)  
 
STABLE_CLOCK_PERIODinteger   range  4 to  20:= 8
 
in PLL1REFCLKLOSTstd_logic  
 
out GTRXRESET_OUTstd_logic  
 
in PLL1REFCLKLOSTstd_logic  
 
out PLL0_RESETstd_logic  := '0'
 
out PLL0_RESETstd_logic  := '0'
 
CHAN_BOND_SEQ_1_ENABLE_Gbit_vector  :=   "1111"
 
CLK_COR_SEQ_2_ENABLE_Gbit_vector  :=   "0000"
 
FIXED_ALIGN_COMMA_2_Gslv  :=   "XXXXXXXXXXXXXXXXXXXX"
 
RXLPM_IPCM_CFG_Gbit  := '0'
 
CHAN_BOND_SEQ_1_4_Gbit_vector  :=   "0000000000"
 
gtpe2_channel gtpe2_igtpe2_i
 
CLK_COR_SEQ_1_3_Gbit_vector  :=   "0000000000"
 
RX_BUF_EN_Gboolean  :=   true
 
STABLE_CLOCK_PERIOD_Greal  := 4.0E-9
 
CHAN_BOND_SEQ_1_2_Gbit_vector  :=   "0000000000"
 
CHAN_BOND_SEQ_2_USE_Gstring  :=   "FALSE"
 
SIMULATION_Gboolean  :=   false
 
in RECCLK_MONITOR_RESTARTstd_logic  := '0'
 
PMA_RSV_Gbit_vector  := x"00000333"
 
out PHASE_ALIGNMENT_DONEstd_logic  := '0'
 
in txPreCursorslv( 4 downto  0)  :=( others => '0')
 
TX_8B10B_EN_Gboolean  :=   true
 
RX_INT_DATA_WIDTH_Ginteger  := 20
 
CLK_COR_SEQ_2_2_Gbit_vector  :=   "0000000000"
 
RX_CLK25_DIV_Ginteger  := 5
 
out RXDFELFHOLDstd_logic  := '0'
 
SHOW_REALIGN_COMMA_Gstring  :=   "FALSE"
 
RX_8B10B_EN_Gboolean  :=   true
 
ALIGN_PCOMMA_EN_Gsl  := '0'
 
in RXPMARESETDONEstd_logic