liteeth/phy/1000basex: Avoid splitting transceiver instance since no longer useful with current Python version.

This commit is contained in:
Florent Kermarrec 2024-12-12 14:17:23 +01:00
parent 99d4073c6a
commit 0685079333
5 changed files with 765 additions and 787 deletions

View File

@ -341,9 +341,8 @@ class K7_1000BASEX(LiteXModule):
p_RX_DFE_XYD_CFG = 0b0000000000000,
# TX Configurable Driver Attributes
p_TX_PREDRIVER_MODE = 0b0
)
gtx_params.update(
p_TX_PREDRIVER_MODE = 0b0,
# CPLL Ports
o_CPLLFBCLKLOST = Open(),
o_CPLLLOCK = pll.lock,

View File

@ -200,8 +200,6 @@ class KU_1000BASEX(LiteXModule):
p_PROCESS_PAR = 0b010,
p_RATE_SW_USE_DRP = 0b1,
p_RESET_POWERSAVE_DISABLE = 0b0,
)
gth_params.update(
p_RXBUFRESET_TIME = 0b00011,
p_RXBUF_ADDR_MODE = "FAST",
p_RXBUF_EIDLE_HI_CNT = 0b1000,
@ -370,341 +368,336 @@ class KU_1000BASEX(LiteXModule):
p_RX_TUNE_AFE_OS = 0b10,
p_RX_WIDEMODE_CDR = 0b0,
p_RX_XCLK_SEL = "RXDES",
)
gth_params.update(
p_SAS_MAX_COM = 64,
p_SAS_MIN_COM = 36,
p_SATA_BURST_SEQ_LEN = 0b1110,
p_SATA_CPLL_CFG = "VCO_3000MHZ",
p_SATA_MAX_BURST = 8,
p_SATA_MAX_INIT = 21,
p_SATA_MAX_WAKE = 7,
p_SATA_MIN_BURST = 4,
p_SATA_MIN_INIT = 12,
p_SATA_MIN_WAKE = 4,
p_SHOW_REALIGN_COMMA = "FALSE",
p_SIM_RECEIVER_DETECT_PASS = "TRUE",
p_SIM_RESET_SPEEDUP = "TRUE",
p_SIM_TX_EIDLE_DRIVE_LEVEL = 0b0,
p_SIM_VERSION = 2,
p_TAPDLY_SET_TX = 0b00,
p_TEMPERATUR_PAR = 0b0010,
p_TERM_RCAL_CFG = 0b100001000010000,
p_TERM_RCAL_OVRD = 0b000,
p_TRANS_TIME_RATE = 0b00001110,
p_TST_RSV0 = 0b00000000,
p_TST_RSV1 = 0b00000000,
p_TXBUF_EN = "TRUE",
p_TXBUF_RESET_ON_RATE_CHANGE = "TRUE",
p_TXDLY_CFG = 0b0000000000001001,
p_TXDLY_LCFG = 0b0000000001010000,
p_TXDRVBIAS_N = 0b1010,
p_TXDRVBIAS_P = 0b1010,
p_TXFIFO_ADDR_CFG = "LOW",
p_TXGBOX_FIFO_INIT_RD_ADDR = 4,
p_TXGEARBOX_EN = "FALSE",
p_SAS_MAX_COM = 64,
p_SAS_MIN_COM = 36,
p_SATA_BURST_SEQ_LEN = 0b1110,
p_SATA_CPLL_CFG = "VCO_3000MHZ",
p_SATA_MAX_BURST = 8,
p_SATA_MAX_INIT = 21,
p_SATA_MAX_WAKE = 7,
p_SATA_MIN_BURST = 4,
p_SATA_MIN_INIT = 12,
p_SATA_MIN_WAKE = 4,
p_SHOW_REALIGN_COMMA = "FALSE",
p_SIM_RECEIVER_DETECT_PASS = "TRUE",
p_SIM_RESET_SPEEDUP = "TRUE",
p_SIM_TX_EIDLE_DRIVE_LEVEL = 0b0,
p_SIM_VERSION = 2,
p_TAPDLY_SET_TX = 0b00,
p_TEMPERATUR_PAR = 0b0010,
p_TERM_RCAL_CFG = 0b100001000010000,
p_TERM_RCAL_OVRD = 0b000,
p_TRANS_TIME_RATE = 0b00001110,
p_TST_RSV0 = 0b00000000,
p_TST_RSV1 = 0b00000000,
p_TXBUF_EN = "TRUE",
p_TXBUF_RESET_ON_RATE_CHANGE = "TRUE",
p_TXDLY_CFG = 0b0000000000001001,
p_TXDLY_LCFG = 0b0000000001010000,
p_TXDRVBIAS_N = 0b1010,
p_TXDRVBIAS_P = 0b1010,
p_TXFIFO_ADDR_CFG = "LOW",
p_TXGBOX_FIFO_INIT_RD_ADDR = 4,
p_TXGEARBOX_EN = "FALSE",
p_TXOUT_DIV = pll.config["d"],
p_TXPCSRESET_TIME = 0b00011,
p_TXPHDLY_CFG0 = 0b0010000000100000,
p_TXPHDLY_CFG1 = 0b0000000001110101,
p_TXPH_CFG = 0b0000100110000000,
p_TXPH_MONITOR_SEL = 0b00000,
p_TXPI_CFG0 = 0b01,
p_TXPI_CFG1 = 0b01,
p_TXPI_CFG2 = 0b01,
p_TXPI_CFG3 = 0b1,
p_TXPI_CFG4 = 0b1,
p_TXPI_CFG5 = 0b011,
p_TXPI_GRAY_SEL = 0b0,
p_TXPI_INVSTROBE_SEL = 0b0,
p_TXPI_LPM = 0b0,
p_TXPI_PPMCLK_SEL = "TXUSRCLK2",
p_TXPI_PPM_CFG = 0b00000000,
p_TXPI_SYNFREQ_PPM = 0b001,
p_TXPI_VREFSEL = 0b0,
p_TXPMARESET_TIME = 0b00011,
p_TXSYNC_MULTILANE = 0b0,
p_TXSYNC_OVRD = 0b0,
p_TXSYNC_SKIP_DA = 0b0,
p_TX_CLK25_DIV = {200e6: 8, 156.25e6: 7}[refclk_freq],
p_TX_CLKMUX_EN = 0b1,
p_TX_DATA_WIDTH = 20,
p_TX_DCD_CFG = 0b000010,
p_TX_DCD_EN = 0b0,
p_TX_DEEMPH0 = 0b000000,
p_TX_DEEMPH1 = 0b000000,
p_TX_DIVRESET_TIME = 0b00001,
p_TX_DRIVE_MODE = "DIRECT",
p_TX_EIDLE_ASSERT_DELAY = 0b100,
p_TX_EIDLE_DEASSERT_DELAY = 0b011,
p_TX_EML_PHI_TUNE = 0b0,
p_TX_FABINT_USRCLK_FLOP = 0b0,
p_TX_IDLE_DATA_ZERO = 0b0,
p_TX_INT_DATAWIDTH = 0,
p_TX_LOOPBACK_DRIVE_HIZ = "FALSE",
p_TX_MAINCURSOR_SEL = 0b0,
p_TX_MARGIN_FULL_0 = 0b1001111,
p_TX_MARGIN_FULL_1 = 0b1001110,
p_TX_MARGIN_FULL_2 = 0b1001100,
p_TX_MARGIN_FULL_3 = 0b1001010,
p_TX_MARGIN_FULL_4 = 0b1001000,
p_TX_MARGIN_LOW_0 = 0b1000110,
p_TX_MARGIN_LOW_1 = 0b1000101,
p_TX_MARGIN_LOW_2 = 0b1000011,
p_TX_MARGIN_LOW_3 = 0b1000010,
p_TX_MARGIN_LOW_4 = 0b1000000,
p_TX_MODE_SEL = 0b000,
p_TX_PMADATA_OPT = 0b0,
p_TX_PMA_POWER_SAVE = 0b0,
p_TX_PROGCLK_SEL = "CPLL",
p_TXPCSRESET_TIME = 0b00011,
p_TXPHDLY_CFG0 = 0b0010000000100000,
p_TXPHDLY_CFG1 = 0b0000000001110101,
p_TXPH_CFG = 0b0000100110000000,
p_TXPH_MONITOR_SEL = 0b00000,
p_TXPI_CFG0 = 0b01,
p_TXPI_CFG1 = 0b01,
p_TXPI_CFG2 = 0b01,
p_TXPI_CFG3 = 0b1,
p_TXPI_CFG4 = 0b1,
p_TXPI_CFG5 = 0b011,
p_TXPI_GRAY_SEL = 0b0,
p_TXPI_INVSTROBE_SEL = 0b0,
p_TXPI_LPM = 0b0,
p_TXPI_PPMCLK_SEL = "TXUSRCLK2",
p_TXPI_PPM_CFG = 0b00000000,
p_TXPI_SYNFREQ_PPM = 0b001,
p_TXPI_VREFSEL = 0b0,
p_TXPMARESET_TIME = 0b00011,
p_TXSYNC_MULTILANE = 0b0,
p_TXSYNC_OVRD = 0b0,
p_TXSYNC_SKIP_DA = 0b0,
p_TX_CLK25_DIV = {200e6: 8, 156.25e6: 7}[refclk_freq],
p_TX_CLKMUX_EN = 0b1,
p_TX_DATA_WIDTH = 20,
p_TX_DCD_CFG = 0b000010,
p_TX_DCD_EN = 0b0,
p_TX_DEEMPH0 = 0b000000,
p_TX_DEEMPH1 = 0b000000,
p_TX_DIVRESET_TIME = 0b00001,
p_TX_DRIVE_MODE = "DIRECT",
p_TX_EIDLE_ASSERT_DELAY = 0b100,
p_TX_EIDLE_DEASSERT_DELAY = 0b011,
p_TX_EML_PHI_TUNE = 0b0,
p_TX_FABINT_USRCLK_FLOP = 0b0,
p_TX_IDLE_DATA_ZERO = 0b0,
p_TX_INT_DATAWIDTH = 0,
p_TX_LOOPBACK_DRIVE_HIZ = "FALSE",
p_TX_MAINCURSOR_SEL = 0b0,
p_TX_MARGIN_FULL_0 = 0b1001111,
p_TX_MARGIN_FULL_1 = 0b1001110,
p_TX_MARGIN_FULL_2 = 0b1001100,
p_TX_MARGIN_FULL_3 = 0b1001010,
p_TX_MARGIN_FULL_4 = 0b1001000,
p_TX_MARGIN_LOW_0 = 0b1000110,
p_TX_MARGIN_LOW_1 = 0b1000101,
p_TX_MARGIN_LOW_2 = 0b1000011,
p_TX_MARGIN_LOW_3 = 0b1000010,
p_TX_MARGIN_LOW_4 = 0b1000000,
p_TX_MODE_SEL = 0b000,
p_TX_PMADATA_OPT = 0b0,
p_TX_PMA_POWER_SAVE = 0b0,
p_TX_PROGCLK_SEL = "CPLL",
p_TX_PROGDIV_CFG = {
1.25e9 : 20.0*pll.config["d"]/4,
3.125e9 : 10.0*pll.config["d"]/4,
}[self.linerate],
p_TX_QPI_STATUS_EN = 0b0,
p_TX_RXDETECT_CFG = 0b00000000110010,
p_TX_RXDETECT_REF = 0b100,
p_TX_SAMPLE_PERIOD = 0b111,
p_TX_SARC_LPBK_ENB = 0b0,
p_TX_XCLK_SEL = "TXOUT",
p_USE_PCS_CLK_PHASE_SEL = 0b0,
p_WB_MODE = 0b00,
)
gth_params.update(
i_CFGRESET = 0b0,
i_CLKRSVD0 = 0b0,
i_CLKRSVD1 = 0b0,
i_CPLLLOCKDETCLK = 0b0,
i_CPLLLOCKEN = 0b1,
i_CPLLPD = pll_reset,
i_CPLLREFCLKSEL = 0b001,
i_CPLLRESET = 0b0,
i_DMONFIFORESET = 0b0,
i_DMONITORCLK = 0b0,
i_DRPADDR = 0b000000000,
i_DRPCLK = 0b0,
i_DRPDI = 0b0000000000000000,
i_DRPEN = 0b0,
i_DRPWE = 0b0,
i_EVODDPHICALDONE = 0b0,
i_EVODDPHICALSTART = 0b0,
i_EVODDPHIDRDEN = 0b0,
i_EVODDPHIDWREN = 0b0,
i_EVODDPHIXRDEN = 0b0,
i_EVODDPHIXWREN = 0b0,
i_EYESCANMODE = 0b0,
i_EYESCANRESET = 0b0,
i_EYESCANTRIGGER = 0b0,
i_GTGREFCLK = 0b0,
i_GTHRXN = data_pads.rxn,
i_GTHRXP = data_pads.rxp,
i_GTNORTHREFCLK0 = 0b0,
i_GTNORTHREFCLK1 = 0b0,
i_GTREFCLK0 = refclk,
i_GTREFCLK1 = 0b0,
i_GTRESETSEL = 0b0,
i_GTRSVD = 0b0000000000000000,
i_GTRXRESET = rx_reset,
i_GTSOUTHREFCLK0 = 0b0,
i_GTSOUTHREFCLK1 = 0b0,
i_GTTXRESET = tx_reset,
i_LOOPBACK = 0b000,
i_LPBKRXTXSEREN = 0b0,
i_LPBKTXRXSEREN = 0b0,
i_PCIEEQRXEQADAPTDONE = 0b0,
i_PCIERSTIDLE = 0b0,
i_PCIERSTTXSYNCSTART = 0b0,
i_PCIEUSERRATEDONE = 0b0,
i_PCSRSVDIN2 = 0b00000,
i_PCSRSVDIN = 0b0000000000000000,
i_PMARSVDIN = 0b00000,
i_QPLL0CLK = 0b0,
i_QPLL0REFCLK = 0b0,
i_QPLL1CLK = 0b0,
i_QPLL1REFCLK = 0b0,
i_RESETOVRD = 0b0,
i_RSTCLKENTX = 0b0,
i_RX8B10BEN = 0b0,
i_RXBUFRESET = 0b0,
i_RXCDRFREQRESET = 0b0,
i_RXCDRHOLD = 0b0,
i_RXCDROVRDEN = 0b0,
i_RXCDRRESETRSV = 0b0,
i_RXCDRRESET = 0b0,
i_RXCHBONDEN = 0b0,
i_RXCHBONDI = 0b00000,
i_RXCHBONDLEVEL = 0b000,
i_RXCHBONDMASTER = 0b0,
i_RXCHBONDSLAVE = 0b0,
i_RXCOMMADETEN = 0b1,
i_RXDFEAGCCTRL = 0b01,
i_RXDFEAGCHOLD = 0b0,
i_RXDFEAGCOVRDEN = 0b0,
i_RXDFELFHOLD = 0b0,
i_RXDFELFOVRDEN = 0b0,
i_RXDFELPMRESET = 0b0,
i_RXDFETAP10HOLD = 0b0,
i_RXDFETAP10OVRDEN = 0b0,
i_RXDFETAP11HOLD = 0b0,
i_RXDFETAP11OVRDEN = 0b0,
i_RXDFETAP12HOLD = 0b0,
i_RXDFETAP12OVRDEN = 0b0,
i_RXDFETAP13HOLD = 0b0,
i_RXDFETAP13OVRDEN = 0b0,
i_RXDFETAP14HOLD = 0b0,
i_RXDFETAP14OVRDEN = 0b0,
i_RXDFETAP15HOLD = 0b0,
i_RXDFETAP15OVRDEN = 0b0,
i_RXDFETAP2HOLD = 0b0,
i_RXDFETAP2OVRDEN = 0b0,
i_RXDFETAP3HOLD = 0b0,
i_RXDFETAP3OVRDEN = 0b0,
i_RXDFETAP4HOLD = 0b0,
i_RXDFETAP4OVRDEN = 0b0,
i_RXDFETAP5HOLD = 0b0,
i_RXDFETAP5OVRDEN = 0b0,
i_RXDFETAP6HOLD = 0b0,
i_RXDFETAP6OVRDEN = 0b0,
i_RXDFETAP7HOLD = 0b0,
i_RXDFETAP7OVRDEN = 0b0,
i_RXDFETAP8HOLD = 0b0,
i_RXDFETAP8OVRDEN = 0b0,
i_RXDFETAP9HOLD = 0b0,
i_RXDFETAP9OVRDEN = 0b0,
i_RXDFEUTHOLD = 0b0,
i_RXDFEUTOVRDEN = 0b0,
i_RXDFEVPHOLD = 0b0,
i_RXDFEVPOVRDEN = 0b0,
i_RXDFEVSEN = 0b0,
i_RXDFEXYDEN = 0b1,
i_RXDLYBYPASS = 0b1,
i_RXDLYEN = 0b0,
i_RXDLYOVRDEN = 0b0,
i_RXDLYSRESET = 0b0,
i_RXELECIDLEMODE = 0b11,
i_RXGEARBOXSLIP = 0b0,
i_RXLATCLK = 0b0,
i_RXLPMEN = 0b1,
i_RXLPMGCHOLD = 0b0,
i_RXLPMGCOVRDEN = 0b0,
i_RXLPMHFHOLD = 0b0,
i_RXLPMHFOVRDEN = 0b0,
i_RXLPMLFHOLD = 0b0,
i_RXLPMLFKLOVRDEN = 0b0,
i_RXLPMOSHOLD = 0b0,
i_RXLPMOSOVRDEN = 0b0,
i_RXMCOMMAALIGNEN = pcs.align,
i_RXMONITORSEL = 0b00,
i_RXOOBRESET = 0b0,
i_RXOSCALRESET = 0b0,
i_RXOSHOLD = 0b0,
i_RXOSINTCFG = 0b1101,
i_RXOSINTEN = 0b1,
i_RXOSINTHOLD = 0b0,
i_RXOSINTOVRDEN = 0b0,
i_RXOSINTSTROBE = 0b0,
i_RXOSINTTESTOVRDEN = 0b0,
i_RXOSOVRDEN = 0b0,
i_RXOUTCLKSEL = 0b101,
i_RXPCOMMAALIGNEN = pcs.align,
i_RXPCSRESET = 0b0,
i_RXPD = 0b00,
i_RXPHALIGNEN = 0b0,
i_RXPHALIGN = 0b0,
i_RXPHDLYPD = 0b1,
i_RXPHDLYRESET = 0b0,
i_RXPHOVRDEN = 0b0,
i_RXPLLCLKSEL = 0b00,
i_RXPMARESET = 0b0,
i_RXPOLARITY = rx_polarity,
i_RXPRBSCNTRESET = 0b0,
i_RXPRBSSEL = 0b0000,
i_RXPROGDIVRESET = 0b0,
i_RXQPIEN = 0b0,
i_RXRATEMODE = 0b0,
i_RXRATE = 0b000,
i_RXSLIDE = 0b0,
i_RXSLIPOUTCLK = 0b0,
i_RXSLIPPMA = 0b0,
i_RXSYNCALLIN = 0b0,
i_RXSYNCIN = 0b0,
i_RXSYNCMODE = 0b0,
i_RXSYSCLKSEL = 0b00,
i_RXUSERRDY = 0b1,
i_RXUSRCLK2 = ClockSignal("eth_rx_half"),
i_RXUSRCLK = ClockSignal("eth_rx_half"),
i_SIGVALIDCLK = 0b0,
i_TSTIN = 0b00000000000000000000,
i_TX8B10BBYPASS = 0b00000000,
i_TX8B10BEN = 0b0,
i_TXBUFDIFFCTRL = 0b000,
i_TXCOMINIT = 0b0,
i_TXCOMSAS = 0b0,
i_TXCOMWAKE = 0b0,
i_TXCTRL0 = Cat(*[tx_data[10*i+8] for i in range(2)]),
i_TXCTRL1 = Cat(*[tx_data[10*i+9] for i in range(2)]),
i_TXCTRL2 = 0b00000000,
i_TXDATAEXTENDRSVD = 0b00000000,
i_TXDATA = Cat(*[tx_data[10*i:10*i+8] for i in range(2)]),
i_TXDEEMPH = 0b0,
i_TXDETECTRX = 0b0,
i_TXDIFFCTRL = 0b1100,
i_TXDIFFPD = 0b0,
i_TXDLYBYPASS = 0b1,
i_TXDLYEN = 0b0,
i_TXDLYHOLD = 0b0,
i_TXDLYOVRDEN = 0b0,
i_TXDLYSRESET = 0b0,
i_TXDLYUPDOWN = 0b0,
i_TXELECIDLE = 0b0,
i_TXHEADER = 0b000000,
i_TXINHIBIT = 0b0,
i_TXLATCLK = 0b0,
i_TXMAINCURSOR = 0b1000000,
i_TXMARGIN = 0b000,
i_TXOUTCLKSEL = 0b101,
i_TXPCSRESET = 0b0,
i_TXPDELECIDLEMODE = 0b0,
i_TXPD = 0b00,
i_TXPHALIGNEN = 0b0,
i_TXPHALIGN = 0b0,
i_TXPHDLYPD = 0b1,
i_TXPHDLYRESET = 0b0,
i_TXPHDLYTSTCLK = 0b0,
i_TXPHINIT = 0b0,
i_TXPHOVRDEN = 0b0,
i_TXPIPPMEN = 0b0,
i_TXPIPPMOVRDEN = 0b0,
i_TXPIPPMPD = 0b0,
i_TXPIPPMSEL = 0b0,
i_TXPIPPMSTEPSIZE = 0b00000,
i_TXPISOPD = 0b0,
i_TXPLLCLKSEL = 0b00,
i_TXPMARESET = 0b0,
i_TXPOLARITY = tx_polarity,
i_TXPOSTCURSORINV = 0b0,
i_TXPOSTCURSOR = 0b00000,
i_TXPRBSFORCEERR = 0b0,
i_TXPRBSSEL = 0b0000,
i_TXPRECURSORINV = 0b0,
i_TXPRECURSOR = 0b00000,
i_TXPROGDIVRESET = 0b0,
i_TXQPIBIASEN = 0b0,
i_TXQPISTRONGPDOWN = 0b0,
i_TXQPIWEAKPUP = 0b0,
i_TXRATEMODE = 0b0,
i_TXRATE = 0b000,
i_TXSEQUENCE = 0b0000000,
i_TXSWING = 0b0,
i_TXSYNCALLIN = 0b0,
i_TXSYNCIN = 0b0,
i_TXSYNCMODE = 0b0,
i_TXSYSCLKSEL = 0b00,
i_TXUSERRDY = 0b1,
i_TXUSRCLK2 = ClockSignal("eth_tx_half"),
i_TXUSRCLK = ClockSignal("eth_tx_half"),
)
gth_params.update(
p_TX_QPI_STATUS_EN = 0b0,
p_TX_RXDETECT_CFG = 0b00000000110010,
p_TX_RXDETECT_REF = 0b100,
p_TX_SAMPLE_PERIOD = 0b111,
p_TX_SARC_LPBK_ENB = 0b0,
p_TX_XCLK_SEL = "TXOUT",
p_USE_PCS_CLK_PHASE_SEL = 0b0,
p_WB_MODE = 0b00,
i_CFGRESET = 0b0,
i_CLKRSVD0 = 0b0,
i_CLKRSVD1 = 0b0,
i_CPLLLOCKDETCLK = 0b0,
i_CPLLLOCKEN = 0b1,
i_CPLLPD = pll_reset,
i_CPLLREFCLKSEL = 0b001,
i_CPLLRESET = 0b0,
i_DMONFIFORESET = 0b0,
i_DMONITORCLK = 0b0,
i_DRPADDR = 0b000000000,
i_DRPCLK = 0b0,
i_DRPDI = 0b0000000000000000,
i_DRPEN = 0b0,
i_DRPWE = 0b0,
i_EVODDPHICALDONE = 0b0,
i_EVODDPHICALSTART = 0b0,
i_EVODDPHIDRDEN = 0b0,
i_EVODDPHIDWREN = 0b0,
i_EVODDPHIXRDEN = 0b0,
i_EVODDPHIXWREN = 0b0,
i_EYESCANMODE = 0b0,
i_EYESCANRESET = 0b0,
i_EYESCANTRIGGER = 0b0,
i_GTGREFCLK = 0b0,
i_GTHRXN = data_pads.rxn,
i_GTHRXP = data_pads.rxp,
i_GTNORTHREFCLK0 = 0b0,
i_GTNORTHREFCLK1 = 0b0,
i_GTREFCLK0 = refclk,
i_GTREFCLK1 = 0b0,
i_GTRESETSEL = 0b0,
i_GTRSVD = 0b0000000000000000,
i_GTRXRESET = rx_reset,
i_GTSOUTHREFCLK0 = 0b0,
i_GTSOUTHREFCLK1 = 0b0,
i_GTTXRESET = tx_reset,
i_LOOPBACK = 0b000,
i_LPBKRXTXSEREN = 0b0,
i_LPBKTXRXSEREN = 0b0,
i_PCIEEQRXEQADAPTDONE = 0b0,
i_PCIERSTIDLE = 0b0,
i_PCIERSTTXSYNCSTART = 0b0,
i_PCIEUSERRATEDONE = 0b0,
i_PCSRSVDIN2 = 0b00000,
i_PCSRSVDIN = 0b0000000000000000,
i_PMARSVDIN = 0b00000,
i_QPLL0CLK = 0b0,
i_QPLL0REFCLK = 0b0,
i_QPLL1CLK = 0b0,
i_QPLL1REFCLK = 0b0,
i_RESETOVRD = 0b0,
i_RSTCLKENTX = 0b0,
i_RX8B10BEN = 0b0,
i_RXBUFRESET = 0b0,
i_RXCDRFREQRESET = 0b0,
i_RXCDRHOLD = 0b0,
i_RXCDROVRDEN = 0b0,
i_RXCDRRESETRSV = 0b0,
i_RXCDRRESET = 0b0,
i_RXCHBONDEN = 0b0,
i_RXCHBONDI = 0b00000,
i_RXCHBONDLEVEL = 0b000,
i_RXCHBONDMASTER = 0b0,
i_RXCHBONDSLAVE = 0b0,
i_RXCOMMADETEN = 0b1,
i_RXDFEAGCCTRL = 0b01,
i_RXDFEAGCHOLD = 0b0,
i_RXDFEAGCOVRDEN = 0b0,
i_RXDFELFHOLD = 0b0,
i_RXDFELFOVRDEN = 0b0,
i_RXDFELPMRESET = 0b0,
i_RXDFETAP10HOLD = 0b0,
i_RXDFETAP10OVRDEN = 0b0,
i_RXDFETAP11HOLD = 0b0,
i_RXDFETAP11OVRDEN = 0b0,
i_RXDFETAP12HOLD = 0b0,
i_RXDFETAP12OVRDEN = 0b0,
i_RXDFETAP13HOLD = 0b0,
i_RXDFETAP13OVRDEN = 0b0,
i_RXDFETAP14HOLD = 0b0,
i_RXDFETAP14OVRDEN = 0b0,
i_RXDFETAP15HOLD = 0b0,
i_RXDFETAP15OVRDEN = 0b0,
i_RXDFETAP2HOLD = 0b0,
i_RXDFETAP2OVRDEN = 0b0,
i_RXDFETAP3HOLD = 0b0,
i_RXDFETAP3OVRDEN = 0b0,
i_RXDFETAP4HOLD = 0b0,
i_RXDFETAP4OVRDEN = 0b0,
i_RXDFETAP5HOLD = 0b0,
i_RXDFETAP5OVRDEN = 0b0,
i_RXDFETAP6HOLD = 0b0,
i_RXDFETAP6OVRDEN = 0b0,
i_RXDFETAP7HOLD = 0b0,
i_RXDFETAP7OVRDEN = 0b0,
i_RXDFETAP8HOLD = 0b0,
i_RXDFETAP8OVRDEN = 0b0,
i_RXDFETAP9HOLD = 0b0,
i_RXDFETAP9OVRDEN = 0b0,
i_RXDFEUTHOLD = 0b0,
i_RXDFEUTOVRDEN = 0b0,
i_RXDFEVPHOLD = 0b0,
i_RXDFEVPOVRDEN = 0b0,
i_RXDFEVSEN = 0b0,
i_RXDFEXYDEN = 0b1,
i_RXDLYBYPASS = 0b1,
i_RXDLYEN = 0b0,
i_RXDLYOVRDEN = 0b0,
i_RXDLYSRESET = 0b0,
i_RXELECIDLEMODE = 0b11,
i_RXGEARBOXSLIP = 0b0,
i_RXLATCLK = 0b0,
i_RXLPMEN = 0b1,
i_RXLPMGCHOLD = 0b0,
i_RXLPMGCOVRDEN = 0b0,
i_RXLPMHFHOLD = 0b0,
i_RXLPMHFOVRDEN = 0b0,
i_RXLPMLFHOLD = 0b0,
i_RXLPMLFKLOVRDEN = 0b0,
i_RXLPMOSHOLD = 0b0,
i_RXLPMOSOVRDEN = 0b0,
i_RXMCOMMAALIGNEN = pcs.align,
i_RXMONITORSEL = 0b00,
i_RXOOBRESET = 0b0,
i_RXOSCALRESET = 0b0,
i_RXOSHOLD = 0b0,
i_RXOSINTCFG = 0b1101,
i_RXOSINTEN = 0b1,
i_RXOSINTHOLD = 0b0,
i_RXOSINTOVRDEN = 0b0,
i_RXOSINTSTROBE = 0b0,
i_RXOSINTTESTOVRDEN = 0b0,
i_RXOSOVRDEN = 0b0,
i_RXOUTCLKSEL = 0b101,
i_RXPCOMMAALIGNEN = pcs.align,
i_RXPCSRESET = 0b0,
i_RXPD = 0b00,
i_RXPHALIGNEN = 0b0,
i_RXPHALIGN = 0b0,
i_RXPHDLYPD = 0b1,
i_RXPHDLYRESET = 0b0,
i_RXPHOVRDEN = 0b0,
i_RXPLLCLKSEL = 0b00,
i_RXPMARESET = 0b0,
i_RXPOLARITY = rx_polarity,
i_RXPRBSCNTRESET = 0b0,
i_RXPRBSSEL = 0b0000,
i_RXPROGDIVRESET = 0b0,
i_RXQPIEN = 0b0,
i_RXRATEMODE = 0b0,
i_RXRATE = 0b000,
i_RXSLIDE = 0b0,
i_RXSLIPOUTCLK = 0b0,
i_RXSLIPPMA = 0b0,
i_RXSYNCALLIN = 0b0,
i_RXSYNCIN = 0b0,
i_RXSYNCMODE = 0b0,
i_RXSYSCLKSEL = 0b00,
i_RXUSERRDY = 0b1,
i_RXUSRCLK2 = ClockSignal("eth_rx_half"),
i_RXUSRCLK = ClockSignal("eth_rx_half"),
i_SIGVALIDCLK = 0b0,
i_TSTIN = 0b00000000000000000000,
i_TX8B10BBYPASS = 0b00000000,
i_TX8B10BEN = 0b0,
i_TXBUFDIFFCTRL = 0b000,
i_TXCOMINIT = 0b0,
i_TXCOMSAS = 0b0,
i_TXCOMWAKE = 0b0,
i_TXCTRL0 = Cat(*[tx_data[10*i+8] for i in range(2)]),
i_TXCTRL1 = Cat(*[tx_data[10*i+9] for i in range(2)]),
i_TXCTRL2 = 0b00000000,
i_TXDATAEXTENDRSVD = 0b00000000,
i_TXDATA = Cat(*[tx_data[10*i:10*i+8] for i in range(2)]),
i_TXDEEMPH = 0b0,
i_TXDETECTRX = 0b0,
i_TXDIFFCTRL = 0b1100,
i_TXDIFFPD = 0b0,
i_TXDLYBYPASS = 0b1,
i_TXDLYEN = 0b0,
i_TXDLYHOLD = 0b0,
i_TXDLYOVRDEN = 0b0,
i_TXDLYSRESET = 0b0,
i_TXDLYUPDOWN = 0b0,
i_TXELECIDLE = 0b0,
i_TXHEADER = 0b000000,
i_TXINHIBIT = 0b0,
i_TXLATCLK = 0b0,
i_TXMAINCURSOR = 0b1000000,
i_TXMARGIN = 0b000,
i_TXOUTCLKSEL = 0b101,
i_TXPCSRESET = 0b0,
i_TXPDELECIDLEMODE = 0b0,
i_TXPD = 0b00,
i_TXPHALIGNEN = 0b0,
i_TXPHALIGN = 0b0,
i_TXPHDLYPD = 0b1,
i_TXPHDLYRESET = 0b0,
i_TXPHDLYTSTCLK = 0b0,
i_TXPHINIT = 0b0,
i_TXPHOVRDEN = 0b0,
i_TXPIPPMEN = 0b0,
i_TXPIPPMOVRDEN = 0b0,
i_TXPIPPMPD = 0b0,
i_TXPIPPMSEL = 0b0,
i_TXPIPPMSTEPSIZE = 0b00000,
i_TXPISOPD = 0b0,
i_TXPLLCLKSEL = 0b00,
i_TXPMARESET = 0b0,
i_TXPOLARITY = tx_polarity,
i_TXPOSTCURSORINV = 0b0,
i_TXPOSTCURSOR = 0b00000,
i_TXPRBSFORCEERR = 0b0,
i_TXPRBSSEL = 0b0000,
i_TXPRECURSORINV = 0b0,
i_TXPRECURSOR = 0b00000,
i_TXPROGDIVRESET = 0b0,
i_TXQPIBIASEN = 0b0,
i_TXQPISTRONGPDOWN = 0b0,
i_TXQPIWEAKPUP = 0b0,
i_TXRATEMODE = 0b0,
i_TXRATE = 0b000,
i_TXSEQUENCE = 0b0000000,
i_TXSWING = 0b0,
i_TXSYNCALLIN = 0b0,
i_TXSYNCIN = 0b0,
i_TXSYNCMODE = 0b0,
i_TXSYSCLKSEL = 0b00,
i_TXUSERRDY = 0b1,
i_TXUSRCLK2 = ClockSignal("eth_tx_half"),
i_TXUSRCLK = ClockSignal("eth_tx_half"),
o_BUFGTCE = Open(),
o_BUFGTCEMASK = Open(),
o_BUFGTDIV = Open(),

View File

@ -229,8 +229,6 @@ class USP_GTH_1000BASEX(LiteXModule):
p_PROCESS_PAR = 0b010,
p_RATE_SW_USE_DRP = 0b1,
p_RESET_POWERSAVE_DISABLE = 0b0,
)
gth_params.update(
p_RXBUFRESET_TIME = 0b00011,
p_RXBUF_ADDR_MODE = "FULL",
p_RXBUF_EIDLE_HI_CNT = 0b1000,
@ -560,214 +558,211 @@ class USP_GTH_1000BASEX(LiteXModule):
p_USB_U2_SAS_MIN_COM = 36,
p_USE_PCS_CLK_PHASE_SEL = 0b0,
p_Y_ALL_MODE = 0b0,
)
gth_params.update(
i_CFGRESET = 0b0,
i_CLKRSVD0 = 0b0,
i_CLKRSVD1 = 0b0,
i_CPLLLOCKDETCLK = 0b0,
i_CPLLLOCKEN = 0b1,
i_CPLLPD = pll_reset,
i_CPLLREFCLKSEL = 0b001,
i_CPLLRESET = 0b0,
i_DMONFIFORESET = 0b0,
i_DMONITORCLK = 0b0,
i_DRPADDR = 0b000000000,
i_DRPCLK = 0b0,
i_DRPDI = 0b0000000000000000,
i_DRPEN = 0b0,
i_DRPWE = 0b0,
i_EYESCANRESET = 0b0,
i_EYESCANTRIGGER = 0b0,
i_GTGREFCLK = refclk if refclk_from_fabric else 0b0,
i_GTHRXN = data_pads.rxn,
i_GTHRXP = data_pads.rxp,
i_GTNORTHREFCLK0 = 0b0,
i_GTNORTHREFCLK1 = 0b0,
i_GTREFCLK0 = refclk if not refclk_from_fabric else 0b0,
i_GTREFCLK1 = 0b0,
i_GTRSVD = 0b0000000000000000,
i_GTRXRESET = rx_reset,
i_GTSOUTHREFCLK0 = 0b0,
i_GTSOUTHREFCLK1 = 0b0,
i_GTTXRESET = tx_reset,
i_LOOPBACK = 0b000,
i_PCIEEQRXEQADAPTDONE = 0b0,
i_PCIERSTIDLE = 0b0,
i_PCIERSTTXSYNCSTART = 0b0,
i_PCIEUSERRATEDONE = 0b0,
i_QPLL0CLK = 0b0,
i_QPLL0REFCLK = 0b0,
i_QPLL1CLK = 0b0,
i_QPLL1REFCLK = 0b0,
i_RESETOVRD = 0b0,
i_RX8B10BEN = 0b0,
i_RXBUFRESET = 0b0,
i_RXCDRFREQRESET = 0b0,
i_RXCDRHOLD = 0b0,
i_RXCDROVRDEN = 0b0,
i_RXCDRRESET = 0b0,
i_RXCHBONDEN = 0b0,
i_RXCHBONDI = 0b00000,
i_RXCHBONDLEVEL = 0b000,
i_RXCHBONDMASTER = 0b0,
i_RXCHBONDSLAVE = 0b0,
i_RXCOMMADETEN = 0b1,
i_RXDFEAGCCTRL = 0b01,
i_RXDFEAGCHOLD = 0b0,
i_RXDFEAGCOVRDEN = 0b0,
i_RXDFELFHOLD = 0b0,
i_RXDFELFOVRDEN = 0b0,
i_RXDFELPMRESET = 0b0,
i_RXDFETAP10HOLD = 0b0,
i_RXDFETAP10OVRDEN = 0b0,
i_RXDFETAP11HOLD = 0b0,
i_RXDFETAP11OVRDEN = 0b0,
i_RXDFETAP12HOLD = 0b0,
i_RXDFETAP12OVRDEN = 0b0,
i_RXDFETAP13HOLD = 0b0,
i_RXDFETAP13OVRDEN = 0b0,
i_RXDFETAP14HOLD = 0b0,
i_RXDFETAP14OVRDEN = 0b0,
i_RXDFETAP15HOLD = 0b0,
i_RXDFETAP15OVRDEN = 0b0,
i_RXDFETAP2HOLD = 0b0,
i_RXDFETAP2OVRDEN = 0b0,
i_RXDFETAP3HOLD = 0b0,
i_RXDFETAP3OVRDEN = 0b0,
i_RXDFETAP4HOLD = 0b0,
i_RXDFETAP4OVRDEN = 0b0,
i_RXDFETAP5HOLD = 0b0,
i_RXDFETAP5OVRDEN = 0b0,
i_RXDFETAP6HOLD = 0b0,
i_RXDFETAP6OVRDEN = 0b0,
i_RXDFETAP7HOLD = 0b0,
i_RXDFETAP7OVRDEN = 0b0,
i_RXDFETAP8HOLD = 0b0,
i_RXDFETAP8OVRDEN = 0b0,
i_RXDFETAP9HOLD = 0b0,
i_RXDFETAP9OVRDEN = 0b0,
i_RXDFEUTHOLD = 0b0,
i_RXDFEUTOVRDEN = 0b0,
i_RXDFEVPHOLD = 0b0,
i_RXDFEVPOVRDEN = 0b0,
i_RXDFEXYDEN = 0b1,
i_RXDLYBYPASS = 0b1,
i_RXDLYEN = 0b0,
i_RXDLYOVRDEN = 0b0,
i_RXDLYSRESET = 0b0,
i_RXELECIDLEMODE = 0b11,
i_RXGEARBOXSLIP = 0b0,
i_RXLATCLK = 0b0,
i_RXLPMEN = 0b1,
i_RXLPMGCHOLD = 0b0,
i_RXLPMGCOVRDEN = 0b0,
i_RXLPMHFHOLD = 0b0,
i_RXLPMHFOVRDEN = 0b0,
i_RXLPMLFHOLD = 0b0,
i_RXLPMLFKLOVRDEN = 0b0,
i_RXLPMOSHOLD = 0b0,
i_RXLPMOSOVRDEN = 0b0,
i_RXMCOMMAALIGNEN = pcs.align,
i_RXMONITORSEL = 0b00,
i_RXOOBRESET = 0b0,
i_RXOSCALRESET = 0b0,
i_RXOSHOLD = 0b0,
i_RXOSOVRDEN = 0b0,
i_RXOUTCLKSEL = 0b101,
i_RXPCOMMAALIGNEN = pcs.align,
i_RXPCSRESET = 0b0,
i_RXPD = 0b00,
i_RXPHALIGNEN = 0b0,
i_RXPHALIGN = 0b0,
i_RXPHDLYPD = 0b1,
i_RXPHDLYRESET = 0b0,
i_RXPHOVRDEN = 0b0,
i_RXPLLCLKSEL = 0b00,
i_RXPMARESET = 0b0,
i_RXPOLARITY = rx_polarity,
i_RXPRBSCNTRESET = 0b0,
i_RXPRBSSEL = 0b0000,
i_RXPROGDIVRESET = 0b0,
i_RXQPIEN = 0b0,
i_RXRATEMODE = 0b0,
i_RXRATE = 0b000,
i_RXSLIDE = 0b0,
i_RXSLIPOUTCLK = 0b0,
i_RXSLIPPMA = 0b0,
i_RXSYNCALLIN = 0b0,
i_RXSYNCIN = 0b0,
i_RXSYNCMODE = 0b0,
i_RXSYSCLKSEL = 0b00,
i_RXUSERRDY = 0b1,
i_RXUSRCLK2 = ClockSignal("eth_rx_half"),
i_RXUSRCLK = ClockSignal("eth_rx_half"),
i_SIGVALIDCLK = 0b0,
i_TSTIN = 0b00000000000000000000,
i_TX8B10BBYPASS = 0b00000000,
i_TX8B10BEN = 0b0,
i_TXCOMINIT = 0b0,
i_TXCOMSAS = 0b0,
i_TXCOMWAKE = 0b0,
i_TXCTRL0 = Cat(*[tx_data[10*i+8] for i in range(2)]),
i_TXCTRL1 = Cat(*[tx_data[10*i+9] for i in range(2)]),
i_TXCTRL2 = 0b00000000,
i_TXDATAEXTENDRSVD = 0b00000000,
i_TXDATA = Cat(*[tx_data[10*i:10*i+8] for i in range(2)]),
i_TXDEEMPH = 0b0,
i_TXDETECTRX = 0b0,
i_TXDIFFCTRL = 0b1100,
i_TXDLYBYPASS = 0b1,
i_TXDLYEN = 0b0,
i_TXDLYHOLD = 0b0,
i_TXDLYOVRDEN = 0b0,
i_TXDLYSRESET = 0b0,
i_TXDLYUPDOWN = 0b0,
i_TXELECIDLE = 0b0,
i_TXHEADER = 0b000000,
i_TXINHIBIT = 0b0,
i_TXLATCLK = 0b0,
i_TXMAINCURSOR = 0b1000000,
i_TXMARGIN = 0b000,
i_TXOUTCLKSEL = 0b101,
i_TXPCSRESET = 0b0,
i_TXPDELECIDLEMODE = 0b0,
i_TXPD = 0b00,
i_TXPHALIGNEN = 0b0,
i_TXPHALIGN = 0b0,
i_TXPHDLYPD = 0b1,
i_TXPHDLYRESET = 0b0,
i_TXPHDLYTSTCLK = 0b0,
i_TXPHINIT = 0b0,
i_TXPHOVRDEN = 0b0,
i_TXPIPPMEN = 0b0,
i_TXPIPPMOVRDEN = 0b0,
i_TXPIPPMPD = 0b0,
i_TXPIPPMSEL = 0b0,
i_TXPIPPMSTEPSIZE = 0b00000,
i_TXPISOPD = 0b0,
i_TXPLLCLKSEL = 0b00,
i_TXPMARESET = 0b0,
i_TXPOLARITY = tx_polarity,
i_TXPRBSFORCEERR = 0b0,
i_TXPRBSSEL = 0b0000,
i_TXPRECURSOR = 0b00000,
i_TXPROGDIVRESET = 0b0,
i_TXQPIBIASEN = 0b0,
i_TXQPIWEAKPUP = 0b0,
i_TXRATEMODE = 0b0,
i_TXRATE = 0b000,
i_TXSEQUENCE = 0b0000000,
i_TXSWING = 0b0,
i_TXSYNCALLIN = 0b0,
i_TXSYNCIN = 0b0,
i_TXSYNCMODE = 0b0,
i_TXSYSCLKSEL = 0b00,
i_TXUSERRDY = 0b1,
i_TXUSRCLK2 = ClockSignal("eth_tx_half"),
i_TXUSRCLK = ClockSignal("eth_tx_half"),
)
gth_params.update(
i_CFGRESET = 0b0,
i_CLKRSVD0 = 0b0,
i_CLKRSVD1 = 0b0,
i_CPLLLOCKDETCLK = 0b0,
i_CPLLLOCKEN = 0b1,
i_CPLLPD = pll_reset,
i_CPLLREFCLKSEL = 0b001,
i_CPLLRESET = 0b0,
i_DMONFIFORESET = 0b0,
i_DMONITORCLK = 0b0,
i_DRPADDR = 0b000000000,
i_DRPCLK = 0b0,
i_DRPDI = 0b0000000000000000,
i_DRPEN = 0b0,
i_DRPWE = 0b0,
i_EYESCANRESET = 0b0,
i_EYESCANTRIGGER = 0b0,
i_GTGREFCLK = refclk if refclk_from_fabric else 0b0,
i_GTHRXN = data_pads.rxn,
i_GTHRXP = data_pads.rxp,
i_GTNORTHREFCLK0 = 0b0,
i_GTNORTHREFCLK1 = 0b0,
i_GTREFCLK0 = refclk if not refclk_from_fabric else 0b0,
i_GTREFCLK1 = 0b0,
i_GTRSVD = 0b0000000000000000,
i_GTRXRESET = rx_reset,
i_GTSOUTHREFCLK0 = 0b0,
i_GTSOUTHREFCLK1 = 0b0,
i_GTTXRESET = tx_reset,
i_LOOPBACK = 0b000,
i_PCIEEQRXEQADAPTDONE = 0b0,
i_PCIERSTIDLE = 0b0,
i_PCIERSTTXSYNCSTART = 0b0,
i_PCIEUSERRATEDONE = 0b0,
i_QPLL0CLK = 0b0,
i_QPLL0REFCLK = 0b0,
i_QPLL1CLK = 0b0,
i_QPLL1REFCLK = 0b0,
i_RESETOVRD = 0b0,
i_RX8B10BEN = 0b0,
i_RXBUFRESET = 0b0,
i_RXCDRFREQRESET = 0b0,
i_RXCDRHOLD = 0b0,
i_RXCDROVRDEN = 0b0,
i_RXCDRRESET = 0b0,
i_RXCHBONDEN = 0b0,
i_RXCHBONDI = 0b00000,
i_RXCHBONDLEVEL = 0b000,
i_RXCHBONDMASTER = 0b0,
i_RXCHBONDSLAVE = 0b0,
i_RXCOMMADETEN = 0b1,
i_RXDFEAGCCTRL = 0b01,
i_RXDFEAGCHOLD = 0b0,
i_RXDFEAGCOVRDEN = 0b0,
i_RXDFELFHOLD = 0b0,
i_RXDFELFOVRDEN = 0b0,
i_RXDFELPMRESET = 0b0,
i_RXDFETAP10HOLD = 0b0,
i_RXDFETAP10OVRDEN = 0b0,
i_RXDFETAP11HOLD = 0b0,
i_RXDFETAP11OVRDEN = 0b0,
i_RXDFETAP12HOLD = 0b0,
i_RXDFETAP12OVRDEN = 0b0,
i_RXDFETAP13HOLD = 0b0,
i_RXDFETAP13OVRDEN = 0b0,
i_RXDFETAP14HOLD = 0b0,
i_RXDFETAP14OVRDEN = 0b0,
i_RXDFETAP15HOLD = 0b0,
i_RXDFETAP15OVRDEN = 0b0,
i_RXDFETAP2HOLD = 0b0,
i_RXDFETAP2OVRDEN = 0b0,
i_RXDFETAP3HOLD = 0b0,
i_RXDFETAP3OVRDEN = 0b0,
i_RXDFETAP4HOLD = 0b0,
i_RXDFETAP4OVRDEN = 0b0,
i_RXDFETAP5HOLD = 0b0,
i_RXDFETAP5OVRDEN = 0b0,
i_RXDFETAP6HOLD = 0b0,
i_RXDFETAP6OVRDEN = 0b0,
i_RXDFETAP7HOLD = 0b0,
i_RXDFETAP7OVRDEN = 0b0,
i_RXDFETAP8HOLD = 0b0,
i_RXDFETAP8OVRDEN = 0b0,
i_RXDFETAP9HOLD = 0b0,
i_RXDFETAP9OVRDEN = 0b0,
i_RXDFEUTHOLD = 0b0,
i_RXDFEUTOVRDEN = 0b0,
i_RXDFEVPHOLD = 0b0,
i_RXDFEVPOVRDEN = 0b0,
i_RXDFEXYDEN = 0b1,
i_RXDLYBYPASS = 0b1,
i_RXDLYEN = 0b0,
i_RXDLYOVRDEN = 0b0,
i_RXDLYSRESET = 0b0,
i_RXELECIDLEMODE = 0b11,
i_RXGEARBOXSLIP = 0b0,
i_RXLATCLK = 0b0,
i_RXLPMEN = 0b1,
i_RXLPMGCHOLD = 0b0,
i_RXLPMGCOVRDEN = 0b0,
i_RXLPMHFHOLD = 0b0,
i_RXLPMHFOVRDEN = 0b0,
i_RXLPMLFHOLD = 0b0,
i_RXLPMLFKLOVRDEN = 0b0,
i_RXLPMOSHOLD = 0b0,
i_RXLPMOSOVRDEN = 0b0,
i_RXMCOMMAALIGNEN = pcs.align,
i_RXMONITORSEL = 0b00,
i_RXOOBRESET = 0b0,
i_RXOSCALRESET = 0b0,
i_RXOSHOLD = 0b0,
i_RXOSOVRDEN = 0b0,
i_RXOUTCLKSEL = 0b101,
i_RXPCOMMAALIGNEN = pcs.align,
i_RXPCSRESET = 0b0,
i_RXPD = 0b00,
i_RXPHALIGNEN = 0b0,
i_RXPHALIGN = 0b0,
i_RXPHDLYPD = 0b1,
i_RXPHDLYRESET = 0b0,
i_RXPHOVRDEN = 0b0,
i_RXPLLCLKSEL = 0b00,
i_RXPMARESET = 0b0,
i_RXPOLARITY = rx_polarity,
i_RXPRBSCNTRESET = 0b0,
i_RXPRBSSEL = 0b0000,
i_RXPROGDIVRESET = 0b0,
i_RXQPIEN = 0b0,
i_RXRATEMODE = 0b0,
i_RXRATE = 0b000,
i_RXSLIDE = 0b0,
i_RXSLIPOUTCLK = 0b0,
i_RXSLIPPMA = 0b0,
i_RXSYNCALLIN = 0b0,
i_RXSYNCIN = 0b0,
i_RXSYNCMODE = 0b0,
i_RXSYSCLKSEL = 0b00,
i_RXUSERRDY = 0b1,
i_RXUSRCLK2 = ClockSignal("eth_rx_half"),
i_RXUSRCLK = ClockSignal("eth_rx_half"),
i_SIGVALIDCLK = 0b0,
i_TSTIN = 0b00000000000000000000,
i_TX8B10BBYPASS = 0b00000000,
i_TX8B10BEN = 0b0,
i_TXCOMINIT = 0b0,
i_TXCOMSAS = 0b0,
i_TXCOMWAKE = 0b0,
i_TXCTRL0 = Cat(*[tx_data[10*i+8] for i in range(2)]),
i_TXCTRL1 = Cat(*[tx_data[10*i+9] for i in range(2)]),
i_TXCTRL2 = 0b00000000,
i_TXDATAEXTENDRSVD = 0b00000000,
i_TXDATA = Cat(*[tx_data[10*i:10*i+8] for i in range(2)]),
i_TXDEEMPH = 0b0,
i_TXDETECTRX = 0b0,
i_TXDIFFCTRL = 0b1100,
i_TXDLYBYPASS = 0b1,
i_TXDLYEN = 0b0,
i_TXDLYHOLD = 0b0,
i_TXDLYOVRDEN = 0b0,
i_TXDLYSRESET = 0b0,
i_TXDLYUPDOWN = 0b0,
i_TXELECIDLE = 0b0,
i_TXHEADER = 0b000000,
i_TXINHIBIT = 0b0,
i_TXLATCLK = 0b0,
i_TXMAINCURSOR = 0b1000000,
i_TXMARGIN = 0b000,
i_TXOUTCLKSEL = 0b101,
i_TXPCSRESET = 0b0,
i_TXPDELECIDLEMODE = 0b0,
i_TXPD = 0b00,
i_TXPHALIGNEN = 0b0,
i_TXPHALIGN = 0b0,
i_TXPHDLYPD = 0b1,
i_TXPHDLYRESET = 0b0,
i_TXPHDLYTSTCLK = 0b0,
i_TXPHINIT = 0b0,
i_TXPHOVRDEN = 0b0,
i_TXPIPPMEN = 0b0,
i_TXPIPPMOVRDEN = 0b0,
i_TXPIPPMPD = 0b0,
i_TXPIPPMSEL = 0b0,
i_TXPIPPMSTEPSIZE = 0b00000,
i_TXPISOPD = 0b0,
i_TXPLLCLKSEL = 0b00,
i_TXPMARESET = 0b0,
i_TXPOLARITY = tx_polarity,
i_TXPRBSFORCEERR = 0b0,
i_TXPRBSSEL = 0b0000,
i_TXPRECURSOR = 0b00000,
i_TXPROGDIVRESET = 0b0,
i_TXQPIBIASEN = 0b0,
i_TXQPIWEAKPUP = 0b0,
i_TXRATEMODE = 0b0,
i_TXRATE = 0b000,
i_TXSEQUENCE = 0b0000000,
i_TXSWING = 0b0,
i_TXSYNCALLIN = 0b0,
i_TXSYNCIN = 0b0,
i_TXSYNCMODE = 0b0,
i_TXSYSCLKSEL = 0b00,
i_TXUSERRDY = 0b1,
i_TXUSRCLK2 = ClockSignal("eth_tx_half"),
i_TXUSRCLK = ClockSignal("eth_tx_half"),
o_BUFGTCE = Open(),
o_BUFGTCEMASK = Open(),
o_BUFGTDIV = Open(),

View File

@ -233,8 +233,6 @@ class USP_GTY_1000BASEX(LiteXModule):
p_PCIE_RXPMA_CFG = 0b0010100000001010,
p_PCIE_TXPCS_CFG_GEN3 = 0b0010110010100100,
p_PCIE_TXPMA_CFG = 0b0010100000001010,
)
gty_params.update(
p_PCS_PCIE_EN = "FALSE",
p_PCS_RSVD0 = 0b0000000000000000,
p_PD_TRANS_TIME_FROM_P2 = 0b000000111100,
@ -342,8 +340,6 @@ class USP_GTY_1000BASEX(LiteXModule):
p_RXDFE_UT_CFG2 = 0b0000000000000000,
p_RXDFE_VP_CFG0 = 0b0000000000000000,
p_RXDFE_VP_CFG1 = 0b0000000000110011,
)
gty_params.update(
p_RXDLY_CFG = 0b0000000000010000,
p_RXDLY_LCFG = 0b0000000000110000,
p_RXELECIDLE_CFG = "SIGCFG_4",
@ -574,242 +570,239 @@ class USP_GTY_1000BASEX(LiteXModule):
p_USB_U2_SAS_MAX_COM = 64,
p_USB_U2_SAS_MIN_COM = 36,
p_USE_PCS_CLK_PHASE_SEL = 0b0,
)
gty_params.update(
i_CDRSTEPDIR = 0b0,
i_CDRSTEPSQ = 0b0,
i_CDRSTEPSX = 0b0,
i_CFGRESET = 0b0,
i_CLKRSVD0 = 0b0,
i_CLKRSVD1 = 0b0,
i_CPLLFREQLOCK = 0b0,
i_CPLLLOCKDETCLK = 0b0,
i_CPLLLOCKEN = 0b1,
i_CPLLPD = pll_reset,
i_CPLLREFCLKSEL = 0b001,
i_CPLLRESET = 0b0,
i_DMONFIFORESET = 0b0,
i_DMONITORCLK = 0b0,
i_DRPADDR = 0b000000000,
i_DRPCLK = 0b0,
i_DRPDI = 0b0000000000000000,
i_DRPEN = 0b0,
i_DRPRST = 0b0,
i_DRPWE = 0b0,
i_EYESCANRESET = 0b0,
i_EYESCANTRIGGER = 0b0,
i_FREQOS = 0b0,
i_GTGREFCLK = refclk if refclk_from_fabric else 0b0,
i_GTNORTHREFCLK0 = 0b0,
i_GTNORTHREFCLK1 = 0b0,
i_GTREFCLK0 = refclk if not refclk_from_fabric else 0b0,
i_GTREFCLK1 = 0b0,
i_GTRSVD = 0b0,
i_GTRXRESET = rx_reset,
i_GTRXRESETSEL = 0b0,
i_GTSOUTHREFCLK0 = 0b0,
i_GTSOUTHREFCLK1 = 0b0,
i_GTTXRESET = tx_reset,
i_GTTXRESETSEL = 0b0,
i_GTYRXN = data_pads.rxn,
i_GTYRXP = data_pads.rxp,
i_INCPCTRL = 0b0,
i_LOOPBACK = 0b0,
i_PCIEEQRXEQADAPTDONE = 0b0,
i_PCIERSTIDLE = 0b0,
i_PCIERSTTXSYNCSTART = 0b0,
i_PCIEUSERRATEDONE = 0b0,
i_PCSRSVDIN = 0b0,
i_QPLL0CLK = 0b0,
i_QPLL0FREQLOCK = 0b0,
i_QPLL0REFCLK = 0b0,
i_QPLL1CLK = 0b0,
i_QPLL1FREQLOCK = 0b0,
i_QPLL1REFCLK = 0b0,
i_RESETOVRD = 0b0,
i_RX8B10BEN = 0b0,
i_RXAFECFOKEN = 0b0,
i_RXBUFRESET = 0b0,
i_RXCDRFREQRESET = 0b0,
i_RXCDRHOLD = 0b0,
i_RXCDROVRDEN = 0b0,
i_RXCDRRESET = 0b0,
i_RXCHBONDEN = 0b0,
i_RXCHBONDI = 0b0,
i_RXCHBONDLEVEL = 0b0,
i_RXCHBONDMASTER = 0b0,
i_RXCHBONDSLAVE = 0b0,
i_RXCKCALRESET = 0b0,
i_RXCKCALSTART = 0b0,
i_RXCOMMADETEN = 0b1,
i_RXDFEAGCHOLD = 0b0,
i_RXDFEAGCOVRDEN = 0b0,
i_RXDFECFOKFCNUM = 0b0,
i_RXDFECFOKFEN = 0b0,
i_RXDFECFOKFPULSE = 0b0,
i_RXDFECFOKHOLD = 0b0,
i_RXDFECFOKOVREN = 0b0,
i_RXDFEKHHOLD = 0b0,
i_RXDFEKHOVRDEN = 0b0,
i_RXDFELFHOLD = 0b0,
i_RXDFELFOVRDEN = 0b0,
i_RXDFELPMRESET = 0b0,
i_RXDFETAP10HOLD = 0b0,
i_RXDFETAP10OVRDEN = 0b0,
i_RXDFETAP11HOLD = 0b0,
i_RXDFETAP11OVRDEN = 0b0,
i_RXDFETAP12HOLD = 0b0,
i_RXDFETAP12OVRDEN = 0b0,
i_RXDFETAP13HOLD = 0b0,
i_RXDFETAP13OVRDEN = 0b0,
i_RXDFETAP14HOLD = 0b0,
i_RXDFETAP14OVRDEN = 0b0,
i_RXDFETAP15HOLD = 0b0,
i_RXDFETAP15OVRDEN = 0b0,
i_RXDFETAP2HOLD = 0b0,
i_RXDFETAP2OVRDEN = 0b0,
i_RXDFETAP3HOLD = 0b0,
i_RXDFETAP3OVRDEN = 0b0,
i_RXDFETAP4HOLD = 0b0,
i_RXDFETAP4OVRDEN = 0b0,
i_RXDFETAP5HOLD = 0b0,
i_RXDFETAP5OVRDEN = 0b0,
i_RXDFETAP6HOLD = 0b0,
i_RXDFETAP6OVRDEN = 0b0,
i_RXDFETAP7HOLD = 0b0,
i_RXDFETAP7OVRDEN = 0b0,
i_RXDFETAP8HOLD = 0b0,
i_RXDFETAP8OVRDEN = 0b0,
i_RXDFETAP9HOLD = 0b0,
i_RXDFETAP9OVRDEN = 0b0,
i_RXDFEUTHOLD = 0b0,
i_RXDFEUTOVRDEN = 0b0,
i_RXDFEVPHOLD = 0b0,
i_RXDFEVPOVRDEN = 0b0,
i_RXDFEXYDEN = 0b1,
i_RXDLYBYPASS = 0b1,
i_RXDLYEN = 0b0,
i_RXDLYOVRDEN = 0b0,
i_RXDLYSRESET = 0b0,
i_RXELECIDLEMODE = 0b11,
i_RXEQTRAINING = 0b0,
i_RXGEARBOXSLIP = 0b0,
i_RXLATCLK = 0b0,
i_RXLPMEN = 0b1,
i_RXLPMGCHOLD = 0b0,
i_RXLPMGCOVRDEN = 0b0,
i_RXLPMHFHOLD = 0b0,
i_RXLPMHFOVRDEN = 0b0,
i_RXLPMLFHOLD = 0b0,
i_RXLPMLFKLOVRDEN = 0b0,
i_RXLPMOSHOLD = 0b0,
i_RXLPMOSOVRDEN = 0b0,
i_RXMCOMMAALIGNEN = pcs.align,
i_RXMONITORSEL = 0b00,
i_RXOOBRESET = 0b0,
i_RXOSCALRESET = 0b0,
i_RXOSHOLD = 0b0,
i_RXOSOVRDEN = 0b0,
i_RXOUTCLKSEL = 0b101,
i_RXPCOMMAALIGNEN = pcs.align,
i_RXPCSRESET = 0b0,
i_RXPD = 0b00,
i_RXPHALIGN = 0b0,
i_RXPHALIGNEN = 0b0,
i_RXPHDLYPD = 0b1,
i_RXPHDLYRESET = 0b0,
i_RXPLLCLKSEL = 0b00,
i_RXPMARESET = 0b0,
i_RXPOLARITY = rx_polarity,
i_RXPRBSCNTRESET = 0b0,
i_RXPRBSSEL = 0b0000,
i_RXPROGDIVRESET = 0b0,
i_RXRATE = 0b000,
i_RXRATEMODE = 0b0,
i_RXSLIDE = 0b0,
i_RXSLIPOUTCLK = 0b0,
i_RXSLIPPMA = 0b0,
i_RXSYNCALLIN = 0b0,
i_RXSYNCIN = 0b0,
i_RXSYNCMODE = 0b0,
i_RXSYSCLKSEL = 0b00,
i_RXTERMINATION = 0b0,
i_RXUSERRDY = 0b1,
i_RXUSRCLK2 = ClockSignal("eth_rx_half"),
i_RXUSRCLK = ClockSignal("eth_rx_half"),
i_SIGVALIDCLK = 0b0,
i_TSTIN = 0b00000000000000000000,
i_TX8B10BBYPASS = 0b00000000,
i_TX8B10BEN = 0b0,
i_TXCOMINIT = 0b0,
i_TXCOMSAS = 0b0,
i_TXCOMWAKE = 0b0,
i_TXCTRL0 = Cat(*[tx_data[10*i+8] for i in range(2)]),
i_TXCTRL1 = Cat(*[tx_data[10*i+9] for i in range(2)]),
i_TXCTRL2 = 0b00000000,
i_TXDATA = Cat(*[tx_data[10*i:10*i+8] for i in range(2)]),
i_TXDATAEXTENDRSVD = 0b0,
i_TXDCCFORCESTART = 0b0,
i_TXDCCRESET = 0b0,
i_TXDEEMPH = 0b0,
i_TXDETECTRX = 0b0,
i_TXDIFFCTRL = 0b1100,
i_TXDLYBYPASS = 0b1,
i_TXDLYEN = 0b0,
i_TXDLYHOLD = 0b0,
i_TXDLYOVRDEN = 0b0,
i_TXDLYSRESET = 0b0,
i_TXDLYUPDOWN = 0b0,
i_TXELECIDLE = 0b0,
i_TXHEADER = 0b000000,
i_TXINHIBIT = 0b0,
i_TXLATCLK = 0b0,
i_TXLFPSTRESET = 0b0,
i_TXLFPSU2LPEXIT = 0b0,
i_TXLFPSU3WAKE = 0b0,
i_TXMAINCURSOR = 0b1000000,
i_TXMARGIN = 0b000,
i_TXMUXDCDEXHOLD = 0b0,
i_TXMUXDCDORWREN = 0b0,
i_TXONESZEROS = 0b0,
i_TXOUTCLKSEL = 0b101,
i_TXPCSRESET = 0b0,
i_TXPD = 0b00,
i_TXPDELECIDLEMODE = 0b0,
i_TXPHALIGN = 0b0,
i_TXPHALIGNEN = 0b0,
i_TXPHDLYPD = 0b1,
i_TXPHDLYRESET = 0b0,
i_TXPHDLYTSTCLK = 0b0,
i_TXPHINIT = 0b0,
i_TXPHOVRDEN = 0b0,
i_TXPIPPMEN = 0b0,
i_TXPIPPMOVRDEN = 0b0,
i_TXPIPPMPD = 0b0,
i_TXPIPPMSEL = 0b0,
i_TXPIPPMSTEPSIZE = 0b00000,
i_TXPISOPD = 0b0,
i_TXPLLCLKSEL = 0b00,
i_TXPMARESET = 0b0,
i_TXPOLARITY = tx_polarity,
i_TXPOSTCURSOR = 0b00000,
i_TXPRBSFORCEERR = 0b0,
i_TXPRBSSEL = 0b0000,
i_TXPRECURSOR = 0b00000,
i_TXPROGDIVRESET = 0b0,
i_TXRATE = 0b000,
i_TXRATEMODE = 0b0,
i_TXSEQUENCE = 0b0000000,
i_TXSWING = 0b0,
i_TXSYNCALLIN = 0b0,
i_TXSYNCIN = 0b0,
i_TXSYNCMODE = 0b0,
i_TXSYSCLKSEL = 0b00,
i_TXUSERRDY = 0b1,
i_TXUSRCLK2 = ClockSignal("eth_tx_half"),
i_TXUSRCLK = ClockSignal("eth_tx_half"),
)
gty_params.update(
i_CDRSTEPDIR = 0b0,
i_CDRSTEPSQ = 0b0,
i_CDRSTEPSX = 0b0,
i_CFGRESET = 0b0,
i_CLKRSVD0 = 0b0,
i_CLKRSVD1 = 0b0,
i_CPLLFREQLOCK = 0b0,
i_CPLLLOCKDETCLK = 0b0,
i_CPLLLOCKEN = 0b1,
i_CPLLPD = pll_reset,
i_CPLLREFCLKSEL = 0b001,
i_CPLLRESET = 0b0,
i_DMONFIFORESET = 0b0,
i_DMONITORCLK = 0b0,
i_DRPADDR = 0b000000000,
i_DRPCLK = 0b0,
i_DRPDI = 0b0000000000000000,
i_DRPEN = 0b0,
i_DRPRST = 0b0,
i_DRPWE = 0b0,
i_EYESCANRESET = 0b0,
i_EYESCANTRIGGER = 0b0,
i_FREQOS = 0b0,
i_GTGREFCLK = refclk if refclk_from_fabric else 0b0,
i_GTNORTHREFCLK0 = 0b0,
i_GTNORTHREFCLK1 = 0b0,
i_GTREFCLK0 = refclk if not refclk_from_fabric else 0b0,
i_GTREFCLK1 = 0b0,
i_GTRSVD = 0b0,
i_GTRXRESET = rx_reset,
i_GTRXRESETSEL = 0b0,
i_GTSOUTHREFCLK0 = 0b0,
i_GTSOUTHREFCLK1 = 0b0,
i_GTTXRESET = tx_reset,
i_GTTXRESETSEL = 0b0,
i_GTYRXN = data_pads.rxn,
i_GTYRXP = data_pads.rxp,
i_INCPCTRL = 0b0,
i_LOOPBACK = 0b0,
i_PCIEEQRXEQADAPTDONE = 0b0,
i_PCIERSTIDLE = 0b0,
i_PCIERSTTXSYNCSTART = 0b0,
i_PCIEUSERRATEDONE = 0b0,
i_PCSRSVDIN = 0b0,
i_QPLL0CLK = 0b0,
i_QPLL0FREQLOCK = 0b0,
i_QPLL0REFCLK = 0b0,
i_QPLL1CLK = 0b0,
i_QPLL1FREQLOCK = 0b0,
i_QPLL1REFCLK = 0b0,
i_RESETOVRD = 0b0,
i_RX8B10BEN = 0b0,
i_RXAFECFOKEN = 0b0,
i_RXBUFRESET = 0b0,
i_RXCDRFREQRESET = 0b0,
i_RXCDRHOLD = 0b0,
i_RXCDROVRDEN = 0b0,
i_RXCDRRESET = 0b0,
i_RXCHBONDEN = 0b0,
i_RXCHBONDI = 0b0,
i_RXCHBONDLEVEL = 0b0,
i_RXCHBONDMASTER = 0b0,
i_RXCHBONDSLAVE = 0b0,
i_RXCKCALRESET = 0b0,
i_RXCKCALSTART = 0b0,
i_RXCOMMADETEN = 0b1,
i_RXDFEAGCHOLD = 0b0,
i_RXDFEAGCOVRDEN = 0b0,
i_RXDFECFOKFCNUM = 0b0,
i_RXDFECFOKFEN = 0b0,
i_RXDFECFOKFPULSE = 0b0,
i_RXDFECFOKHOLD = 0b0,
i_RXDFECFOKOVREN = 0b0,
i_RXDFEKHHOLD = 0b0,
i_RXDFEKHOVRDEN = 0b0,
i_RXDFELFHOLD = 0b0,
i_RXDFELFOVRDEN = 0b0,
i_RXDFELPMRESET = 0b0,
i_RXDFETAP10HOLD = 0b0,
i_RXDFETAP10OVRDEN = 0b0,
i_RXDFETAP11HOLD = 0b0,
i_RXDFETAP11OVRDEN = 0b0,
i_RXDFETAP12HOLD = 0b0,
i_RXDFETAP12OVRDEN = 0b0,
i_RXDFETAP13HOLD = 0b0,
i_RXDFETAP13OVRDEN = 0b0,
i_RXDFETAP14HOLD = 0b0,
i_RXDFETAP14OVRDEN = 0b0,
i_RXDFETAP15HOLD = 0b0,
i_RXDFETAP15OVRDEN = 0b0,
i_RXDFETAP2HOLD = 0b0,
i_RXDFETAP2OVRDEN = 0b0,
i_RXDFETAP3HOLD = 0b0,
i_RXDFETAP3OVRDEN = 0b0,
i_RXDFETAP4HOLD = 0b0,
i_RXDFETAP4OVRDEN = 0b0,
i_RXDFETAP5HOLD = 0b0,
i_RXDFETAP5OVRDEN = 0b0,
i_RXDFETAP6HOLD = 0b0,
i_RXDFETAP6OVRDEN = 0b0,
i_RXDFETAP7HOLD = 0b0,
i_RXDFETAP7OVRDEN = 0b0,
i_RXDFETAP8HOLD = 0b0,
i_RXDFETAP8OVRDEN = 0b0,
i_RXDFETAP9HOLD = 0b0,
i_RXDFETAP9OVRDEN = 0b0,
i_RXDFEUTHOLD = 0b0,
i_RXDFEUTOVRDEN = 0b0,
i_RXDFEVPHOLD = 0b0,
i_RXDFEVPOVRDEN = 0b0,
i_RXDFEXYDEN = 0b1,
i_RXDLYBYPASS = 0b1,
i_RXDLYEN = 0b0,
i_RXDLYOVRDEN = 0b0,
i_RXDLYSRESET = 0b0,
i_RXELECIDLEMODE = 0b11,
i_RXEQTRAINING = 0b0,
i_RXGEARBOXSLIP = 0b0,
i_RXLATCLK = 0b0,
i_RXLPMEN = 0b1,
i_RXLPMGCHOLD = 0b0,
i_RXLPMGCOVRDEN = 0b0,
i_RXLPMHFHOLD = 0b0,
i_RXLPMHFOVRDEN = 0b0,
i_RXLPMLFHOLD = 0b0,
i_RXLPMLFKLOVRDEN = 0b0,
i_RXLPMOSHOLD = 0b0,
i_RXLPMOSOVRDEN = 0b0,
i_RXMCOMMAALIGNEN = pcs.align,
i_RXMONITORSEL = 0b00,
i_RXOOBRESET = 0b0,
i_RXOSCALRESET = 0b0,
i_RXOSHOLD = 0b0,
i_RXOSOVRDEN = 0b0,
i_RXOUTCLKSEL = 0b101,
i_RXPCOMMAALIGNEN = pcs.align,
i_RXPCSRESET = 0b0,
i_RXPD = 0b00,
i_RXPHALIGN = 0b0,
i_RXPHALIGNEN = 0b0,
i_RXPHDLYPD = 0b1,
i_RXPHDLYRESET = 0b0,
i_RXPLLCLKSEL = 0b00,
i_RXPMARESET = 0b0,
i_RXPOLARITY = rx_polarity,
i_RXPRBSCNTRESET = 0b0,
i_RXPRBSSEL = 0b0000,
i_RXPROGDIVRESET = 0b0,
i_RXRATE = 0b000,
i_RXRATEMODE = 0b0,
i_RXSLIDE = 0b0,
i_RXSLIPOUTCLK = 0b0,
i_RXSLIPPMA = 0b0,
i_RXSYNCALLIN = 0b0,
i_RXSYNCIN = 0b0,
i_RXSYNCMODE = 0b0,
i_RXSYSCLKSEL = 0b00,
i_RXTERMINATION = 0b0,
i_RXUSERRDY = 0b1,
i_RXUSRCLK2 = ClockSignal("eth_rx_half"),
i_RXUSRCLK = ClockSignal("eth_rx_half"),
i_SIGVALIDCLK = 0b0,
i_TSTIN = 0b00000000000000000000,
i_TX8B10BBYPASS = 0b00000000,
i_TX8B10BEN = 0b0,
i_TXCOMINIT = 0b0,
i_TXCOMSAS = 0b0,
i_TXCOMWAKE = 0b0,
i_TXCTRL0 = Cat(*[tx_data[10*i+8] for i in range(2)]),
i_TXCTRL1 = Cat(*[tx_data[10*i+9] for i in range(2)]),
i_TXCTRL2 = 0b00000000,
i_TXDATA = Cat(*[tx_data[10*i:10*i+8] for i in range(2)]),
i_TXDATAEXTENDRSVD = 0b0,
i_TXDCCFORCESTART = 0b0,
i_TXDCCRESET = 0b0,
i_TXDEEMPH = 0b0,
i_TXDETECTRX = 0b0,
i_TXDIFFCTRL = 0b1100,
i_TXDLYBYPASS = 0b1,
i_TXDLYEN = 0b0,
i_TXDLYHOLD = 0b0,
i_TXDLYOVRDEN = 0b0,
i_TXDLYSRESET = 0b0,
i_TXDLYUPDOWN = 0b0,
i_TXELECIDLE = 0b0,
i_TXHEADER = 0b000000,
i_TXINHIBIT = 0b0,
i_TXLATCLK = 0b0,
i_TXLFPSTRESET = 0b0,
i_TXLFPSU2LPEXIT = 0b0,
i_TXLFPSU3WAKE = 0b0,
i_TXMAINCURSOR = 0b1000000,
i_TXMARGIN = 0b000,
i_TXMUXDCDEXHOLD = 0b0,
i_TXMUXDCDORWREN = 0b0,
i_TXONESZEROS = 0b0,
i_TXOUTCLKSEL = 0b101,
i_TXPCSRESET = 0b0,
i_TXPD = 0b00,
i_TXPDELECIDLEMODE = 0b0,
i_TXPHALIGN = 0b0,
i_TXPHALIGNEN = 0b0,
i_TXPHDLYPD = 0b1,
i_TXPHDLYRESET = 0b0,
i_TXPHDLYTSTCLK = 0b0,
i_TXPHINIT = 0b0,
i_TXPHOVRDEN = 0b0,
i_TXPIPPMEN = 0b0,
i_TXPIPPMOVRDEN = 0b0,
i_TXPIPPMPD = 0b0,
i_TXPIPPMSEL = 0b0,
i_TXPIPPMSTEPSIZE = 0b00000,
i_TXPISOPD = 0b0,
i_TXPLLCLKSEL = 0b00,
i_TXPMARESET = 0b0,
i_TXPOLARITY = tx_polarity,
i_TXPOSTCURSOR = 0b00000,
i_TXPRBSFORCEERR = 0b0,
i_TXPRBSSEL = 0b0000,
i_TXPRECURSOR = 0b00000,
i_TXPROGDIVRESET = 0b0,
i_TXRATE = 0b000,
i_TXRATEMODE = 0b0,
i_TXSEQUENCE = 0b0000000,
i_TXSWING = 0b0,
i_TXSYNCALLIN = 0b0,
i_TXSYNCIN = 0b0,
i_TXSYNCMODE = 0b0,
i_TXSYSCLKSEL = 0b00,
i_TXUSERRDY = 0b1,
i_TXUSRCLK2 = ClockSignal("eth_tx_half"),
i_TXUSRCLK = ClockSignal("eth_tx_half"),
o_BUFGTCE = Open(),
o_BUFGTCEMASK = Open(),
o_BUFGTDIV = Open(),

View File

@ -343,8 +343,6 @@ class V7_1000BASEX(LiteXModule):
# TX Configurable Driver Attributes
p_TX_QPI_STATUS_EN = 0b0,
)
gth_params.update(
# CPLL Ports
o_CPLLFBCLKLOST = Open(),
o_CPLLLOCK = pll.lock,