From 5ffb676fa9505f6be846cb5bcf99bfeb628337f7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marcelina=20Ko=C5=9Bcielnicka?= Date: Fri, 18 Dec 2020 20:51:26 +0100 Subject: [PATCH] xilinx: Regenerate cells_xtra.v using Vivado 2020.2 --- techlibs/xilinx/cells_xtra.py | 1 + techlibs/xilinx/cells_xtra.v | 90 +++++++++++++++++++---------------- 2 files changed, 49 insertions(+), 42 deletions(-) diff --git a/techlibs/xilinx/cells_xtra.py b/techlibs/xilinx/cells_xtra.py index 4eb8ddb19..c7ffb94cf 100644 --- a/techlibs/xilinx/cells_xtra.py +++ b/techlibs/xilinx/cells_xtra.py @@ -664,6 +664,7 @@ if __name__ == '__main__': dirs = [ os.path.join(args.vivado_dir, 'data/verilog/src/xeclib'), + os.path.join(args.vivado_dir, 'data/verilog/src/unisims'), os.path.join(args.vivado_dir, 'data/verilog/src/retarget'), os.path.join(args.ise_dir, 'ISE_DS/ISE/verilog/xeclib/unisims'), ] diff --git a/techlibs/xilinx/cells_xtra.v b/techlibs/xilinx/cells_xtra.v index 9a246c308..1fb340fc0 100644 --- a/techlibs/xilinx/cells_xtra.v +++ b/techlibs/xilinx/cells_xtra.v @@ -6252,6 +6252,7 @@ module ODDRE1 (...); parameter [0:0] IS_C_INVERTED = 1'b0; parameter [0:0] IS_D1_INVERTED = 1'b0; parameter [0:0] IS_D2_INVERTED = 1'b0; + parameter SIM_DEVICE = "ULTRASCALE"; parameter [0:0] SRVAL = 1'b0; output Q; (* clkbuf_sink *) @@ -7284,6 +7285,8 @@ module BUFGCE (...); parameter CE_TYPE = "SYNC"; parameter [0:0] IS_CE_INVERTED = 1'b0; parameter [0:0] IS_I_INVERTED = 1'b0; + parameter SIM_DEVICE = "ULTRASCALE"; + parameter STARTUP_SYNC = "FALSE"; (* clkbuf_driver *) output O; (* invertible_pin = "IS_CE_INVERTED" *) @@ -7334,6 +7337,8 @@ module BUFGMUX_VIRTEX4 (...); endmodule module BUFG_GT (...); + parameter SIM_DEVICE = "ULTRASCALE"; + parameter STARTUP_SYNC = "FALSE"; (* clkbuf_driver *) output O; input CE; @@ -7353,6 +7358,8 @@ module BUFG_GT_SYNC (...); endmodule module BUFG_PS (...); + parameter SIM_DEVICE = "ULTRASCALE_PLUS"; + parameter STARTUP_SYNC = "FALSE"; (* clkbuf_driver *) output O; input I; @@ -7360,9 +7367,13 @@ endmodule module BUFGCE_DIV (...); parameter integer BUFGCE_DIVIDE = 1; + parameter CE_TYPE = "SYNC"; + parameter HARDSYNC_CLR = "FALSE"; parameter [0:0] IS_CE_INVERTED = 1'b0; parameter [0:0] IS_CLR_INVERTED = 1'b0; parameter [0:0] IS_I_INVERTED = 1'b0; + parameter SIM_DEVICE = "ULTRASCALE"; + parameter STARTUP_SYNC = "FALSE"; (* clkbuf_driver *) output O; (* invertible_pin = "IS_CE_INVERTED" *) @@ -7959,14 +7970,18 @@ module MMCM_BASE (...); endmodule module MMCME2_ADV (...); + parameter real CLKIN_FREQ_MAX = 1066.000; + parameter real CLKIN_FREQ_MIN = 10.000; + parameter real CLKPFD_FREQ_MAX = 550.000; + parameter real CLKPFD_FREQ_MIN = 10.000; + parameter real VCOCLK_FREQ_MAX = 1600.000; + parameter real VCOCLK_FREQ_MIN = 600.000; parameter BANDWIDTH = "OPTIMIZED"; parameter real CLKFBOUT_MULT_F = 5.000; parameter real CLKFBOUT_PHASE = 0.000; parameter CLKFBOUT_USE_FINE_PS = "FALSE"; parameter real CLKIN1_PERIOD = 0.000; parameter real CLKIN2_PERIOD = 0.000; - parameter real CLKIN_FREQ_MAX = 1066.000; - parameter real CLKIN_FREQ_MIN = 10.000; parameter real CLKOUT0_DIVIDE_F = 1.000; parameter real CLKOUT0_DUTY_CYCLE = 0.500; parameter real CLKOUT0_PHASE = 0.000; @@ -7996,8 +8011,6 @@ module MMCME2_ADV (...); parameter real CLKOUT6_DUTY_CYCLE = 0.500; parameter real CLKOUT6_PHASE = 0.000; parameter CLKOUT6_USE_FINE_PS = "FALSE"; - parameter real CLKPFD_FREQ_MAX = 550.000; - parameter real CLKPFD_FREQ_MIN = 10.000; parameter COMPENSATION = "ZHOLD"; parameter integer DIVCLK_DIVIDE = 1; parameter [0:0] IS_CLKINSEL_INVERTED = 1'b0; @@ -8011,9 +8024,6 @@ module MMCME2_ADV (...); parameter SS_MODE = "CENTER_HIGH"; parameter integer SS_MOD_PERIOD = 10000; parameter STARTUP_WAIT = "FALSE"; - parameter real VCOCLK_FREQ_MAX = 1600.000; - parameter real VCOCLK_FREQ_MIN = 600.000; - parameter STARTUP_WAIT = "FALSE"; output CLKFBOUT; output CLKFBOUTB; output CLKFBSTOPPED; @@ -8209,14 +8219,18 @@ module PLLE2_BASE (...); endmodule module MMCME3_ADV (...); + parameter real CLKIN_FREQ_MAX = 1066.000; + parameter real CLKIN_FREQ_MIN = 10.000; + parameter real CLKPFD_FREQ_MAX = 550.000; + parameter real CLKPFD_FREQ_MIN = 10.000; + parameter real VCOCLK_FREQ_MAX = 1600.000; + parameter real VCOCLK_FREQ_MIN = 600.000; parameter BANDWIDTH = "OPTIMIZED"; parameter real CLKFBOUT_MULT_F = 5.000; parameter real CLKFBOUT_PHASE = 0.000; parameter CLKFBOUT_USE_FINE_PS = "FALSE"; parameter real CLKIN1_PERIOD = 0.000; parameter real CLKIN2_PERIOD = 0.000; - parameter real CLKIN_FREQ_MAX = 1066.000; - parameter real CLKIN_FREQ_MIN = 10.000; parameter real CLKOUT0_DIVIDE_F = 1.000; parameter real CLKOUT0_DUTY_CYCLE = 0.500; parameter real CLKOUT0_PHASE = 0.000; @@ -8246,8 +8260,6 @@ module MMCME3_ADV (...); parameter real CLKOUT6_DUTY_CYCLE = 0.500; parameter real CLKOUT6_PHASE = 0.000; parameter CLKOUT6_USE_FINE_PS = "FALSE"; - parameter real CLKPFD_FREQ_MAX = 550.000; - parameter real CLKPFD_FREQ_MIN = 10.000; parameter COMPENSATION = "AUTO"; parameter integer DIVCLK_DIVIDE = 1; parameter [0:0] IS_CLKFBIN_INVERTED = 1'b0; @@ -8264,9 +8276,6 @@ module MMCME3_ADV (...); parameter SS_MODE = "CENTER_HIGH"; parameter integer SS_MOD_PERIOD = 10000; parameter STARTUP_WAIT = "FALSE"; - parameter real VCOCLK_FREQ_MAX = 1600.000; - parameter real VCOCLK_FREQ_MIN = 600.000; - parameter STARTUP_WAIT = "FALSE"; output CDDCDONE; output CLKFBOUT; output CLKFBOUTB; @@ -8371,10 +8380,14 @@ module MMCME3_BASE (...); endmodule module PLLE3_ADV (...); - parameter integer CLKFBOUT_MULT = 5; - parameter real CLKFBOUT_PHASE = 0.000; parameter real CLKIN_FREQ_MAX = 1066.000; parameter real CLKIN_FREQ_MIN = 70.000; + parameter real CLKPFD_FREQ_MAX = 667.500; + parameter real CLKPFD_FREQ_MIN = 70.000; + parameter real VCOCLK_FREQ_MAX = 1335.000; + parameter real VCOCLK_FREQ_MIN = 600.000; + parameter integer CLKFBOUT_MULT = 5; + parameter real CLKFBOUT_PHASE = 0.000; parameter real CLKIN_PERIOD = 0.000; parameter integer CLKOUT0_DIVIDE = 1; parameter real CLKOUT0_DUTY_CYCLE = 0.500; @@ -8383,8 +8396,6 @@ module PLLE3_ADV (...); parameter real CLKOUT1_DUTY_CYCLE = 0.500; parameter real CLKOUT1_PHASE = 0.000; parameter CLKOUTPHY_MODE = "VCO_2X"; - parameter real CLKPFD_FREQ_MAX = 667.500; - parameter real CLKPFD_FREQ_MIN = 70.000; parameter COMPENSATION = "AUTO"; parameter integer DIVCLK_DIVIDE = 1; parameter [0:0] IS_CLKFBIN_INVERTED = 1'b0; @@ -8393,9 +8404,6 @@ module PLLE3_ADV (...); parameter [0:0] IS_RST_INVERTED = 1'b0; parameter real REF_JITTER = 0.010; parameter STARTUP_WAIT = "FALSE"; - parameter real VCOCLK_FREQ_MAX = 1335.000; - parameter real VCOCLK_FREQ_MIN = 600.000; - parameter STARTUP_WAIT = "FALSE"; output CLKFBOUT; output CLKOUT0; output CLKOUT0B; @@ -8458,14 +8466,18 @@ module PLLE3_BASE (...); endmodule module MMCME4_ADV (...); + parameter real CLKIN_FREQ_MAX = 1066.000; + parameter real CLKIN_FREQ_MIN = 10.000; + parameter real CLKPFD_FREQ_MAX = 550.000; + parameter real CLKPFD_FREQ_MIN = 10.000; + parameter real VCOCLK_FREQ_MAX = 1600.000; + parameter real VCOCLK_FREQ_MIN = 800.000; parameter BANDWIDTH = "OPTIMIZED"; parameter real CLKFBOUT_MULT_F = 5.000; parameter real CLKFBOUT_PHASE = 0.000; parameter CLKFBOUT_USE_FINE_PS = "FALSE"; parameter real CLKIN1_PERIOD = 0.000; parameter real CLKIN2_PERIOD = 0.000; - parameter real CLKIN_FREQ_MAX = 1066.000; - parameter real CLKIN_FREQ_MIN = 10.000; parameter real CLKOUT0_DIVIDE_F = 1.000; parameter real CLKOUT0_DUTY_CYCLE = 0.500; parameter real CLKOUT0_PHASE = 0.000; @@ -8495,8 +8507,6 @@ module MMCME4_ADV (...); parameter real CLKOUT6_DUTY_CYCLE = 0.500; parameter real CLKOUT6_PHASE = 0.000; parameter CLKOUT6_USE_FINE_PS = "FALSE"; - parameter real CLKPFD_FREQ_MAX = 550.000; - parameter real CLKPFD_FREQ_MIN = 10.000; parameter COMPENSATION = "AUTO"; parameter integer DIVCLK_DIVIDE = 1; parameter [0:0] IS_CLKFBIN_INVERTED = 1'b0; @@ -8513,9 +8523,6 @@ module MMCME4_ADV (...); parameter SS_MODE = "CENTER_HIGH"; parameter integer SS_MOD_PERIOD = 10000; parameter STARTUP_WAIT = "FALSE"; - parameter real VCOCLK_FREQ_MAX = 1600.000; - parameter real VCOCLK_FREQ_MIN = 800.000; - parameter STARTUP_WAIT = "FALSE"; output CDDCDONE; output CLKFBOUT; output CLKFBOUTB; @@ -8620,10 +8627,14 @@ module MMCME4_BASE (...); endmodule module PLLE4_ADV (...); - parameter integer CLKFBOUT_MULT = 5; - parameter real CLKFBOUT_PHASE = 0.000; parameter real CLKIN_FREQ_MAX = 1066.000; parameter real CLKIN_FREQ_MIN = 70.000; + parameter real CLKPFD_FREQ_MAX = 667.500; + parameter real CLKPFD_FREQ_MIN = 70.000; + parameter real VCOCLK_FREQ_MAX = 1500.000; + parameter real VCOCLK_FREQ_MIN = 750.000; + parameter integer CLKFBOUT_MULT = 5; + parameter real CLKFBOUT_PHASE = 0.000; parameter real CLKIN_PERIOD = 0.000; parameter integer CLKOUT0_DIVIDE = 1; parameter real CLKOUT0_DUTY_CYCLE = 0.500; @@ -8632,8 +8643,6 @@ module PLLE4_ADV (...); parameter real CLKOUT1_DUTY_CYCLE = 0.500; parameter real CLKOUT1_PHASE = 0.000; parameter CLKOUTPHY_MODE = "VCO_2X"; - parameter real CLKPFD_FREQ_MAX = 667.500; - parameter real CLKPFD_FREQ_MIN = 70.000; parameter COMPENSATION = "AUTO"; parameter integer DIVCLK_DIVIDE = 1; parameter [0:0] IS_CLKFBIN_INVERTED = 1'b0; @@ -8642,9 +8651,6 @@ module PLLE4_ADV (...); parameter [0:0] IS_RST_INVERTED = 1'b0; parameter real REF_JITTER = 0.010; parameter STARTUP_WAIT = "FALSE"; - parameter real VCOCLK_FREQ_MAX = 1500.000; - parameter real VCOCLK_FREQ_MIN = 750.000; - parameter STARTUP_WAIT = "FALSE"; output CLKFBOUT; output CLKOUT0; output CLKOUT0B; @@ -17385,7 +17391,7 @@ module GTYE4_CHANNEL (...); parameter [15:0] RXDFE_KH_CFG0 = 16'h0000; parameter [15:0] RXDFE_KH_CFG1 = 16'h0000; parameter [15:0] RXDFE_KH_CFG2 = 16'h0000; - parameter [15:0] RXDFE_KH_CFG3 = 16'h0000; + parameter [15:0] RXDFE_KH_CFG3 = 16'h2000; parameter [15:0] RXDFE_OS_CFG0 = 16'h0000; parameter [15:0] RXDFE_OS_CFG1 = 16'h0000; parameter [15:0] RXDFE_UT_CFG0 = 16'h0000; @@ -17436,7 +17442,7 @@ module GTYE4_CHANNEL (...); parameter [4:0] RX_CLK_SLIP_OVRD = 5'b00000; parameter [3:0] RX_CM_BUF_CFG = 4'b1010; parameter [0:0] RX_CM_BUF_PD = 1'b0; - parameter integer RX_CM_SEL = 3; + parameter integer RX_CM_SEL = 2; parameter integer RX_CM_TRIM = 12; parameter [0:0] RX_CTLE_PWR_SAVING = 1'b0; parameter [3:0] RX_CTLE_RES_CTRL = 4'b0000; @@ -17444,12 +17450,12 @@ module GTYE4_CHANNEL (...); parameter [5:0] RX_DDI_SEL = 6'b000000; parameter RX_DEFER_RESET_BUF_EN = "TRUE"; parameter [2:0] RX_DEGEN_CTRL = 3'b100; - parameter integer RX_DFELPM_CFG0 = 0; + parameter integer RX_DFELPM_CFG0 = 10; parameter [0:0] RX_DFELPM_CFG1 = 1'b1; parameter [0:0] RX_DFELPM_KLKH_AGC_STUP_EN = 1'b1; parameter integer RX_DFE_AGC_CFG1 = 4; parameter integer RX_DFE_KL_LPM_KH_CFG0 = 1; - parameter integer RX_DFE_KL_LPM_KH_CFG1 = 4; + parameter integer RX_DFE_KL_LPM_KH_CFG1 = 2; parameter [1:0] RX_DFE_KL_LPM_KL_CFG0 = 2'b01; parameter integer RX_DFE_KL_LPM_KL_CFG1 = 4; parameter [0:0] RX_DFE_LPM_HOLD_DURING_EIDLE = 1'b0; @@ -17465,7 +17471,7 @@ module GTYE4_CHANNEL (...); parameter [0:0] RX_I2V_FILTER_EN = 1'b1; parameter integer RX_INT_DATAWIDTH = 1; parameter [0:0] RX_PMA_POWER_SAVE = 1'b0; - parameter [15:0] RX_PMA_RSV0 = 16'h000F; + parameter [15:0] RX_PMA_RSV0 = 16'h002F; parameter real RX_PROGDIV_CFG = 0.0; parameter [15:0] RX_PROGDIV_RATE = 16'h0001; parameter [3:0] RX_RESLOAD_CTRL = 4'b0000; @@ -17496,11 +17502,11 @@ module GTYE4_CHANNEL (...); parameter SATA_CPLL_CFG = "VCO_3000MHZ"; parameter [2:0] SATA_EIDLE_VAL = 3'b100; parameter SHOW_REALIGN_COMMA = "TRUE"; + parameter SIM_DEVICE = "ULTRASCALE_PLUS"; parameter SIM_MODE = "FAST"; parameter SIM_RECEIVER_DETECT_PASS = "TRUE"; parameter SIM_RESET_SPEEDUP = "TRUE"; parameter SIM_TX_EIDLE_DRIVE_LEVEL = "Z"; - parameter SIM_DEVICE = "ULTRASCALE_PLUS"; parameter [0:0] SRSTMODE = 1'b0; parameter [1:0] TAPDLY_SET_TX = 2'h0; parameter [14:0] TERM_RCAL_CFG = 15'b100001000010000; @@ -18032,9 +18038,9 @@ module GTYE4_COMMON (...); parameter [8:0] SDM0INITSEED0_1 = 9'b000000000; parameter [15:0] SDM1INITSEED0_0 = 16'b0000000000000000; parameter [8:0] SDM1INITSEED0_1 = 9'b000000000; + parameter SIM_DEVICE = "ULTRASCALE_PLUS"; parameter SIM_MODE = "FAST"; parameter SIM_RESET_SPEEDUP = "TRUE"; - parameter SIM_DEVICE = "ULTRASCALE_PLUS"; parameter [15:0] UB_CFG0 = 16'h0000; parameter [15:0] UB_CFG1 = 16'h0000; parameter [15:0] UB_CFG2 = 16'h0000; -- 2.30.2