pluto_hdl_adi/library/xilinx/util_adxcvr/util_adxcvr.v

7935 lines
268 KiB
Verilog

// ***************************************************************************
// ***************************************************************************
// Copyright (C) 2014-2023 Analog Devices, Inc. All rights reserved.
//
// In this HDL repository, there are many different and unique modules, consisting
// of various HDL (Verilog or VHDL) components. The individual modules are
// developed independently, and may be accompanied by separate and unique license
// terms.
//
// The user should read each of these license terms, and understand the
// freedoms and responsibilities that he or she has by using this source/core.
//
// This core is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
// A PARTICULAR PURPOSE.
//
// Redistribution and use of source or resulting binaries, with or without modification
// of this file, are permitted under one of the following two license terms:
//
// 1. The GNU General Public License version 2 as published by the
// Free Software Foundation, which can be found in the top level directory
// of this repository (LICENSE_GPL2), and also online at:
// <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
//
// OR
//
// 2. An ADI specific BSD license, which can be found in the top level directory
// of this repository (LICENSE_ADIBSD), and also on-line at:
// https://github.com/analogdevicesinc/hdl/blob/main/LICENSE_ADIBSD
// This will allow to generate bit files and not release the source code,
// as long as it attaches to an ADI device.
//
// ***************************************************************************
// ***************************************************************************
// AUTO GENERATED BY util_adxcvr.pl, DO NOT MODIFY!
`timescale 1ns/1ps
module util_adxcvr #(
// gtxe2(2), gthe3(5), gthe4(8), gtye4(9)
parameter integer XCVR_TYPE = 0,
parameter real RX_LANE_RATE = 12.5,
parameter real TX_LANE_RATE = 12.5,
parameter LINK_MODE = 1, // 2 - 64B/66B; 1 - 8B/10B
/* Only 4 is supported at the moment for 8b/10b and 8 for 64b */
parameter DATA_PATH_WIDTH = LINK_MODE == 2 ? 8 : 4,
// qpll-configuration
parameter integer QPLL_REFCLK_DIV = 1,
parameter integer QPLL_FBDIV_RATIO = 1,
parameter [15:0] POR_CFG = 16'b0000000000000110,
parameter [15:0] PPF0_CFG = 16'b0000011000000000,
parameter [15:0] PPF1_CFG = 16'b0000011000000000,
parameter [26:0] QPLL_CFG = 27'h0680181,
parameter [ 9:0] QPLL_FBDIV = 10'b0000110000,
parameter [15:0] QPLL_CFG0 = 16'b0011001100011100,
parameter [15:0] QPLL_CFG1 = 16'b1101000000111000,
parameter [15:0] QPLL_CFG1_G3 = 16'b1101000000111000,
parameter [15:0] QPLL_CFG2 = 16'b0000111111000000,
parameter [15:0] QPLL_CFG2_G3 = 16'b0000111111000000,
parameter [15:0] QPLL_CFG3 = 16'b0000000100100000,
parameter [15:0] QPLL_CFG4 = 16'b0000000000000011,
parameter [15:0] QPLL_CP_G3 = 10'b0000011111,
parameter [15:0] QPLL_LPF = 10'b0100110111,
parameter [15:0] QPLL_CP = 10'b0001111111,
// cpll-configuration
parameter integer CPLL_FBDIV = 2,
parameter integer CPLL_FBDIV_4_5 = 5,
parameter [15:0] CPLL_CFG0 = 16'b0000000111111010,
parameter [15:0] CPLL_CFG1 = 16'b0000000000100011,
parameter [15:0] CPLL_CFG2 = 16'b0000000000000010,
parameter [15:0] CPLL_CFG3 = 16'b0000000000000000,
parameter [15:0] CH_HSPMUX = 16'b0010010000100100,
parameter integer PREIQ_FREQ_BST = 0,
parameter [15:0] RXPI_CFG0 = 16'b0000000000000010,
parameter [15:0] RXPI_CFG1 = 16'b0000000000010101,
parameter [2:0] RTX_BUF_CML_CTRL = 3'b011,
// tx-configuration
parameter integer TX_NUM_OF_LANES = 8,
parameter integer TX_OUT_DIV = 1,
parameter integer TX_CLK25_DIV = 20,
parameter integer TX_LANE_INVERT = 0,
parameter [15:0] TX_PI_BIASSET = 1,
parameter [15:0] TXPI_CFG = 16'b0000000001010100,
parameter [15:0] A_TXDIFFCTRL = 5'b10110,
// rx-configuration
parameter integer RX_NUM_OF_LANES = 8,
parameter integer RX_OUT_DIV = 1,
parameter integer RX_CLK25_DIV = 20,
parameter [15:0] RX_DFE_LPM_CFG = 16'h0104,
parameter [31:0] RX_PMA_CFG = 32'h001e7080,
parameter [72:0] RX_CDR_CFG = 72'h0b000023ff10400020,
parameter [15:0] RXCDR_CFG0 = 16'b0000000000000010,
parameter [15:0] RXCDR_CFG2 = 16'b0000001001101001,
parameter [ 9:0] RXCDR_CFG2_GEN2 = 10'b1001100101,
parameter [15:0] RXCDR_CFG2_GEN4 = 16'b0000000010110100,
parameter [15:0] RXCDR_CFG3 = 16'b0000000000010010,
parameter [ 5:0] RXCDR_CFG3_GEN2 = 6'b011010,
parameter [15:0] RXCDR_CFG3_GEN3 = 16'b0000000000010010,
parameter [15:0] RXCDR_CFG3_GEN4 = 16'b0000000000100100,
parameter [15:0] RXDFE_KH_CFG2 = 16'h0200,
parameter [15:0] RXDFE_KH_CFG3 = 16'h4101,
parameter [ 1:0] RX_WIDEMODE_CDR = 2'b00,
parameter [ 0:0] RX_XMODE_SEL = 1'b1,
parameter integer TXDRV_FREQBAND = 0,
parameter [15:0] TXFE_CFG0 = 16'b0000001111000010,
parameter [15:0] TXFE_CFG1 = 16'b0110110000000000,
parameter [15:0] TXFE_CFG2 = 16'b0110110000000000,
parameter [15:0] TXFE_CFG3 = 16'b0110110000000000,
parameter [15:0] TXPI_CFG0 = 16'b0000001100000000,
parameter [15:0] TXPI_CFG1 = 16'b0001000000000000,
parameter integer TXSWBST_EN = 0,
parameter integer RX_LANE_INVERT = 0
) (
input up_rstn,
input up_clk,
input qpll_ref_clk_0,
input up_qpll_rst_0,
input cpll_ref_clk_0,
input up_cpll_rst_0,
input rx_0_p,
input rx_0_n,
output rx_out_clk_0,
output rx_out_clk_div2_0,
input rx_clk_0,
input rx_clk_2x_0,
output [DATA_PATH_WIDTH-1:0] rx_charisk_0,
output [DATA_PATH_WIDTH-1:0] rx_disperr_0,
output [DATA_PATH_WIDTH-1:0] rx_notintable_0,
output [DATA_PATH_WIDTH*8-1:0] rx_data_0,
input rx_calign_0,
output [1:0] rx_header_0,
output rx_block_sync_0,
output tx_0_p,
output tx_0_n,
output tx_out_clk_0,
output tx_out_clk_div2_0,
input tx_clk_0,
input tx_clk_2x_0,
input [DATA_PATH_WIDTH-1:0] tx_charisk_0,
input [DATA_PATH_WIDTH*8-1:0] tx_data_0,
input [1:0] tx_header_0,
input up_cm_enb_0,
input [11:0] up_cm_addr_0,
input up_cm_wr_0,
input [15:0] up_cm_wdata_0,
output [15:0] up_cm_rdata_0,
output up_cm_ready_0,
input up_es_enb_0,
input [11:0] up_es_addr_0,
input up_es_wr_0,
input [15:0] up_es_wdata_0,
output [15:0] up_es_rdata_0,
output up_es_ready_0,
input up_es_reset_0,
output up_rx_pll_locked_0,
input up_rx_rst_0,
input up_rx_user_ready_0,
output up_rx_rst_done_0,
input [ 3:0] up_rx_prbssel_0,
input up_rx_prbscntreset_0,
output up_rx_prbserr_0,
output up_rx_prbslocked_0,
output [ 1:0] up_rx_bufstatus_0,
input up_rx_bufstatus_rst_0,
input up_rx_lpm_dfe_n_0,
input [ 2:0] up_rx_rate_0,
input [ 1:0] up_rx_sys_clk_sel_0,
input [ 2:0] up_rx_out_clk_sel_0,
input up_rx_enb_0,
input [11:0] up_rx_addr_0,
input up_rx_wr_0,
input [15:0] up_rx_wdata_0,
output [15:0] up_rx_rdata_0,
output up_rx_ready_0,
output up_tx_pll_locked_0,
input up_tx_rst_0,
input up_tx_user_ready_0,
output up_tx_rst_done_0,
output [ 1:0] up_tx_bufstatus_0,
input up_tx_prbsforceerr_0,
input [ 3:0] up_tx_prbssel_0,
input up_tx_lpm_dfe_n_0,
input [ 2:0] up_tx_rate_0,
input [ 1:0] up_tx_sys_clk_sel_0,
input [ 2:0] up_tx_out_clk_sel_0,
input [ 4:0] up_tx_diffctrl_0,
input [ 4:0] up_tx_postcursor_0,
input [ 4:0] up_tx_precursor_0,
input up_tx_enb_0,
input [11:0] up_tx_addr_0,
input up_tx_wr_0,
input [15:0] up_tx_wdata_0,
output [15:0] up_tx_rdata_0,
output up_tx_ready_0,
input cpll_ref_clk_1,
input up_cpll_rst_1,
input rx_1_p,
input rx_1_n,
output rx_out_clk_1,
output rx_out_clk_div2_1,
input rx_clk_1,
input rx_clk_2x_1,
output [DATA_PATH_WIDTH-1:0] rx_charisk_1,
output [DATA_PATH_WIDTH-1:0] rx_disperr_1,
output [DATA_PATH_WIDTH-1:0] rx_notintable_1,
output [DATA_PATH_WIDTH*8-1:0] rx_data_1,
input rx_calign_1,
output [1:0] rx_header_1,
output rx_block_sync_1,
output tx_1_p,
output tx_1_n,
output tx_out_clk_1,
output tx_out_clk_div2_1,
input tx_clk_1,
input tx_clk_2x_1,
input [DATA_PATH_WIDTH-1:0] tx_charisk_1,
input [DATA_PATH_WIDTH*8-1:0] tx_data_1,
input [1:0] tx_header_1,
input up_es_enb_1,
input [11:0] up_es_addr_1,
input up_es_wr_1,
input [15:0] up_es_wdata_1,
output [15:0] up_es_rdata_1,
output up_es_ready_1,
input up_es_reset_1,
output up_rx_pll_locked_1,
input up_rx_rst_1,
input up_rx_user_ready_1,
output up_rx_rst_done_1,
input [ 3:0] up_rx_prbssel_1,
input up_rx_prbscntreset_1,
output up_rx_prbserr_1,
output up_rx_prbslocked_1,
output [ 1:0] up_rx_bufstatus_1,
input up_rx_bufstatus_rst_1,
input up_rx_lpm_dfe_n_1,
input [ 2:0] up_rx_rate_1,
input [ 1:0] up_rx_sys_clk_sel_1,
input [ 2:0] up_rx_out_clk_sel_1,
input up_rx_enb_1,
input [11:0] up_rx_addr_1,
input up_rx_wr_1,
input [15:0] up_rx_wdata_1,
output [15:0] up_rx_rdata_1,
output up_rx_ready_1,
output up_tx_pll_locked_1,
input up_tx_rst_1,
input up_tx_user_ready_1,
output up_tx_rst_done_1,
output [ 1:0] up_tx_bufstatus_1,
input up_tx_prbsforceerr_1,
input [ 3:0] up_tx_prbssel_1,
input up_tx_lpm_dfe_n_1,
input [ 2:0] up_tx_rate_1,
input [ 1:0] up_tx_sys_clk_sel_1,
input [ 2:0] up_tx_out_clk_sel_1,
input [ 4:0] up_tx_diffctrl_1,
input [ 4:0] up_tx_postcursor_1,
input [ 4:0] up_tx_precursor_1,
input up_tx_enb_1,
input [11:0] up_tx_addr_1,
input up_tx_wr_1,
input [15:0] up_tx_wdata_1,
output [15:0] up_tx_rdata_1,
output up_tx_ready_1,
input cpll_ref_clk_2,
input up_cpll_rst_2,
input rx_2_p,
input rx_2_n,
output rx_out_clk_2,
output rx_out_clk_div2_2,
input rx_clk_2,
input rx_clk_2x_2,
output [DATA_PATH_WIDTH-1:0] rx_charisk_2,
output [DATA_PATH_WIDTH-1:0] rx_disperr_2,
output [DATA_PATH_WIDTH-1:0] rx_notintable_2,
output [DATA_PATH_WIDTH*8-1:0] rx_data_2,
input rx_calign_2,
output [1:0] rx_header_2,
output rx_block_sync_2,
output tx_2_p,
output tx_2_n,
output tx_out_clk_2,
output tx_out_clk_div2_2,
input tx_clk_2,
input tx_clk_2x_2,
input [DATA_PATH_WIDTH-1:0] tx_charisk_2,
input [DATA_PATH_WIDTH*8-1:0] tx_data_2,
input [1:0] tx_header_2,
input up_es_enb_2,
input [11:0] up_es_addr_2,
input up_es_wr_2,
input [15:0] up_es_wdata_2,
output [15:0] up_es_rdata_2,
output up_es_ready_2,
input up_es_reset_2,
output up_rx_pll_locked_2,
input up_rx_rst_2,
input up_rx_user_ready_2,
output up_rx_rst_done_2,
input [ 3:0] up_rx_prbssel_2,
input up_rx_prbscntreset_2,
output up_rx_prbserr_2,
output up_rx_prbslocked_2,
output [ 1:0] up_rx_bufstatus_2,
input up_rx_bufstatus_rst_2,
input up_rx_lpm_dfe_n_2,
input [ 2:0] up_rx_rate_2,
input [ 1:0] up_rx_sys_clk_sel_2,
input [ 2:0] up_rx_out_clk_sel_2,
input up_rx_enb_2,
input [11:0] up_rx_addr_2,
input up_rx_wr_2,
input [15:0] up_rx_wdata_2,
output [15:0] up_rx_rdata_2,
output up_rx_ready_2,
output up_tx_pll_locked_2,
input up_tx_rst_2,
input up_tx_user_ready_2,
output up_tx_rst_done_2,
output [ 1:0] up_tx_bufstatus_2,
input up_tx_prbsforceerr_2,
input [ 3:0] up_tx_prbssel_2,
input up_tx_lpm_dfe_n_2,
input [ 2:0] up_tx_rate_2,
input [ 1:0] up_tx_sys_clk_sel_2,
input [ 2:0] up_tx_out_clk_sel_2,
input [ 4:0] up_tx_diffctrl_2,
input [ 4:0] up_tx_postcursor_2,
input [ 4:0] up_tx_precursor_2,
input up_tx_enb_2,
input [11:0] up_tx_addr_2,
input up_tx_wr_2,
input [15:0] up_tx_wdata_2,
output [15:0] up_tx_rdata_2,
output up_tx_ready_2,
input cpll_ref_clk_3,
input up_cpll_rst_3,
input rx_3_p,
input rx_3_n,
output rx_out_clk_3,
output rx_out_clk_div2_3,
input rx_clk_3,
input rx_clk_2x_3,
output [DATA_PATH_WIDTH-1:0] rx_charisk_3,
output [DATA_PATH_WIDTH-1:0] rx_disperr_3,
output [DATA_PATH_WIDTH-1:0] rx_notintable_3,
output [DATA_PATH_WIDTH*8-1:0] rx_data_3,
input rx_calign_3,
output [1:0] rx_header_3,
output rx_block_sync_3,
output tx_3_p,
output tx_3_n,
output tx_out_clk_3,
output tx_out_clk_div2_3,
input tx_clk_3,
input tx_clk_2x_3,
input [DATA_PATH_WIDTH-1:0] tx_charisk_3,
input [DATA_PATH_WIDTH*8-1:0] tx_data_3,
input [1:0] tx_header_3,
input up_es_enb_3,
input [11:0] up_es_addr_3,
input up_es_wr_3,
input [15:0] up_es_wdata_3,
output [15:0] up_es_rdata_3,
output up_es_ready_3,
input up_es_reset_3,
output up_rx_pll_locked_3,
input up_rx_rst_3,
input up_rx_user_ready_3,
output up_rx_rst_done_3,
input [ 3:0] up_rx_prbssel_3,
input up_rx_prbscntreset_3,
output up_rx_prbserr_3,
output up_rx_prbslocked_3,
output [ 1:0] up_rx_bufstatus_3,
input up_rx_bufstatus_rst_3,
input up_rx_lpm_dfe_n_3,
input [ 2:0] up_rx_rate_3,
input [ 1:0] up_rx_sys_clk_sel_3,
input [ 2:0] up_rx_out_clk_sel_3,
input up_rx_enb_3,
input [11:0] up_rx_addr_3,
input up_rx_wr_3,
input [15:0] up_rx_wdata_3,
output [15:0] up_rx_rdata_3,
output up_rx_ready_3,
output up_tx_pll_locked_3,
input up_tx_rst_3,
input up_tx_user_ready_3,
output up_tx_rst_done_3,
output [ 1:0] up_tx_bufstatus_3,
input up_tx_prbsforceerr_3,
input [ 3:0] up_tx_prbssel_3,
input up_tx_lpm_dfe_n_3,
input [ 2:0] up_tx_rate_3,
input [ 1:0] up_tx_sys_clk_sel_3,
input [ 2:0] up_tx_out_clk_sel_3,
input [ 4:0] up_tx_diffctrl_3,
input [ 4:0] up_tx_postcursor_3,
input [ 4:0] up_tx_precursor_3,
input up_tx_enb_3,
input [11:0] up_tx_addr_3,
input up_tx_wr_3,
input [15:0] up_tx_wdata_3,
output [15:0] up_tx_rdata_3,
output up_tx_ready_3,
input qpll_ref_clk_4,
input up_qpll_rst_4,
input cpll_ref_clk_4,
input up_cpll_rst_4,
input rx_4_p,
input rx_4_n,
output rx_out_clk_4,
output rx_out_clk_div2_4,
input rx_clk_4,
input rx_clk_2x_4,
output [DATA_PATH_WIDTH-1:0] rx_charisk_4,
output [DATA_PATH_WIDTH-1:0] rx_disperr_4,
output [DATA_PATH_WIDTH-1:0] rx_notintable_4,
output [DATA_PATH_WIDTH*8-1:0] rx_data_4,
input rx_calign_4,
output [1:0] rx_header_4,
output rx_block_sync_4,
output tx_4_p,
output tx_4_n,
output tx_out_clk_4,
output tx_out_clk_div2_4,
input tx_clk_4,
input tx_clk_2x_4,
input [DATA_PATH_WIDTH-1:0] tx_charisk_4,
input [DATA_PATH_WIDTH*8-1:0] tx_data_4,
input [1:0] tx_header_4,
input up_cm_enb_4,
input [11:0] up_cm_addr_4,
input up_cm_wr_4,
input [15:0] up_cm_wdata_4,
output [15:0] up_cm_rdata_4,
output up_cm_ready_4,
input up_es_enb_4,
input [11:0] up_es_addr_4,
input up_es_wr_4,
input [15:0] up_es_wdata_4,
output [15:0] up_es_rdata_4,
output up_es_ready_4,
input up_es_reset_4,
output up_rx_pll_locked_4,
input up_rx_rst_4,
input up_rx_user_ready_4,
output up_rx_rst_done_4,
input [ 3:0] up_rx_prbssel_4,
input up_rx_prbscntreset_4,
output up_rx_prbserr_4,
output up_rx_prbslocked_4,
output [ 1:0] up_rx_bufstatus_4,
input up_rx_bufstatus_rst_4,
input up_rx_lpm_dfe_n_4,
input [ 2:0] up_rx_rate_4,
input [ 1:0] up_rx_sys_clk_sel_4,
input [ 2:0] up_rx_out_clk_sel_4,
input up_rx_enb_4,
input [11:0] up_rx_addr_4,
input up_rx_wr_4,
input [15:0] up_rx_wdata_4,
output [15:0] up_rx_rdata_4,
output up_rx_ready_4,
output up_tx_pll_locked_4,
input up_tx_rst_4,
input up_tx_user_ready_4,
output up_tx_rst_done_4,
output [ 1:0] up_tx_bufstatus_4,
input up_tx_prbsforceerr_4,
input [ 3:0] up_tx_prbssel_4,
input up_tx_lpm_dfe_n_4,
input [ 2:0] up_tx_rate_4,
input [ 1:0] up_tx_sys_clk_sel_4,
input [ 2:0] up_tx_out_clk_sel_4,
input [ 4:0] up_tx_diffctrl_4,
input [ 4:0] up_tx_postcursor_4,
input [ 4:0] up_tx_precursor_4,
input up_tx_enb_4,
input [11:0] up_tx_addr_4,
input up_tx_wr_4,
input [15:0] up_tx_wdata_4,
output [15:0] up_tx_rdata_4,
output up_tx_ready_4,
input cpll_ref_clk_5,
input up_cpll_rst_5,
input rx_5_p,
input rx_5_n,
output rx_out_clk_5,
output rx_out_clk_div2_5,
input rx_clk_5,
input rx_clk_2x_5,
output [DATA_PATH_WIDTH-1:0] rx_charisk_5,
output [DATA_PATH_WIDTH-1:0] rx_disperr_5,
output [DATA_PATH_WIDTH-1:0] rx_notintable_5,
output [DATA_PATH_WIDTH*8-1:0] rx_data_5,
input rx_calign_5,
output [1:0] rx_header_5,
output rx_block_sync_5,
output tx_5_p,
output tx_5_n,
output tx_out_clk_5,
output tx_out_clk_div2_5,
input tx_clk_5,
input tx_clk_2x_5,
input [DATA_PATH_WIDTH-1:0] tx_charisk_5,
input [DATA_PATH_WIDTH*8-1:0] tx_data_5,
input [1:0] tx_header_5,
input up_es_enb_5,
input [11:0] up_es_addr_5,
input up_es_wr_5,
input [15:0] up_es_wdata_5,
output [15:0] up_es_rdata_5,
output up_es_ready_5,
input up_es_reset_5,
output up_rx_pll_locked_5,
input up_rx_rst_5,
input up_rx_user_ready_5,
output up_rx_rst_done_5,
input [ 3:0] up_rx_prbssel_5,
input up_rx_prbscntreset_5,
output up_rx_prbserr_5,
output up_rx_prbslocked_5,
output [ 1:0] up_rx_bufstatus_5,
input up_rx_bufstatus_rst_5,
input up_rx_lpm_dfe_n_5,
input [ 2:0] up_rx_rate_5,
input [ 1:0] up_rx_sys_clk_sel_5,
input [ 2:0] up_rx_out_clk_sel_5,
input up_rx_enb_5,
input [11:0] up_rx_addr_5,
input up_rx_wr_5,
input [15:0] up_rx_wdata_5,
output [15:0] up_rx_rdata_5,
output up_rx_ready_5,
output up_tx_pll_locked_5,
input up_tx_rst_5,
input up_tx_user_ready_5,
output up_tx_rst_done_5,
output [ 1:0] up_tx_bufstatus_5,
input up_tx_prbsforceerr_5,
input [ 3:0] up_tx_prbssel_5,
input up_tx_lpm_dfe_n_5,
input [ 2:0] up_tx_rate_5,
input [ 1:0] up_tx_sys_clk_sel_5,
input [ 2:0] up_tx_out_clk_sel_5,
input [ 4:0] up_tx_diffctrl_5,
input [ 4:0] up_tx_postcursor_5,
input [ 4:0] up_tx_precursor_5,
input up_tx_enb_5,
input [11:0] up_tx_addr_5,
input up_tx_wr_5,
input [15:0] up_tx_wdata_5,
output [15:0] up_tx_rdata_5,
output up_tx_ready_5,
input cpll_ref_clk_6,
input up_cpll_rst_6,
input rx_6_p,
input rx_6_n,
output rx_out_clk_6,
output rx_out_clk_div2_6,
input rx_clk_6,
input rx_clk_2x_6,
output [DATA_PATH_WIDTH-1:0] rx_charisk_6,
output [DATA_PATH_WIDTH-1:0] rx_disperr_6,
output [DATA_PATH_WIDTH-1:0] rx_notintable_6,
output [DATA_PATH_WIDTH*8-1:0] rx_data_6,
input rx_calign_6,
output [1:0] rx_header_6,
output rx_block_sync_6,
output tx_6_p,
output tx_6_n,
output tx_out_clk_6,
output tx_out_clk_div2_6,
input tx_clk_6,
input tx_clk_2x_6,
input [DATA_PATH_WIDTH-1:0] tx_charisk_6,
input [DATA_PATH_WIDTH*8-1:0] tx_data_6,
input [1:0] tx_header_6,
input up_es_enb_6,
input [11:0] up_es_addr_6,
input up_es_wr_6,
input [15:0] up_es_wdata_6,
output [15:0] up_es_rdata_6,
output up_es_ready_6,
input up_es_reset_6,
output up_rx_pll_locked_6,
input up_rx_rst_6,
input up_rx_user_ready_6,
output up_rx_rst_done_6,
input [ 3:0] up_rx_prbssel_6,
input up_rx_prbscntreset_6,
output up_rx_prbserr_6,
output up_rx_prbslocked_6,
output [ 1:0] up_rx_bufstatus_6,
input up_rx_bufstatus_rst_6,
input up_rx_lpm_dfe_n_6,
input [ 2:0] up_rx_rate_6,
input [ 1:0] up_rx_sys_clk_sel_6,
input [ 2:0] up_rx_out_clk_sel_6,
input up_rx_enb_6,
input [11:0] up_rx_addr_6,
input up_rx_wr_6,
input [15:0] up_rx_wdata_6,
output [15:0] up_rx_rdata_6,
output up_rx_ready_6,
output up_tx_pll_locked_6,
input up_tx_rst_6,
input up_tx_user_ready_6,
output up_tx_rst_done_6,
output [ 1:0] up_tx_bufstatus_6,
input up_tx_prbsforceerr_6,
input [ 3:0] up_tx_prbssel_6,
input up_tx_lpm_dfe_n_6,
input [ 2:0] up_tx_rate_6,
input [ 1:0] up_tx_sys_clk_sel_6,
input [ 2:0] up_tx_out_clk_sel_6,
input [ 4:0] up_tx_diffctrl_6,
input [ 4:0] up_tx_postcursor_6,
input [ 4:0] up_tx_precursor_6,
input up_tx_enb_6,
input [11:0] up_tx_addr_6,
input up_tx_wr_6,
input [15:0] up_tx_wdata_6,
output [15:0] up_tx_rdata_6,
output up_tx_ready_6,
input cpll_ref_clk_7,
input up_cpll_rst_7,
input rx_7_p,
input rx_7_n,
output rx_out_clk_7,
output rx_out_clk_div2_7,
input rx_clk_7,
input rx_clk_2x_7,
output [DATA_PATH_WIDTH-1:0] rx_charisk_7,
output [DATA_PATH_WIDTH-1:0] rx_disperr_7,
output [DATA_PATH_WIDTH-1:0] rx_notintable_7,
output [DATA_PATH_WIDTH*8-1:0] rx_data_7,
input rx_calign_7,
output [1:0] rx_header_7,
output rx_block_sync_7,
output tx_7_p,
output tx_7_n,
output tx_out_clk_7,
output tx_out_clk_div2_7,
input tx_clk_7,
input tx_clk_2x_7,
input [DATA_PATH_WIDTH-1:0] tx_charisk_7,
input [DATA_PATH_WIDTH*8-1:0] tx_data_7,
input [1:0] tx_header_7,
input up_es_enb_7,
input [11:0] up_es_addr_7,
input up_es_wr_7,
input [15:0] up_es_wdata_7,
output [15:0] up_es_rdata_7,
output up_es_ready_7,
input up_es_reset_7,
output up_rx_pll_locked_7,
input up_rx_rst_7,
input up_rx_user_ready_7,
output up_rx_rst_done_7,
input [ 3:0] up_rx_prbssel_7,
input up_rx_prbscntreset_7,
output up_rx_prbserr_7,
output up_rx_prbslocked_7,
output [ 1:0] up_rx_bufstatus_7,
input up_rx_bufstatus_rst_7,
input up_rx_lpm_dfe_n_7,
input [ 2:0] up_rx_rate_7,
input [ 1:0] up_rx_sys_clk_sel_7,
input [ 2:0] up_rx_out_clk_sel_7,
input up_rx_enb_7,
input [11:0] up_rx_addr_7,
input up_rx_wr_7,
input [15:0] up_rx_wdata_7,
output [15:0] up_rx_rdata_7,
output up_rx_ready_7,
output up_tx_pll_locked_7,
input up_tx_rst_7,
input up_tx_user_ready_7,
output up_tx_rst_done_7,
output [ 1:0] up_tx_bufstatus_7,
input up_tx_prbsforceerr_7,
input [ 3:0] up_tx_prbssel_7,
input up_tx_lpm_dfe_n_7,
input [ 2:0] up_tx_rate_7,
input [ 1:0] up_tx_sys_clk_sel_7,
input [ 2:0] up_tx_out_clk_sel_7,
input [ 4:0] up_tx_diffctrl_7,
input [ 4:0] up_tx_postcursor_7,
input [ 4:0] up_tx_precursor_7,
input up_tx_enb_7,
input [11:0] up_tx_addr_7,
input up_tx_wr_7,
input [15:0] up_tx_wdata_7,
output [15:0] up_tx_rdata_7,
output up_tx_ready_7,
input qpll_ref_clk_8,
input up_qpll_rst_8,
input cpll_ref_clk_8,
input up_cpll_rst_8,
input rx_8_p,
input rx_8_n,
output rx_out_clk_8,
output rx_out_clk_div2_8,
input rx_clk_8,
input rx_clk_2x_8,
output [DATA_PATH_WIDTH-1:0] rx_charisk_8,
output [DATA_PATH_WIDTH-1:0] rx_disperr_8,
output [DATA_PATH_WIDTH-1:0] rx_notintable_8,
output [DATA_PATH_WIDTH*8-1:0] rx_data_8,
input rx_calign_8,
output [1:0] rx_header_8,
output rx_block_sync_8,
output tx_8_p,
output tx_8_n,
output tx_out_clk_8,
output tx_out_clk_div2_8,
input tx_clk_8,
input tx_clk_2x_8,
input [DATA_PATH_WIDTH-1:0] tx_charisk_8,
input [DATA_PATH_WIDTH*8-1:0] tx_data_8,
input [1:0] tx_header_8,
input up_cm_enb_8,
input [11:0] up_cm_addr_8,
input up_cm_wr_8,
input [15:0] up_cm_wdata_8,
output [15:0] up_cm_rdata_8,
output up_cm_ready_8,
input up_es_enb_8,
input [11:0] up_es_addr_8,
input up_es_wr_8,
input [15:0] up_es_wdata_8,
output [15:0] up_es_rdata_8,
output up_es_ready_8,
input up_es_reset_8,
output up_rx_pll_locked_8,
input up_rx_rst_8,
input up_rx_user_ready_8,
output up_rx_rst_done_8,
input [ 3:0] up_rx_prbssel_8,
input up_rx_prbscntreset_8,
output up_rx_prbserr_8,
output up_rx_prbslocked_8,
output [ 1:0] up_rx_bufstatus_8,
input up_rx_bufstatus_rst_8,
input up_rx_lpm_dfe_n_8,
input [ 2:0] up_rx_rate_8,
input [ 1:0] up_rx_sys_clk_sel_8,
input [ 2:0] up_rx_out_clk_sel_8,
input up_rx_enb_8,
input [11:0] up_rx_addr_8,
input up_rx_wr_8,
input [15:0] up_rx_wdata_8,
output [15:0] up_rx_rdata_8,
output up_rx_ready_8,
output up_tx_pll_locked_8,
input up_tx_rst_8,
input up_tx_user_ready_8,
output up_tx_rst_done_8,
output [ 1:0] up_tx_bufstatus_8,
input up_tx_prbsforceerr_8,
input [ 3:0] up_tx_prbssel_8,
input up_tx_lpm_dfe_n_8,
input [ 2:0] up_tx_rate_8,
input [ 1:0] up_tx_sys_clk_sel_8,
input [ 2:0] up_tx_out_clk_sel_8,
input [ 4:0] up_tx_diffctrl_8,
input [ 4:0] up_tx_postcursor_8,
input [ 4:0] up_tx_precursor_8,
input up_tx_enb_8,
input [11:0] up_tx_addr_8,
input up_tx_wr_8,
input [15:0] up_tx_wdata_8,
output [15:0] up_tx_rdata_8,
output up_tx_ready_8,
input cpll_ref_clk_9,
input up_cpll_rst_9,
input rx_9_p,
input rx_9_n,
output rx_out_clk_9,
output rx_out_clk_div2_9,
input rx_clk_9,
input rx_clk_2x_9,
output [DATA_PATH_WIDTH-1:0] rx_charisk_9,
output [DATA_PATH_WIDTH-1:0] rx_disperr_9,
output [DATA_PATH_WIDTH-1:0] rx_notintable_9,
output [DATA_PATH_WIDTH*8-1:0] rx_data_9,
input rx_calign_9,
output [1:0] rx_header_9,
output rx_block_sync_9,
output tx_9_p,
output tx_9_n,
output tx_out_clk_9,
output tx_out_clk_div2_9,
input tx_clk_9,
input tx_clk_2x_9,
input [DATA_PATH_WIDTH-1:0] tx_charisk_9,
input [DATA_PATH_WIDTH*8-1:0] tx_data_9,
input [1:0] tx_header_9,
input up_es_enb_9,
input [11:0] up_es_addr_9,
input up_es_wr_9,
input [15:0] up_es_wdata_9,
output [15:0] up_es_rdata_9,
output up_es_ready_9,
input up_es_reset_9,
output up_rx_pll_locked_9,
input up_rx_rst_9,
input up_rx_user_ready_9,
output up_rx_rst_done_9,
input [ 3:0] up_rx_prbssel_9,
input up_rx_prbscntreset_9,
output up_rx_prbserr_9,
output up_rx_prbslocked_9,
output [ 1:0] up_rx_bufstatus_9,
input up_rx_bufstatus_rst_9,
input up_rx_lpm_dfe_n_9,
input [ 2:0] up_rx_rate_9,
input [ 1:0] up_rx_sys_clk_sel_9,
input [ 2:0] up_rx_out_clk_sel_9,
input up_rx_enb_9,
input [11:0] up_rx_addr_9,
input up_rx_wr_9,
input [15:0] up_rx_wdata_9,
output [15:0] up_rx_rdata_9,
output up_rx_ready_9,
output up_tx_pll_locked_9,
input up_tx_rst_9,
input up_tx_user_ready_9,
output up_tx_rst_done_9,
output [ 1:0] up_tx_bufstatus_9,
input up_tx_prbsforceerr_9,
input [ 3:0] up_tx_prbssel_9,
input up_tx_lpm_dfe_n_9,
input [ 2:0] up_tx_rate_9,
input [ 1:0] up_tx_sys_clk_sel_9,
input [ 2:0] up_tx_out_clk_sel_9,
input [ 4:0] up_tx_diffctrl_9,
input [ 4:0] up_tx_postcursor_9,
input [ 4:0] up_tx_precursor_9,
input up_tx_enb_9,
input [11:0] up_tx_addr_9,
input up_tx_wr_9,
input [15:0] up_tx_wdata_9,
output [15:0] up_tx_rdata_9,
output up_tx_ready_9,
input cpll_ref_clk_10,
input up_cpll_rst_10,
input rx_10_p,
input rx_10_n,
output rx_out_clk_10,
output rx_out_clk_div2_10,
input rx_clk_10,
input rx_clk_2x_10,
output [DATA_PATH_WIDTH-1:0] rx_charisk_10,
output [DATA_PATH_WIDTH-1:0] rx_disperr_10,
output [DATA_PATH_WIDTH-1:0] rx_notintable_10,
output [DATA_PATH_WIDTH*8-1:0] rx_data_10,
input rx_calign_10,
output [1:0] rx_header_10,
output rx_block_sync_10,
output tx_10_p,
output tx_10_n,
output tx_out_clk_10,
output tx_out_clk_div2_10,
input tx_clk_10,
input tx_clk_2x_10,
input [DATA_PATH_WIDTH-1:0] tx_charisk_10,
input [DATA_PATH_WIDTH*8-1:0] tx_data_10,
input [1:0] tx_header_10,
input up_es_enb_10,
input [11:0] up_es_addr_10,
input up_es_wr_10,
input [15:0] up_es_wdata_10,
output [15:0] up_es_rdata_10,
output up_es_ready_10,
input up_es_reset_10,
output up_rx_pll_locked_10,
input up_rx_rst_10,
input up_rx_user_ready_10,
output up_rx_rst_done_10,
input [ 3:0] up_rx_prbssel_10,
input up_rx_prbscntreset_10,
output up_rx_prbserr_10,
output up_rx_prbslocked_10,
output [ 1:0] up_rx_bufstatus_10,
input up_rx_bufstatus_rst_10,
input up_rx_lpm_dfe_n_10,
input [ 2:0] up_rx_rate_10,
input [ 1:0] up_rx_sys_clk_sel_10,
input [ 2:0] up_rx_out_clk_sel_10,
input up_rx_enb_10,
input [11:0] up_rx_addr_10,
input up_rx_wr_10,
input [15:0] up_rx_wdata_10,
output [15:0] up_rx_rdata_10,
output up_rx_ready_10,
output up_tx_pll_locked_10,
input up_tx_rst_10,
input up_tx_user_ready_10,
output up_tx_rst_done_10,
output [ 1:0] up_tx_bufstatus_10,
input up_tx_prbsforceerr_10,
input [ 3:0] up_tx_prbssel_10,
input up_tx_lpm_dfe_n_10,
input [ 2:0] up_tx_rate_10,
input [ 1:0] up_tx_sys_clk_sel_10,
input [ 2:0] up_tx_out_clk_sel_10,
input [ 4:0] up_tx_diffctrl_10,
input [ 4:0] up_tx_postcursor_10,
input [ 4:0] up_tx_precursor_10,
input up_tx_enb_10,
input [11:0] up_tx_addr_10,
input up_tx_wr_10,
input [15:0] up_tx_wdata_10,
output [15:0] up_tx_rdata_10,
output up_tx_ready_10,
input cpll_ref_clk_11,
input up_cpll_rst_11,
input rx_11_p,
input rx_11_n,
output rx_out_clk_11,
output rx_out_clk_div2_11,
input rx_clk_11,
input rx_clk_2x_11,
output [DATA_PATH_WIDTH-1:0] rx_charisk_11,
output [DATA_PATH_WIDTH-1:0] rx_disperr_11,
output [DATA_PATH_WIDTH-1:0] rx_notintable_11,
output [DATA_PATH_WIDTH*8-1:0] rx_data_11,
input rx_calign_11,
output [1:0] rx_header_11,
output rx_block_sync_11,
output tx_11_p,
output tx_11_n,
output tx_out_clk_11,
output tx_out_clk_div2_11,
input tx_clk_11,
input tx_clk_2x_11,
input [DATA_PATH_WIDTH-1:0] tx_charisk_11,
input [DATA_PATH_WIDTH*8-1:0] tx_data_11,
input [1:0] tx_header_11,
input up_es_enb_11,
input [11:0] up_es_addr_11,
input up_es_wr_11,
input [15:0] up_es_wdata_11,
output [15:0] up_es_rdata_11,
output up_es_ready_11,
input up_es_reset_11,
output up_rx_pll_locked_11,
input up_rx_rst_11,
input up_rx_user_ready_11,
output up_rx_rst_done_11,
input [ 3:0] up_rx_prbssel_11,
input up_rx_prbscntreset_11,
output up_rx_prbserr_11,
output up_rx_prbslocked_11,
output [ 1:0] up_rx_bufstatus_11,
input up_rx_bufstatus_rst_11,
input up_rx_lpm_dfe_n_11,
input [ 2:0] up_rx_rate_11,
input [ 1:0] up_rx_sys_clk_sel_11,
input [ 2:0] up_rx_out_clk_sel_11,
input up_rx_enb_11,
input [11:0] up_rx_addr_11,
input up_rx_wr_11,
input [15:0] up_rx_wdata_11,
output [15:0] up_rx_rdata_11,
output up_rx_ready_11,
output up_tx_pll_locked_11,
input up_tx_rst_11,
input up_tx_user_ready_11,
output up_tx_rst_done_11,
output [ 1:0] up_tx_bufstatus_11,
input up_tx_prbsforceerr_11,
input [ 3:0] up_tx_prbssel_11,
input up_tx_lpm_dfe_n_11,
input [ 2:0] up_tx_rate_11,
input [ 1:0] up_tx_sys_clk_sel_11,
input [ 2:0] up_tx_out_clk_sel_11,
input [ 4:0] up_tx_diffctrl_11,
input [ 4:0] up_tx_postcursor_11,
input [ 4:0] up_tx_precursor_11,
input up_tx_enb_11,
input [11:0] up_tx_addr_11,
input up_tx_wr_11,
input [15:0] up_tx_wdata_11,
output [15:0] up_tx_rdata_11,
output up_tx_ready_11,
input qpll_ref_clk_12,
input up_qpll_rst_12,
input cpll_ref_clk_12,
input up_cpll_rst_12,
input rx_12_p,
input rx_12_n,
output rx_out_clk_12,
output rx_out_clk_div2_12,
input rx_clk_12,
input rx_clk_2x_12,
output [DATA_PATH_WIDTH-1:0] rx_charisk_12,
output [DATA_PATH_WIDTH-1:0] rx_disperr_12,
output [DATA_PATH_WIDTH-1:0] rx_notintable_12,
output [DATA_PATH_WIDTH*8-1:0] rx_data_12,
input rx_calign_12,
output [1:0] rx_header_12,
output rx_block_sync_12,
output tx_12_p,
output tx_12_n,
output tx_out_clk_12,
output tx_out_clk_div2_12,
input tx_clk_12,
input tx_clk_2x_12,
input [DATA_PATH_WIDTH-1:0] tx_charisk_12,
input [DATA_PATH_WIDTH*8-1:0] tx_data_12,
input [1:0] tx_header_12,
input up_cm_enb_12,
input [11:0] up_cm_addr_12,
input up_cm_wr_12,
input [15:0] up_cm_wdata_12,
output [15:0] up_cm_rdata_12,
output up_cm_ready_12,
input up_es_enb_12,
input [11:0] up_es_addr_12,
input up_es_wr_12,
input [15:0] up_es_wdata_12,
output [15:0] up_es_rdata_12,
output up_es_ready_12,
input up_es_reset_12,
output up_rx_pll_locked_12,
input up_rx_rst_12,
input up_rx_user_ready_12,
output up_rx_rst_done_12,
input [ 3:0] up_rx_prbssel_12,
input up_rx_prbscntreset_12,
output up_rx_prbserr_12,
output up_rx_prbslocked_12,
output [ 1:0] up_rx_bufstatus_12,
input up_rx_bufstatus_rst_12,
input up_rx_lpm_dfe_n_12,
input [ 2:0] up_rx_rate_12,
input [ 1:0] up_rx_sys_clk_sel_12,
input [ 2:0] up_rx_out_clk_sel_12,
input up_rx_enb_12,
input [11:0] up_rx_addr_12,
input up_rx_wr_12,
input [15:0] up_rx_wdata_12,
output [15:0] up_rx_rdata_12,
output up_rx_ready_12,
output up_tx_pll_locked_12,
input up_tx_rst_12,
input up_tx_user_ready_12,
output up_tx_rst_done_12,
output [ 1:0] up_tx_bufstatus_12,
input up_tx_prbsforceerr_12,
input [ 3:0] up_tx_prbssel_12,
input up_tx_lpm_dfe_n_12,
input [ 2:0] up_tx_rate_12,
input [ 1:0] up_tx_sys_clk_sel_12,
input [ 2:0] up_tx_out_clk_sel_12,
input [ 4:0] up_tx_diffctrl_12,
input [ 4:0] up_tx_postcursor_12,
input [ 4:0] up_tx_precursor_12,
input up_tx_enb_12,
input [11:0] up_tx_addr_12,
input up_tx_wr_12,
input [15:0] up_tx_wdata_12,
output [15:0] up_tx_rdata_12,
output up_tx_ready_12,
input cpll_ref_clk_13,
input up_cpll_rst_13,
input rx_13_p,
input rx_13_n,
output rx_out_clk_13,
output rx_out_clk_div2_13,
input rx_clk_13,
input rx_clk_2x_13,
output [DATA_PATH_WIDTH-1:0] rx_charisk_13,
output [DATA_PATH_WIDTH-1:0] rx_disperr_13,
output [DATA_PATH_WIDTH-1:0] rx_notintable_13,
output [DATA_PATH_WIDTH*8-1:0] rx_data_13,
input rx_calign_13,
output [1:0] rx_header_13,
output rx_block_sync_13,
output tx_13_p,
output tx_13_n,
output tx_out_clk_13,
output tx_out_clk_div2_13,
input tx_clk_13,
input tx_clk_2x_13,
input [DATA_PATH_WIDTH-1:0] tx_charisk_13,
input [DATA_PATH_WIDTH*8-1:0] tx_data_13,
input [1:0] tx_header_13,
input up_es_enb_13,
input [11:0] up_es_addr_13,
input up_es_wr_13,
input [15:0] up_es_wdata_13,
output [15:0] up_es_rdata_13,
output up_es_ready_13,
input up_es_reset_13,
output up_rx_pll_locked_13,
input up_rx_rst_13,
input up_rx_user_ready_13,
output up_rx_rst_done_13,
input [ 3:0] up_rx_prbssel_13,
input up_rx_prbscntreset_13,
output up_rx_prbserr_13,
output up_rx_prbslocked_13,
output [ 1:0] up_rx_bufstatus_13,
input up_rx_bufstatus_rst_13,
input up_rx_lpm_dfe_n_13,
input [ 2:0] up_rx_rate_13,
input [ 1:0] up_rx_sys_clk_sel_13,
input [ 2:0] up_rx_out_clk_sel_13,
input up_rx_enb_13,
input [11:0] up_rx_addr_13,
input up_rx_wr_13,
input [15:0] up_rx_wdata_13,
output [15:0] up_rx_rdata_13,
output up_rx_ready_13,
output up_tx_pll_locked_13,
input up_tx_rst_13,
input up_tx_user_ready_13,
output up_tx_rst_done_13,
output [ 1:0] up_tx_bufstatus_13,
input up_tx_prbsforceerr_13,
input [ 3:0] up_tx_prbssel_13,
input up_tx_lpm_dfe_n_13,
input [ 2:0] up_tx_rate_13,
input [ 1:0] up_tx_sys_clk_sel_13,
input [ 2:0] up_tx_out_clk_sel_13,
input [ 4:0] up_tx_diffctrl_13,
input [ 4:0] up_tx_postcursor_13,
input [ 4:0] up_tx_precursor_13,
input up_tx_enb_13,
input [11:0] up_tx_addr_13,
input up_tx_wr_13,
input [15:0] up_tx_wdata_13,
output [15:0] up_tx_rdata_13,
output up_tx_ready_13,
input cpll_ref_clk_14,
input up_cpll_rst_14,
input rx_14_p,
input rx_14_n,
output rx_out_clk_14,
output rx_out_clk_div2_14,
input rx_clk_14,
input rx_clk_2x_14,
output [DATA_PATH_WIDTH-1:0] rx_charisk_14,
output [DATA_PATH_WIDTH-1:0] rx_disperr_14,
output [DATA_PATH_WIDTH-1:0] rx_notintable_14,
output [DATA_PATH_WIDTH*8-1:0] rx_data_14,
input rx_calign_14,
output [1:0] rx_header_14,
output rx_block_sync_14,
output tx_14_p,
output tx_14_n,
output tx_out_clk_14,
output tx_out_clk_div2_14,
input tx_clk_14,
input tx_clk_2x_14,
input [DATA_PATH_WIDTH-1:0] tx_charisk_14,
input [DATA_PATH_WIDTH*8-1:0] tx_data_14,
input [1:0] tx_header_14,
input up_es_enb_14,
input [11:0] up_es_addr_14,
input up_es_wr_14,
input [15:0] up_es_wdata_14,
output [15:0] up_es_rdata_14,
output up_es_ready_14,
input up_es_reset_14,
output up_rx_pll_locked_14,
input up_rx_rst_14,
input up_rx_user_ready_14,
output up_rx_rst_done_14,
input [ 3:0] up_rx_prbssel_14,
input up_rx_prbscntreset_14,
output up_rx_prbserr_14,
output up_rx_prbslocked_14,
output [ 1:0] up_rx_bufstatus_14,
input up_rx_bufstatus_rst_14,
input up_rx_lpm_dfe_n_14,
input [ 2:0] up_rx_rate_14,
input [ 1:0] up_rx_sys_clk_sel_14,
input [ 2:0] up_rx_out_clk_sel_14,
input up_rx_enb_14,
input [11:0] up_rx_addr_14,
input up_rx_wr_14,
input [15:0] up_rx_wdata_14,
output [15:0] up_rx_rdata_14,
output up_rx_ready_14,
output up_tx_pll_locked_14,
input up_tx_rst_14,
input up_tx_user_ready_14,
output up_tx_rst_done_14,
output [ 1:0] up_tx_bufstatus_14,
input up_tx_prbsforceerr_14,
input [ 3:0] up_tx_prbssel_14,
input up_tx_lpm_dfe_n_14,
input [ 2:0] up_tx_rate_14,
input [ 1:0] up_tx_sys_clk_sel_14,
input [ 2:0] up_tx_out_clk_sel_14,
input [ 4:0] up_tx_diffctrl_14,
input [ 4:0] up_tx_postcursor_14,
input [ 4:0] up_tx_precursor_14,
input up_tx_enb_14,
input [11:0] up_tx_addr_14,
input up_tx_wr_14,
input [15:0] up_tx_wdata_14,
output [15:0] up_tx_rdata_14,
output up_tx_ready_14,
input cpll_ref_clk_15,
input up_cpll_rst_15,
input rx_15_p,
input rx_15_n,
output rx_out_clk_15,
output rx_out_clk_div2_15,
input rx_clk_15,
input rx_clk_2x_15,
output [DATA_PATH_WIDTH-1:0] rx_charisk_15,
output [DATA_PATH_WIDTH-1:0] rx_disperr_15,
output [DATA_PATH_WIDTH-1:0] rx_notintable_15,
output [DATA_PATH_WIDTH*8-1:0] rx_data_15,
input rx_calign_15,
output [1:0] rx_header_15,
output rx_block_sync_15,
output tx_15_p,
output tx_15_n,
output tx_out_clk_15,
output tx_out_clk_div2_15,
input tx_clk_15,
input tx_clk_2x_15,
input [DATA_PATH_WIDTH-1:0] tx_charisk_15,
input [DATA_PATH_WIDTH*8-1:0] tx_data_15,
input [1:0] tx_header_15,
input up_es_enb_15,
input [11:0] up_es_addr_15,
input up_es_wr_15,
input [15:0] up_es_wdata_15,
output [15:0] up_es_rdata_15,
output up_es_ready_15,
input up_es_reset_15,
output up_rx_pll_locked_15,
input up_rx_rst_15,
input up_rx_user_ready_15,
output up_rx_rst_done_15,
input [ 3:0] up_rx_prbssel_15,
input up_rx_prbscntreset_15,
output up_rx_prbserr_15,
output up_rx_prbslocked_15,
output [ 1:0] up_rx_bufstatus_15,
input up_rx_bufstatus_rst_15,
input up_rx_lpm_dfe_n_15,
input [ 2:0] up_rx_rate_15,
input [ 1:0] up_rx_sys_clk_sel_15,
input [ 2:0] up_rx_out_clk_sel_15,
input up_rx_enb_15,
input [11:0] up_rx_addr_15,
input up_rx_wr_15,
input [15:0] up_rx_wdata_15,
output [15:0] up_rx_rdata_15,
output up_rx_ready_15,
output up_tx_pll_locked_15,
input up_tx_rst_15,
input up_tx_user_ready_15,
output up_tx_rst_done_15,
output [ 1:0] up_tx_bufstatus_15,
input up_tx_prbsforceerr_15,
input [ 3:0] up_tx_prbssel_15,
input up_tx_lpm_dfe_n_15,
input [ 2:0] up_tx_rate_15,
input [ 1:0] up_tx_sys_clk_sel_15,
input [ 2:0] up_tx_out_clk_sel_15,
input [ 4:0] up_tx_diffctrl_15,
input [ 4:0] up_tx_postcursor_15,
input [ 4:0] up_tx_precursor_15,
input up_tx_enb_15,
input [11:0] up_tx_addr_15,
input up_tx_wr_15,
input [15:0] up_tx_wdata_15,
output [15:0] up_tx_rdata_15,
output up_tx_ready_15,
input qpll_ref_clk_16,
input up_qpll_rst_16,
input cpll_ref_clk_16,
input up_cpll_rst_16,
input rx_16_p,
input rx_16_n,
output rx_out_clk_16,
output rx_out_clk_div2_16,
input rx_clk_16,
input rx_clk_2x_16,
output [DATA_PATH_WIDTH-1:0] rx_charisk_16,
output [DATA_PATH_WIDTH-1:0] rx_disperr_16,
output [DATA_PATH_WIDTH-1:0] rx_notintable_16,
output [DATA_PATH_WIDTH*8-1:0] rx_data_16,
input rx_calign_16,
output [1:0] rx_header_16,
output rx_block_sync_16,
output tx_16_p,
output tx_16_n,
output tx_out_clk_16,
output tx_out_clk_div2_16,
input tx_clk_16,
input tx_clk_2x_16,
input [DATA_PATH_WIDTH-1:0] tx_charisk_16,
input [DATA_PATH_WIDTH*8-1:0] tx_data_16,
input [1:0] tx_header_16,
input up_cm_enb_16,
input [11:0] up_cm_addr_16,
input up_cm_wr_16,
input [15:0] up_cm_wdata_16,
output [15:0] up_cm_rdata_16,
output up_cm_ready_16,
input up_es_enb_16,
input [11:0] up_es_addr_16,
input up_es_wr_16,
input [15:0] up_es_wdata_16,
output [15:0] up_es_rdata_16,
output up_es_ready_16,
input up_es_reset_16,
output up_rx_pll_locked_16,
input up_rx_rst_16,
input up_rx_user_ready_16,
output up_rx_rst_done_16,
input [ 3:0] up_rx_prbssel_16,
input up_rx_prbscntreset_16,
output up_rx_prbserr_16,
output up_rx_prbslocked_16,
output [ 1:0] up_rx_bufstatus_16,
input up_rx_bufstatus_rst_16,
input up_rx_lpm_dfe_n_16,
input [ 2:0] up_rx_rate_16,
input [ 1:0] up_rx_sys_clk_sel_16,
input [ 2:0] up_rx_out_clk_sel_16,
input up_rx_enb_16,
input [11:0] up_rx_addr_16,
input up_rx_wr_16,
input [15:0] up_rx_wdata_16,
output [15:0] up_rx_rdata_16,
output up_rx_ready_16,
output up_tx_pll_locked_16,
input up_tx_rst_16,
input up_tx_user_ready_16,
output up_tx_rst_done_16,
output [ 1:0] up_tx_bufstatus_16,
input up_tx_prbsforceerr_16,
input [ 3:0] up_tx_prbssel_16,
input up_tx_lpm_dfe_n_16,
input [ 2:0] up_tx_rate_16,
input [ 1:0] up_tx_sys_clk_sel_16,
input [ 2:0] up_tx_out_clk_sel_16,
input [ 4:0] up_tx_diffctrl_16,
input [ 4:0] up_tx_postcursor_16,
input [ 4:0] up_tx_precursor_16,
input up_tx_enb_16,
input [11:0] up_tx_addr_16,
input up_tx_wr_16,
input [15:0] up_tx_wdata_16,
output [15:0] up_tx_rdata_16,
output up_tx_ready_16,
input cpll_ref_clk_17,
input up_cpll_rst_17,
input rx_17_p,
input rx_17_n,
output rx_out_clk_17,
output rx_out_clk_div2_17,
input rx_clk_17,
input rx_clk_2x_17,
output [DATA_PATH_WIDTH-1:0] rx_charisk_17,
output [DATA_PATH_WIDTH-1:0] rx_disperr_17,
output [DATA_PATH_WIDTH-1:0] rx_notintable_17,
output [DATA_PATH_WIDTH*8-1:0] rx_data_17,
input rx_calign_17,
output [1:0] rx_header_17,
output rx_block_sync_17,
output tx_17_p,
output tx_17_n,
output tx_out_clk_17,
output tx_out_clk_div2_17,
input tx_clk_17,
input tx_clk_2x_17,
input [DATA_PATH_WIDTH-1:0] tx_charisk_17,
input [DATA_PATH_WIDTH*8-1:0] tx_data_17,
input [1:0] tx_header_17,
input up_es_enb_17,
input [11:0] up_es_addr_17,
input up_es_wr_17,
input [15:0] up_es_wdata_17,
output [15:0] up_es_rdata_17,
output up_es_ready_17,
input up_es_reset_17,
output up_rx_pll_locked_17,
input up_rx_rst_17,
input up_rx_user_ready_17,
output up_rx_rst_done_17,
input [ 3:0] up_rx_prbssel_17,
input up_rx_prbscntreset_17,
output up_rx_prbserr_17,
output up_rx_prbslocked_17,
output [ 1:0] up_rx_bufstatus_17,
input up_rx_bufstatus_rst_17,
input up_rx_lpm_dfe_n_17,
input [ 2:0] up_rx_rate_17,
input [ 1:0] up_rx_sys_clk_sel_17,
input [ 2:0] up_rx_out_clk_sel_17,
input up_rx_enb_17,
input [11:0] up_rx_addr_17,
input up_rx_wr_17,
input [15:0] up_rx_wdata_17,
output [15:0] up_rx_rdata_17,
output up_rx_ready_17,
output up_tx_pll_locked_17,
input up_tx_rst_17,
input up_tx_user_ready_17,
output up_tx_rst_done_17,
output [ 1:0] up_tx_bufstatus_17,
input up_tx_prbsforceerr_17,
input [ 3:0] up_tx_prbssel_17,
input up_tx_lpm_dfe_n_17,
input [ 2:0] up_tx_rate_17,
input [ 1:0] up_tx_sys_clk_sel_17,
input [ 2:0] up_tx_out_clk_sel_17,
input [ 4:0] up_tx_diffctrl_17,
input [ 4:0] up_tx_postcursor_17,
input [ 4:0] up_tx_precursor_17,
input up_tx_enb_17,
input [11:0] up_tx_addr_17,
input up_tx_wr_17,
input [15:0] up_tx_wdata_17,
output [15:0] up_tx_rdata_17,
output up_tx_ready_17,
input cpll_ref_clk_18,
input up_cpll_rst_18,
input rx_18_p,
input rx_18_n,
output rx_out_clk_18,
output rx_out_clk_div2_18,
input rx_clk_18,
input rx_clk_2x_18,
output [DATA_PATH_WIDTH-1:0] rx_charisk_18,
output [DATA_PATH_WIDTH-1:0] rx_disperr_18,
output [DATA_PATH_WIDTH-1:0] rx_notintable_18,
output [DATA_PATH_WIDTH*8-1:0] rx_data_18,
input rx_calign_18,
output [1:0] rx_header_18,
output rx_block_sync_18,
output tx_18_p,
output tx_18_n,
output tx_out_clk_18,
output tx_out_clk_div2_18,
input tx_clk_18,
input tx_clk_2x_18,
input [DATA_PATH_WIDTH-1:0] tx_charisk_18,
input [DATA_PATH_WIDTH*8-1:0] tx_data_18,
input [1:0] tx_header_18,
input up_es_enb_18,
input [11:0] up_es_addr_18,
input up_es_wr_18,
input [15:0] up_es_wdata_18,
output [15:0] up_es_rdata_18,
output up_es_ready_18,
input up_es_reset_18,
output up_rx_pll_locked_18,
input up_rx_rst_18,
input up_rx_user_ready_18,
output up_rx_rst_done_18,
input [ 3:0] up_rx_prbssel_18,
input up_rx_prbscntreset_18,
output up_rx_prbserr_18,
output up_rx_prbslocked_18,
output [ 1:0] up_rx_bufstatus_18,
input up_rx_bufstatus_rst_18,
input up_rx_lpm_dfe_n_18,
input [ 2:0] up_rx_rate_18,
input [ 1:0] up_rx_sys_clk_sel_18,
input [ 2:0] up_rx_out_clk_sel_18,
input up_rx_enb_18,
input [11:0] up_rx_addr_18,
input up_rx_wr_18,
input [15:0] up_rx_wdata_18,
output [15:0] up_rx_rdata_18,
output up_rx_ready_18,
output up_tx_pll_locked_18,
input up_tx_rst_18,
input up_tx_user_ready_18,
output up_tx_rst_done_18,
output [ 1:0] up_tx_bufstatus_18,
input up_tx_prbsforceerr_18,
input [ 3:0] up_tx_prbssel_18,
input up_tx_lpm_dfe_n_18,
input [ 2:0] up_tx_rate_18,
input [ 1:0] up_tx_sys_clk_sel_18,
input [ 2:0] up_tx_out_clk_sel_18,
input [ 4:0] up_tx_diffctrl_18,
input [ 4:0] up_tx_postcursor_18,
input [ 4:0] up_tx_precursor_18,
input up_tx_enb_18,
input [11:0] up_tx_addr_18,
input up_tx_wr_18,
input [15:0] up_tx_wdata_18,
output [15:0] up_tx_rdata_18,
output up_tx_ready_18,
input cpll_ref_clk_19,
input up_cpll_rst_19,
input rx_19_p,
input rx_19_n,
output rx_out_clk_19,
output rx_out_clk_div2_19,
input rx_clk_19,
input rx_clk_2x_19,
output [DATA_PATH_WIDTH-1:0] rx_charisk_19,
output [DATA_PATH_WIDTH-1:0] rx_disperr_19,
output [DATA_PATH_WIDTH-1:0] rx_notintable_19,
output [DATA_PATH_WIDTH*8-1:0] rx_data_19,
input rx_calign_19,
output [1:0] rx_header_19,
output rx_block_sync_19,
output tx_19_p,
output tx_19_n,
output tx_out_clk_19,
output tx_out_clk_div2_19,
input tx_clk_19,
input tx_clk_2x_19,
input [DATA_PATH_WIDTH-1:0] tx_charisk_19,
input [DATA_PATH_WIDTH*8-1:0] tx_data_19,
input [1:0] tx_header_19,
input up_es_enb_19,
input [11:0] up_es_addr_19,
input up_es_wr_19,
input [15:0] up_es_wdata_19,
output [15:0] up_es_rdata_19,
output up_es_ready_19,
input up_es_reset_19,
output up_rx_pll_locked_19,
input up_rx_rst_19,
input up_rx_user_ready_19,
output up_rx_rst_done_19,
input [ 3:0] up_rx_prbssel_19,
input up_rx_prbscntreset_19,
output up_rx_prbserr_19,
output up_rx_prbslocked_19,
output [ 1:0] up_rx_bufstatus_19,
input up_rx_bufstatus_rst_19,
input up_rx_lpm_dfe_n_19,
input [ 2:0] up_rx_rate_19,
input [ 1:0] up_rx_sys_clk_sel_19,
input [ 2:0] up_rx_out_clk_sel_19,
input up_rx_enb_19,
input [11:0] up_rx_addr_19,
input up_rx_wr_19,
input [15:0] up_rx_wdata_19,
output [15:0] up_rx_rdata_19,
output up_rx_ready_19,
output up_tx_pll_locked_19,
input up_tx_rst_19,
input up_tx_user_ready_19,
output up_tx_rst_done_19,
output [ 1:0] up_tx_bufstatus_19,
input up_tx_prbsforceerr_19,
input [ 3:0] up_tx_prbssel_19,
input up_tx_lpm_dfe_n_19,
input [ 2:0] up_tx_rate_19,
input [ 1:0] up_tx_sys_clk_sel_19,
input [ 2:0] up_tx_out_clk_sel_19,
input [ 4:0] up_tx_diffctrl_19,
input [ 4:0] up_tx_postcursor_19,
input [ 4:0] up_tx_precursor_19,
input up_tx_enb_19,
input [11:0] up_tx_addr_19,
input up_tx_wr_19,
input [15:0] up_tx_wdata_19,
output [15:0] up_tx_rdata_19,
output up_tx_ready_19,
input qpll_ref_clk_20,
input up_qpll_rst_20,
input cpll_ref_clk_20,
input up_cpll_rst_20,
input rx_20_p,
input rx_20_n,
output rx_out_clk_20,
output rx_out_clk_div2_20,
input rx_clk_20,
input rx_clk_2x_20,
output [DATA_PATH_WIDTH-1:0] rx_charisk_20,
output [DATA_PATH_WIDTH-1:0] rx_disperr_20,
output [DATA_PATH_WIDTH-1:0] rx_notintable_20,
output [DATA_PATH_WIDTH*8-1:0] rx_data_20,
input rx_calign_20,
output [1:0] rx_header_20,
output rx_block_sync_20,
output tx_20_p,
output tx_20_n,
output tx_out_clk_20,
output tx_out_clk_div2_20,
input tx_clk_20,
input tx_clk_2x_20,
input [DATA_PATH_WIDTH-1:0] tx_charisk_20,
input [DATA_PATH_WIDTH*8-1:0] tx_data_20,
input [1:0] tx_header_20,
input up_cm_enb_20,
input [11:0] up_cm_addr_20,
input up_cm_wr_20,
input [15:0] up_cm_wdata_20,
output [15:0] up_cm_rdata_20,
output up_cm_ready_20,
input up_es_enb_20,
input [11:0] up_es_addr_20,
input up_es_wr_20,
input [15:0] up_es_wdata_20,
output [15:0] up_es_rdata_20,
output up_es_ready_20,
input up_es_reset_20,
output up_rx_pll_locked_20,
input up_rx_rst_20,
input up_rx_user_ready_20,
output up_rx_rst_done_20,
input [ 3:0] up_rx_prbssel_20,
input up_rx_prbscntreset_20,
output up_rx_prbserr_20,
output up_rx_prbslocked_20,
output [ 1:0] up_rx_bufstatus_20,
input up_rx_bufstatus_rst_20,
input up_rx_lpm_dfe_n_20,
input [ 2:0] up_rx_rate_20,
input [ 1:0] up_rx_sys_clk_sel_20,
input [ 2:0] up_rx_out_clk_sel_20,
input up_rx_enb_20,
input [11:0] up_rx_addr_20,
input up_rx_wr_20,
input [15:0] up_rx_wdata_20,
output [15:0] up_rx_rdata_20,
output up_rx_ready_20,
output up_tx_pll_locked_20,
input up_tx_rst_20,
input up_tx_user_ready_20,
output up_tx_rst_done_20,
output [ 1:0] up_tx_bufstatus_20,
input up_tx_prbsforceerr_20,
input [ 3:0] up_tx_prbssel_20,
input up_tx_lpm_dfe_n_20,
input [ 2:0] up_tx_rate_20,
input [ 1:0] up_tx_sys_clk_sel_20,
input [ 2:0] up_tx_out_clk_sel_20,
input [ 4:0] up_tx_diffctrl_20,
input [ 4:0] up_tx_postcursor_20,
input [ 4:0] up_tx_precursor_20,
input up_tx_enb_20,
input [11:0] up_tx_addr_20,
input up_tx_wr_20,
input [15:0] up_tx_wdata_20,
output [15:0] up_tx_rdata_20,
output up_tx_ready_20,
input cpll_ref_clk_21,
input up_cpll_rst_21,
input rx_21_p,
input rx_21_n,
output rx_out_clk_21,
output rx_out_clk_div2_21,
input rx_clk_21,
input rx_clk_2x_21,
output [DATA_PATH_WIDTH-1:0] rx_charisk_21,
output [DATA_PATH_WIDTH-1:0] rx_disperr_21,
output [DATA_PATH_WIDTH-1:0] rx_notintable_21,
output [DATA_PATH_WIDTH*8-1:0] rx_data_21,
input rx_calign_21,
output [1:0] rx_header_21,
output rx_block_sync_21,
output tx_21_p,
output tx_21_n,
output tx_out_clk_21,
output tx_out_clk_div2_21,
input tx_clk_21,
input tx_clk_2x_21,
input [DATA_PATH_WIDTH-1:0] tx_charisk_21,
input [DATA_PATH_WIDTH*8-1:0] tx_data_21,
input [1:0] tx_header_21,
input up_es_enb_21,
input [11:0] up_es_addr_21,
input up_es_wr_21,
input [15:0] up_es_wdata_21,
output [15:0] up_es_rdata_21,
output up_es_ready_21,
input up_es_reset_21,
output up_rx_pll_locked_21,
input up_rx_rst_21,
input up_rx_user_ready_21,
output up_rx_rst_done_21,
input [ 3:0] up_rx_prbssel_21,
input up_rx_prbscntreset_21,
output up_rx_prbserr_21,
output up_rx_prbslocked_21,
output [ 1:0] up_rx_bufstatus_21,
input up_rx_bufstatus_rst_21,
input up_rx_lpm_dfe_n_21,
input [ 2:0] up_rx_rate_21,
input [ 1:0] up_rx_sys_clk_sel_21,
input [ 2:0] up_rx_out_clk_sel_21,
input up_rx_enb_21,
input [11:0] up_rx_addr_21,
input up_rx_wr_21,
input [15:0] up_rx_wdata_21,
output [15:0] up_rx_rdata_21,
output up_rx_ready_21,
output up_tx_pll_locked_21,
input up_tx_rst_21,
input up_tx_user_ready_21,
output up_tx_rst_done_21,
output [ 1:0] up_tx_bufstatus_21,
input up_tx_prbsforceerr_21,
input [ 3:0] up_tx_prbssel_21,
input up_tx_lpm_dfe_n_21,
input [ 2:0] up_tx_rate_21,
input [ 1:0] up_tx_sys_clk_sel_21,
input [ 2:0] up_tx_out_clk_sel_21,
input [ 4:0] up_tx_diffctrl_21,
input [ 4:0] up_tx_postcursor_21,
input [ 4:0] up_tx_precursor_21,
input up_tx_enb_21,
input [11:0] up_tx_addr_21,
input up_tx_wr_21,
input [15:0] up_tx_wdata_21,
output [15:0] up_tx_rdata_21,
output up_tx_ready_21,
input cpll_ref_clk_22,
input up_cpll_rst_22,
input rx_22_p,
input rx_22_n,
output rx_out_clk_22,
output rx_out_clk_div2_22,
input rx_clk_22,
input rx_clk_2x_22,
output [DATA_PATH_WIDTH-1:0] rx_charisk_22,
output [DATA_PATH_WIDTH-1:0] rx_disperr_22,
output [DATA_PATH_WIDTH-1:0] rx_notintable_22,
output [DATA_PATH_WIDTH*8-1:0] rx_data_22,
input rx_calign_22,
output [1:0] rx_header_22,
output rx_block_sync_22,
output tx_22_p,
output tx_22_n,
output tx_out_clk_22,
output tx_out_clk_div2_22,
input tx_clk_22,
input tx_clk_2x_22,
input [DATA_PATH_WIDTH-1:0] tx_charisk_22,
input [DATA_PATH_WIDTH*8-1:0] tx_data_22,
input [1:0] tx_header_22,
input up_es_enb_22,
input [11:0] up_es_addr_22,
input up_es_wr_22,
input [15:0] up_es_wdata_22,
output [15:0] up_es_rdata_22,
output up_es_ready_22,
input up_es_reset_22,
output up_rx_pll_locked_22,
input up_rx_rst_22,
input up_rx_user_ready_22,
output up_rx_rst_done_22,
input [ 3:0] up_rx_prbssel_22,
input up_rx_prbscntreset_22,
output up_rx_prbserr_22,
output up_rx_prbslocked_22,
output [ 1:0] up_rx_bufstatus_22,
input up_rx_bufstatus_rst_22,
input up_rx_lpm_dfe_n_22,
input [ 2:0] up_rx_rate_22,
input [ 1:0] up_rx_sys_clk_sel_22,
input [ 2:0] up_rx_out_clk_sel_22,
input up_rx_enb_22,
input [11:0] up_rx_addr_22,
input up_rx_wr_22,
input [15:0] up_rx_wdata_22,
output [15:0] up_rx_rdata_22,
output up_rx_ready_22,
output up_tx_pll_locked_22,
input up_tx_rst_22,
input up_tx_user_ready_22,
output up_tx_rst_done_22,
output [ 1:0] up_tx_bufstatus_22,
input up_tx_prbsforceerr_22,
input [ 3:0] up_tx_prbssel_22,
input up_tx_lpm_dfe_n_22,
input [ 2:0] up_tx_rate_22,
input [ 1:0] up_tx_sys_clk_sel_22,
input [ 2:0] up_tx_out_clk_sel_22,
input [ 4:0] up_tx_diffctrl_22,
input [ 4:0] up_tx_postcursor_22,
input [ 4:0] up_tx_precursor_22,
input up_tx_enb_22,
input [11:0] up_tx_addr_22,
input up_tx_wr_22,
input [15:0] up_tx_wdata_22,
output [15:0] up_tx_rdata_22,
output up_tx_ready_22,
input cpll_ref_clk_23,
input up_cpll_rst_23,
input rx_23_p,
input rx_23_n,
output rx_out_clk_23,
output rx_out_clk_div2_23,
input rx_clk_23,
input rx_clk_2x_23,
output [DATA_PATH_WIDTH-1:0] rx_charisk_23,
output [DATA_PATH_WIDTH-1:0] rx_disperr_23,
output [DATA_PATH_WIDTH-1:0] rx_notintable_23,
output [DATA_PATH_WIDTH*8-1:0] rx_data_23,
input rx_calign_23,
output [1:0] rx_header_23,
output rx_block_sync_23,
output tx_23_p,
output tx_23_n,
output tx_out_clk_23,
output tx_out_clk_div2_23,
input tx_clk_23,
input tx_clk_2x_23,
input [DATA_PATH_WIDTH-1:0] tx_charisk_23,
input [DATA_PATH_WIDTH*8-1:0] tx_data_23,
input [1:0] tx_header_23,
input up_es_enb_23,
input [11:0] up_es_addr_23,
input up_es_wr_23,
input [15:0] up_es_wdata_23,
output [15:0] up_es_rdata_23,
output up_es_ready_23,
input up_es_reset_23,
output up_rx_pll_locked_23,
input up_rx_rst_23,
input up_rx_user_ready_23,
output up_rx_rst_done_23,
input [ 3:0] up_rx_prbssel_23,
input up_rx_prbscntreset_23,
output up_rx_prbserr_23,
output up_rx_prbslocked_23,
output [ 1:0] up_rx_bufstatus_23,
input up_rx_bufstatus_rst_23,
input up_rx_lpm_dfe_n_23,
input [ 2:0] up_rx_rate_23,
input [ 1:0] up_rx_sys_clk_sel_23,
input [ 2:0] up_rx_out_clk_sel_23,
input up_rx_enb_23,
input [11:0] up_rx_addr_23,
input up_rx_wr_23,
input [15:0] up_rx_wdata_23,
output [15:0] up_rx_rdata_23,
output up_rx_ready_23,
output up_tx_pll_locked_23,
input up_tx_rst_23,
input up_tx_user_ready_23,
output up_tx_rst_done_23,
output [ 1:0] up_tx_bufstatus_23,
input up_tx_prbsforceerr_23,
input [ 3:0] up_tx_prbssel_23,
input up_tx_lpm_dfe_n_23,
input [ 2:0] up_tx_rate_23,
input [ 1:0] up_tx_sys_clk_sel_23,
input [ 2:0] up_tx_out_clk_sel_23,
input [ 4:0] up_tx_diffctrl_23,
input [ 4:0] up_tx_postcursor_23,
input [ 4:0] up_tx_precursor_23,
input up_tx_enb_23,
input [11:0] up_tx_addr_23,
input up_tx_wr_23,
input [15:0] up_tx_wdata_23,
output [15:0] up_tx_rdata_23,
output up_tx_ready_23,
input qpll_ref_clk_24,
input up_qpll_rst_24,
input cpll_ref_clk_24,
input up_cpll_rst_24,
input rx_24_p,
input rx_24_n,
output rx_out_clk_24,
output rx_out_clk_div2_24,
input rx_clk_24,
input rx_clk_2x_24,
output [DATA_PATH_WIDTH-1:0] rx_charisk_24,
output [DATA_PATH_WIDTH-1:0] rx_disperr_24,
output [DATA_PATH_WIDTH-1:0] rx_notintable_24,
output [DATA_PATH_WIDTH*8-1:0] rx_data_24,
input rx_calign_24,
output [1:0] rx_header_24,
output rx_block_sync_24,
output tx_24_p,
output tx_24_n,
output tx_out_clk_24,
output tx_out_clk_div2_24,
input tx_clk_24,
input tx_clk_2x_24,
input [DATA_PATH_WIDTH-1:0] tx_charisk_24,
input [DATA_PATH_WIDTH*8-1:0] tx_data_24,
input [1:0] tx_header_24,
input up_cm_enb_24,
input [11:0] up_cm_addr_24,
input up_cm_wr_24,
input [15:0] up_cm_wdata_24,
output [15:0] up_cm_rdata_24,
output up_cm_ready_24,
input up_es_enb_24,
input [11:0] up_es_addr_24,
input up_es_wr_24,
input [15:0] up_es_wdata_24,
output [15:0] up_es_rdata_24,
output up_es_ready_24,
input up_es_reset_24,
output up_rx_pll_locked_24,
input up_rx_rst_24,
input up_rx_user_ready_24,
output up_rx_rst_done_24,
input [ 3:0] up_rx_prbssel_24,
input up_rx_prbscntreset_24,
output up_rx_prbserr_24,
output up_rx_prbslocked_24,
output [ 1:0] up_rx_bufstatus_24,
input up_rx_bufstatus_rst_24,
input up_rx_lpm_dfe_n_24,
input [ 2:0] up_rx_rate_24,
input [ 1:0] up_rx_sys_clk_sel_24,
input [ 2:0] up_rx_out_clk_sel_24,
input up_rx_enb_24,
input [11:0] up_rx_addr_24,
input up_rx_wr_24,
input [15:0] up_rx_wdata_24,
output [15:0] up_rx_rdata_24,
output up_rx_ready_24,
output up_tx_pll_locked_24,
input up_tx_rst_24,
input up_tx_user_ready_24,
output up_tx_rst_done_24,
output [ 1:0] up_tx_bufstatus_24,
input up_tx_prbsforceerr_24,
input [ 3:0] up_tx_prbssel_24,
input up_tx_lpm_dfe_n_24,
input [ 2:0] up_tx_rate_24,
input [ 1:0] up_tx_sys_clk_sel_24,
input [ 2:0] up_tx_out_clk_sel_24,
input [ 4:0] up_tx_diffctrl_24,
input [ 4:0] up_tx_postcursor_24,
input [ 4:0] up_tx_precursor_24,
input up_tx_enb_24,
input [11:0] up_tx_addr_24,
input up_tx_wr_24,
input [15:0] up_tx_wdata_24,
output [15:0] up_tx_rdata_24,
output up_tx_ready_24,
input cpll_ref_clk_25,
input up_cpll_rst_25,
input rx_25_p,
input rx_25_n,
output rx_out_clk_25,
output rx_out_clk_div2_25,
input rx_clk_25,
input rx_clk_2x_25,
output [DATA_PATH_WIDTH-1:0] rx_charisk_25,
output [DATA_PATH_WIDTH-1:0] rx_disperr_25,
output [DATA_PATH_WIDTH-1:0] rx_notintable_25,
output [DATA_PATH_WIDTH*8-1:0] rx_data_25,
input rx_calign_25,
output [1:0] rx_header_25,
output rx_block_sync_25,
output tx_25_p,
output tx_25_n,
output tx_out_clk_25,
output tx_out_clk_div2_25,
input tx_clk_25,
input tx_clk_2x_25,
input [DATA_PATH_WIDTH-1:0] tx_charisk_25,
input [DATA_PATH_WIDTH*8-1:0] tx_data_25,
input [1:0] tx_header_25,
input up_es_enb_25,
input [11:0] up_es_addr_25,
input up_es_wr_25,
input [15:0] up_es_wdata_25,
output [15:0] up_es_rdata_25,
output up_es_ready_25,
input up_es_reset_25,
output up_rx_pll_locked_25,
input up_rx_rst_25,
input up_rx_user_ready_25,
output up_rx_rst_done_25,
input [ 3:0] up_rx_prbssel_25,
input up_rx_prbscntreset_25,
output up_rx_prbserr_25,
output up_rx_prbslocked_25,
output [ 1:0] up_rx_bufstatus_25,
input up_rx_bufstatus_rst_25,
input up_rx_lpm_dfe_n_25,
input [ 2:0] up_rx_rate_25,
input [ 1:0] up_rx_sys_clk_sel_25,
input [ 2:0] up_rx_out_clk_sel_25,
input up_rx_enb_25,
input [11:0] up_rx_addr_25,
input up_rx_wr_25,
input [15:0] up_rx_wdata_25,
output [15:0] up_rx_rdata_25,
output up_rx_ready_25,
output up_tx_pll_locked_25,
input up_tx_rst_25,
input up_tx_user_ready_25,
output up_tx_rst_done_25,
output [ 1:0] up_tx_bufstatus_25,
input up_tx_prbsforceerr_25,
input [ 3:0] up_tx_prbssel_25,
input up_tx_lpm_dfe_n_25,
input [ 2:0] up_tx_rate_25,
input [ 1:0] up_tx_sys_clk_sel_25,
input [ 2:0] up_tx_out_clk_sel_25,
input [ 4:0] up_tx_diffctrl_25,
input [ 4:0] up_tx_postcursor_25,
input [ 4:0] up_tx_precursor_25,
input up_tx_enb_25,
input [11:0] up_tx_addr_25,
input up_tx_wr_25,
input [15:0] up_tx_wdata_25,
output [15:0] up_tx_rdata_25,
output up_tx_ready_25,
input cpll_ref_clk_26,
input up_cpll_rst_26,
input rx_26_p,
input rx_26_n,
output rx_out_clk_26,
output rx_out_clk_div2_26,
input rx_clk_26,
input rx_clk_2x_26,
output [DATA_PATH_WIDTH-1:0] rx_charisk_26,
output [DATA_PATH_WIDTH-1:0] rx_disperr_26,
output [DATA_PATH_WIDTH-1:0] rx_notintable_26,
output [DATA_PATH_WIDTH*8-1:0] rx_data_26,
input rx_calign_26,
output [1:0] rx_header_26,
output rx_block_sync_26,
output tx_26_p,
output tx_26_n,
output tx_out_clk_26,
output tx_out_clk_div2_26,
input tx_clk_26,
input tx_clk_2x_26,
input [DATA_PATH_WIDTH-1:0] tx_charisk_26,
input [DATA_PATH_WIDTH*8-1:0] tx_data_26,
input [1:0] tx_header_26,
input up_es_enb_26,
input [11:0] up_es_addr_26,
input up_es_wr_26,
input [15:0] up_es_wdata_26,
output [15:0] up_es_rdata_26,
output up_es_ready_26,
input up_es_reset_26,
output up_rx_pll_locked_26,
input up_rx_rst_26,
input up_rx_user_ready_26,
output up_rx_rst_done_26,
input [ 3:0] up_rx_prbssel_26,
input up_rx_prbscntreset_26,
output up_rx_prbserr_26,
output up_rx_prbslocked_26,
output [ 1:0] up_rx_bufstatus_26,
input up_rx_bufstatus_rst_26,
input up_rx_lpm_dfe_n_26,
input [ 2:0] up_rx_rate_26,
input [ 1:0] up_rx_sys_clk_sel_26,
input [ 2:0] up_rx_out_clk_sel_26,
input up_rx_enb_26,
input [11:0] up_rx_addr_26,
input up_rx_wr_26,
input [15:0] up_rx_wdata_26,
output [15:0] up_rx_rdata_26,
output up_rx_ready_26,
output up_tx_pll_locked_26,
input up_tx_rst_26,
input up_tx_user_ready_26,
output up_tx_rst_done_26,
output [ 1:0] up_tx_bufstatus_26,
input up_tx_prbsforceerr_26,
input [ 3:0] up_tx_prbssel_26,
input up_tx_lpm_dfe_n_26,
input [ 2:0] up_tx_rate_26,
input [ 1:0] up_tx_sys_clk_sel_26,
input [ 2:0] up_tx_out_clk_sel_26,
input [ 4:0] up_tx_diffctrl_26,
input [ 4:0] up_tx_postcursor_26,
input [ 4:0] up_tx_precursor_26,
input up_tx_enb_26,
input [11:0] up_tx_addr_26,
input up_tx_wr_26,
input [15:0] up_tx_wdata_26,
output [15:0] up_tx_rdata_26,
output up_tx_ready_26,
input cpll_ref_clk_27,
input up_cpll_rst_27,
input rx_27_p,
input rx_27_n,
output rx_out_clk_27,
output rx_out_clk_div2_27,
input rx_clk_27,
input rx_clk_2x_27,
output [DATA_PATH_WIDTH-1:0] rx_charisk_27,
output [DATA_PATH_WIDTH-1:0] rx_disperr_27,
output [DATA_PATH_WIDTH-1:0] rx_notintable_27,
output [DATA_PATH_WIDTH*8-1:0] rx_data_27,
input rx_calign_27,
output [1:0] rx_header_27,
output rx_block_sync_27,
output tx_27_p,
output tx_27_n,
output tx_out_clk_27,
output tx_out_clk_div2_27,
input tx_clk_27,
input tx_clk_2x_27,
input [DATA_PATH_WIDTH-1:0] tx_charisk_27,
input [DATA_PATH_WIDTH*8-1:0] tx_data_27,
input [1:0] tx_header_27,
input up_es_enb_27,
input [11:0] up_es_addr_27,
input up_es_wr_27,
input [15:0] up_es_wdata_27,
output [15:0] up_es_rdata_27,
output up_es_ready_27,
input up_es_reset_27,
output up_rx_pll_locked_27,
input up_rx_rst_27,
input up_rx_user_ready_27,
output up_rx_rst_done_27,
input [ 3:0] up_rx_prbssel_27,
input up_rx_prbscntreset_27,
output up_rx_prbserr_27,
output up_rx_prbslocked_27,
output [ 1:0] up_rx_bufstatus_27,
input up_rx_bufstatus_rst_27,
input up_rx_lpm_dfe_n_27,
input [ 2:0] up_rx_rate_27,
input [ 1:0] up_rx_sys_clk_sel_27,
input [ 2:0] up_rx_out_clk_sel_27,
input up_rx_enb_27,
input [11:0] up_rx_addr_27,
input up_rx_wr_27,
input [15:0] up_rx_wdata_27,
output [15:0] up_rx_rdata_27,
output up_rx_ready_27,
output up_tx_pll_locked_27,
input up_tx_rst_27,
input up_tx_user_ready_27,
output up_tx_rst_done_27,
output [ 1:0] up_tx_bufstatus_27,
input up_tx_prbsforceerr_27,
input [ 3:0] up_tx_prbssel_27,
input up_tx_lpm_dfe_n_27,
input [ 2:0] up_tx_rate_27,
input [ 1:0] up_tx_sys_clk_sel_27,
input [ 2:0] up_tx_out_clk_sel_27,
input [ 4:0] up_tx_diffctrl_27,
input [ 4:0] up_tx_postcursor_27,
input [ 4:0] up_tx_precursor_27,
input up_tx_enb_27,
input [11:0] up_tx_addr_27,
input up_tx_wr_27,
input [15:0] up_tx_wdata_27,
output [15:0] up_tx_rdata_27,
output up_tx_ready_27,
input qpll_ref_clk_28,
input up_qpll_rst_28,
input cpll_ref_clk_28,
input up_cpll_rst_28,
input rx_28_p,
input rx_28_n,
output rx_out_clk_28,
output rx_out_clk_div2_28,
input rx_clk_28,
input rx_clk_2x_28,
output [DATA_PATH_WIDTH-1:0] rx_charisk_28,
output [DATA_PATH_WIDTH-1:0] rx_disperr_28,
output [DATA_PATH_WIDTH-1:0] rx_notintable_28,
output [DATA_PATH_WIDTH*8-1:0] rx_data_28,
input rx_calign_28,
output [1:0] rx_header_28,
output rx_block_sync_28,
output tx_28_p,
output tx_28_n,
output tx_out_clk_28,
output tx_out_clk_div2_28,
input tx_clk_28,
input tx_clk_2x_28,
input [DATA_PATH_WIDTH-1:0] tx_charisk_28,
input [DATA_PATH_WIDTH*8-1:0] tx_data_28,
input [1:0] tx_header_28,
input up_cm_enb_28,
input [11:0] up_cm_addr_28,
input up_cm_wr_28,
input [15:0] up_cm_wdata_28,
output [15:0] up_cm_rdata_28,
output up_cm_ready_28,
input up_es_enb_28,
input [11:0] up_es_addr_28,
input up_es_wr_28,
input [15:0] up_es_wdata_28,
output [15:0] up_es_rdata_28,
output up_es_ready_28,
input up_es_reset_28,
output up_rx_pll_locked_28,
input up_rx_rst_28,
input up_rx_user_ready_28,
output up_rx_rst_done_28,
input [ 3:0] up_rx_prbssel_28,
input up_rx_prbscntreset_28,
output up_rx_prbserr_28,
output up_rx_prbslocked_28,
output [ 1:0] up_rx_bufstatus_28,
input up_rx_bufstatus_rst_28,
input up_rx_lpm_dfe_n_28,
input [ 2:0] up_rx_rate_28,
input [ 1:0] up_rx_sys_clk_sel_28,
input [ 2:0] up_rx_out_clk_sel_28,
input up_rx_enb_28,
input [11:0] up_rx_addr_28,
input up_rx_wr_28,
input [15:0] up_rx_wdata_28,
output [15:0] up_rx_rdata_28,
output up_rx_ready_28,
output up_tx_pll_locked_28,
input up_tx_rst_28,
input up_tx_user_ready_28,
output up_tx_rst_done_28,
output [ 1:0] up_tx_bufstatus_28,
input up_tx_prbsforceerr_28,
input [ 3:0] up_tx_prbssel_28,
input up_tx_lpm_dfe_n_28,
input [ 2:0] up_tx_rate_28,
input [ 1:0] up_tx_sys_clk_sel_28,
input [ 2:0] up_tx_out_clk_sel_28,
input [ 4:0] up_tx_diffctrl_28,
input [ 4:0] up_tx_postcursor_28,
input [ 4:0] up_tx_precursor_28,
input up_tx_enb_28,
input [11:0] up_tx_addr_28,
input up_tx_wr_28,
input [15:0] up_tx_wdata_28,
output [15:0] up_tx_rdata_28,
output up_tx_ready_28,
input cpll_ref_clk_29,
input up_cpll_rst_29,
input rx_29_p,
input rx_29_n,
output rx_out_clk_29,
output rx_out_clk_div2_29,
input rx_clk_29,
input rx_clk_2x_29,
output [DATA_PATH_WIDTH-1:0] rx_charisk_29,
output [DATA_PATH_WIDTH-1:0] rx_disperr_29,
output [DATA_PATH_WIDTH-1:0] rx_notintable_29,
output [DATA_PATH_WIDTH*8-1:0] rx_data_29,
input rx_calign_29,
output [1:0] rx_header_29,
output rx_block_sync_29,
output tx_29_p,
output tx_29_n,
output tx_out_clk_29,
output tx_out_clk_div2_29,
input tx_clk_29,
input tx_clk_2x_29,
input [DATA_PATH_WIDTH-1:0] tx_charisk_29,
input [DATA_PATH_WIDTH*8-1:0] tx_data_29,
input [1:0] tx_header_29,
input up_es_enb_29,
input [11:0] up_es_addr_29,
input up_es_wr_29,
input [15:0] up_es_wdata_29,
output [15:0] up_es_rdata_29,
output up_es_ready_29,
input up_es_reset_29,
output up_rx_pll_locked_29,
input up_rx_rst_29,
input up_rx_user_ready_29,
output up_rx_rst_done_29,
input [ 3:0] up_rx_prbssel_29,
input up_rx_prbscntreset_29,
output up_rx_prbserr_29,
output up_rx_prbslocked_29,
output [ 1:0] up_rx_bufstatus_29,
input up_rx_bufstatus_rst_29,
input up_rx_lpm_dfe_n_29,
input [ 2:0] up_rx_rate_29,
input [ 1:0] up_rx_sys_clk_sel_29,
input [ 2:0] up_rx_out_clk_sel_29,
input up_rx_enb_29,
input [11:0] up_rx_addr_29,
input up_rx_wr_29,
input [15:0] up_rx_wdata_29,
output [15:0] up_rx_rdata_29,
output up_rx_ready_29,
output up_tx_pll_locked_29,
input up_tx_rst_29,
input up_tx_user_ready_29,
output up_tx_rst_done_29,
output [ 1:0] up_tx_bufstatus_29,
input up_tx_prbsforceerr_29,
input [ 3:0] up_tx_prbssel_29,
input up_tx_lpm_dfe_n_29,
input [ 2:0] up_tx_rate_29,
input [ 1:0] up_tx_sys_clk_sel_29,
input [ 2:0] up_tx_out_clk_sel_29,
input [ 4:0] up_tx_diffctrl_29,
input [ 4:0] up_tx_postcursor_29,
input [ 4:0] up_tx_precursor_29,
input up_tx_enb_29,
input [11:0] up_tx_addr_29,
input up_tx_wr_29,
input [15:0] up_tx_wdata_29,
output [15:0] up_tx_rdata_29,
output up_tx_ready_29,
input cpll_ref_clk_30,
input up_cpll_rst_30,
input rx_30_p,
input rx_30_n,
output rx_out_clk_30,
output rx_out_clk_div2_30,
input rx_clk_30,
input rx_clk_2x_30,
output [DATA_PATH_WIDTH-1:0] rx_charisk_30,
output [DATA_PATH_WIDTH-1:0] rx_disperr_30,
output [DATA_PATH_WIDTH-1:0] rx_notintable_30,
output [DATA_PATH_WIDTH*8-1:0] rx_data_30,
input rx_calign_30,
output [1:0] rx_header_30,
output rx_block_sync_30,
output tx_30_p,
output tx_30_n,
output tx_out_clk_30,
output tx_out_clk_div2_30,
input tx_clk_30,
input tx_clk_2x_30,
input [DATA_PATH_WIDTH-1:0] tx_charisk_30,
input [DATA_PATH_WIDTH*8-1:0] tx_data_30,
input [1:0] tx_header_30,
input up_es_enb_30,
input [11:0] up_es_addr_30,
input up_es_wr_30,
input [15:0] up_es_wdata_30,
output [15:0] up_es_rdata_30,
output up_es_ready_30,
input up_es_reset_30,
output up_rx_pll_locked_30,
input up_rx_rst_30,
input up_rx_user_ready_30,
output up_rx_rst_done_30,
input [ 3:0] up_rx_prbssel_30,
input up_rx_prbscntreset_30,
output up_rx_prbserr_30,
output up_rx_prbslocked_30,
output [ 1:0] up_rx_bufstatus_30,
input up_rx_bufstatus_rst_30,
input up_rx_lpm_dfe_n_30,
input [ 2:0] up_rx_rate_30,
input [ 1:0] up_rx_sys_clk_sel_30,
input [ 2:0] up_rx_out_clk_sel_30,
input up_rx_enb_30,
input [11:0] up_rx_addr_30,
input up_rx_wr_30,
input [15:0] up_rx_wdata_30,
output [15:0] up_rx_rdata_30,
output up_rx_ready_30,
output up_tx_pll_locked_30,
input up_tx_rst_30,
input up_tx_user_ready_30,
output up_tx_rst_done_30,
output [ 1:0] up_tx_bufstatus_30,
input up_tx_prbsforceerr_30,
input [ 3:0] up_tx_prbssel_30,
input up_tx_lpm_dfe_n_30,
input [ 2:0] up_tx_rate_30,
input [ 1:0] up_tx_sys_clk_sel_30,
input [ 2:0] up_tx_out_clk_sel_30,
input [ 4:0] up_tx_diffctrl_30,
input [ 4:0] up_tx_postcursor_30,
input [ 4:0] up_tx_precursor_30,
input up_tx_enb_30,
input [11:0] up_tx_addr_30,
input up_tx_wr_30,
input [15:0] up_tx_wdata_30,
output [15:0] up_tx_rdata_30,
output up_tx_ready_30,
input cpll_ref_clk_31,
input up_cpll_rst_31,
input rx_31_p,
input rx_31_n,
output rx_out_clk_31,
output rx_out_clk_div2_31,
input rx_clk_31,
input rx_clk_2x_31,
output [DATA_PATH_WIDTH-1:0] rx_charisk_31,
output [DATA_PATH_WIDTH-1:0] rx_disperr_31,
output [DATA_PATH_WIDTH-1:0] rx_notintable_31,
output [DATA_PATH_WIDTH*8-1:0] rx_data_31,
input rx_calign_31,
output [1:0] rx_header_31,
output rx_block_sync_31,
output tx_31_p,
output tx_31_n,
output tx_out_clk_31,
output tx_out_clk_div2_31,
input tx_clk_31,
input tx_clk_2x_31,
input [DATA_PATH_WIDTH-1:0] tx_charisk_31,
input [DATA_PATH_WIDTH*8-1:0] tx_data_31,
input [1:0] tx_header_31,
input up_es_enb_31,
input [11:0] up_es_addr_31,
input up_es_wr_31,
input [15:0] up_es_wdata_31,
output [15:0] up_es_rdata_31,
output up_es_ready_31,
input up_es_reset_31,
output up_rx_pll_locked_31,
input up_rx_rst_31,
input up_rx_user_ready_31,
output up_rx_rst_done_31,
input [ 3:0] up_rx_prbssel_31,
input up_rx_prbscntreset_31,
output up_rx_prbserr_31,
output up_rx_prbslocked_31,
output [ 1:0] up_rx_bufstatus_31,
input up_rx_bufstatus_rst_31,
input up_rx_lpm_dfe_n_31,
input [ 2:0] up_rx_rate_31,
input [ 1:0] up_rx_sys_clk_sel_31,
input [ 2:0] up_rx_out_clk_sel_31,
input up_rx_enb_31,
input [11:0] up_rx_addr_31,
input up_rx_wr_31,
input [15:0] up_rx_wdata_31,
output [15:0] up_rx_rdata_31,
output up_rx_ready_31,
output up_tx_pll_locked_31,
input up_tx_rst_31,
input up_tx_user_ready_31,
output up_tx_rst_done_31,
output [ 1:0] up_tx_bufstatus_31,
input up_tx_prbsforceerr_31,
input [ 3:0] up_tx_prbssel_31,
input up_tx_lpm_dfe_n_31,
input [ 2:0] up_tx_rate_31,
input [ 1:0] up_tx_sys_clk_sel_31,
input [ 2:0] up_tx_out_clk_sel_31,
input [ 4:0] up_tx_diffctrl_31,
input [ 4:0] up_tx_postcursor_31,
input [ 4:0] up_tx_precursor_31,
input up_tx_enb_31,
input [11:0] up_tx_addr_31,
input up_tx_wr_31,
input [15:0] up_tx_wdata_31,
output [15:0] up_tx_rdata_31,
output up_tx_ready_31
);
// parameters
localparam integer NUM_OF_LANES = (TX_NUM_OF_LANES > RX_NUM_OF_LANES) ?
TX_NUM_OF_LANES : RX_NUM_OF_LANES;
// internal signals
wire qpll2ch_clk_0;
wire qpll2ch_ref_clk_0;
wire qpll2ch_locked_0;
wire qpll1_clk_0;
wire qpll1_ref_clk_0;
wire qpll1_locked_0;
wire [ 1:0] sys_clk_sel_0;
wire qpll_sel_0;
wire qpll2ch_clk_4;
wire qpll2ch_ref_clk_4;
wire qpll2ch_locked_4;
wire qpll1_clk_4;
wire qpll1_ref_clk_4;
wire qpll1_locked_4;
wire [ 1:0] sys_clk_sel_4;
wire qpll_sel_4;
wire qpll2ch_clk_8;
wire qpll2ch_ref_clk_8;
wire qpll2ch_locked_8;
wire qpll1_clk_8;
wire qpll1_ref_clk_8;
wire qpll1_locked_8;
wire [ 1:0] sys_clk_sel_8;
wire qpll_sel_8;
wire qpll2ch_clk_12;
wire qpll2ch_ref_clk_12;
wire qpll2ch_locked_12;
wire qpll1_clk_12;
wire qpll1_ref_clk_12;
wire qpll1_locked_12;
wire [ 1:0] sys_clk_sel_12;
wire qpll_sel_12;
wire qpll2ch_clk_16;
wire qpll2ch_ref_clk_16;
wire qpll2ch_locked_16;
wire qpll1_clk_16;
wire qpll1_ref_clk_16;
wire qpll1_locked_16;
wire [ 1:0] sys_clk_sel_16;
wire qpll_sel_16;
wire qpll2ch_clk_20;
wire qpll2ch_ref_clk_20;
wire qpll2ch_locked_20;
wire qpll1_clk_20;
wire qpll1_ref_clk_20;
wire qpll1_locked_20;
wire [ 1:0] sys_clk_sel_20;
wire qpll_sel_20;
wire qpll2ch_clk_24;
wire qpll2ch_ref_clk_24;
wire qpll2ch_locked_24;
wire qpll1_clk_24;
wire qpll1_ref_clk_24;
wire qpll1_locked_24;
wire [ 1:0] sys_clk_sel_24;
wire qpll_sel_24;
wire qpll2ch_clk_28;
wire qpll2ch_ref_clk_28;
wire qpll2ch_locked_28;
wire qpll1_clk_28;
wire qpll1_ref_clk_28;
wire qpll1_locked_28;
wire [ 1:0] sys_clk_sel_28;
wire qpll_sel_28;
assign sys_clk_sel_0 = up_tx_sys_clk_sel_0 | up_tx_sys_clk_sel_1 | up_tx_sys_clk_sel_2 | up_tx_sys_clk_sel_3 |
up_rx_sys_clk_sel_0 | up_rx_sys_clk_sel_1 | up_rx_sys_clk_sel_2 | up_rx_sys_clk_sel_3;
assign qpll_sel_0 = sys_clk_sel_0 == 2'd3 ? 0 : 1;
assign sys_clk_sel_4 = up_tx_sys_clk_sel_4 | up_tx_sys_clk_sel_5 | up_tx_sys_clk_sel_6 | up_tx_sys_clk_sel_7 |
up_rx_sys_clk_sel_4 | up_rx_sys_clk_sel_5 | up_rx_sys_clk_sel_6 | up_rx_sys_clk_sel_7;
assign qpll_sel_4 = sys_clk_sel_4 == 2'd3 ? 0 : 1;
assign sys_clk_sel_8 = up_tx_sys_clk_sel_8 | up_tx_sys_clk_sel_9 | up_tx_sys_clk_sel_10 | up_tx_sys_clk_sel_11 |
up_rx_sys_clk_sel_8 | up_rx_sys_clk_sel_9 | up_rx_sys_clk_sel_10 | up_rx_sys_clk_sel_11;
assign qpll_sel_8 = sys_clk_sel_8 == 2'd3 ? 0 : 1;
assign sys_clk_sel_12 = up_tx_sys_clk_sel_12 | up_tx_sys_clk_sel_13 | up_tx_sys_clk_sel_14 | up_tx_sys_clk_sel_15 |
up_rx_sys_clk_sel_12 | up_rx_sys_clk_sel_13 | up_rx_sys_clk_sel_14 | up_rx_sys_clk_sel_15;
assign qpll_sel_12 = sys_clk_sel_12 == 2'd3 ? 0 : 1;
assign sys_clk_sel_16 = up_tx_sys_clk_sel_16 | up_tx_sys_clk_sel_17 | up_tx_sys_clk_sel_18 | up_tx_sys_clk_sel_19 |
up_rx_sys_clk_sel_16 | up_rx_sys_clk_sel_17 | up_rx_sys_clk_sel_18 | up_rx_sys_clk_sel_19;
assign qpll_sel_16 = sys_clk_sel_16 == 2'd3 ? 0 : 1;
assign sys_clk_sel_20 = up_tx_sys_clk_sel_20 | up_tx_sys_clk_sel_21 | up_tx_sys_clk_sel_22 | up_tx_sys_clk_sel_23 |
up_rx_sys_clk_sel_20 | up_rx_sys_clk_sel_21 | up_rx_sys_clk_sel_22 | up_rx_sys_clk_sel_23;
assign qpll_sel_20 = sys_clk_sel_20 == 2'd3 ? 0 : 1;
assign sys_clk_sel_24 = up_tx_sys_clk_sel_24 | up_tx_sys_clk_sel_25 | up_tx_sys_clk_sel_26 | up_tx_sys_clk_sel_27 |
up_rx_sys_clk_sel_24 | up_rx_sys_clk_sel_25 | up_rx_sys_clk_sel_26 | up_rx_sys_clk_sel_27;
assign qpll_sel_24 = sys_clk_sel_24 == 2'd3 ? 0 : 1;
assign sys_clk_sel_28 = up_tx_sys_clk_sel_28 | up_tx_sys_clk_sel_29 | up_tx_sys_clk_sel_30 | up_tx_sys_clk_sel_31 |
up_rx_sys_clk_sel_28 | up_rx_sys_clk_sel_29 | up_rx_sys_clk_sel_30 | up_rx_sys_clk_sel_31;
assign qpll_sel_28 = sys_clk_sel_28 == 2'd3 ? 0 : 1;
// instantiations
generate
if (NUM_OF_LANES >= 1) begin
util_adxcvr_xcm #(
.XCVR_TYPE (XCVR_TYPE),
.QPLL_REFCLK_DIV (QPLL_REFCLK_DIV),
.QPLL_FBDIV_RATIO (QPLL_FBDIV_RATIO),
.POR_CFG (POR_CFG),
.PPF0_CFG (PPF0_CFG),
.PPF1_CFG (PPF1_CFG),
.QPLL_CFG (QPLL_CFG),
.QPLL_FBDIV (QPLL_FBDIV),
.QPLL_CFG0 (QPLL_CFG0),
.QPLL_CFG1 (QPLL_CFG1),
.QPLL_CFG1_G3 (QPLL_CFG1_G3),
.QPLL_CFG2 (QPLL_CFG2),
.QPLL_CFG2_G3 (QPLL_CFG2_G3),
.QPLL_CFG3 (QPLL_CFG3),
.QPLL_CP_G3 (QPLL_CP_G3),
.QPLL_LPF (QPLL_LPF),
.QPLL_CP (QPLL_CP),
.QPLL_CFG4 (QPLL_CFG4)
) i_xcm_0 (
.qpll_ref_clk (qpll_ref_clk_0),
.qpll_sel (qpll_sel_0),
.qpll2ch_clk (qpll2ch_clk_0),
.qpll2ch_ref_clk (qpll2ch_ref_clk_0),
.qpll2ch_locked (qpll2ch_locked_0),
.qpll1_clk (qpll1_clk_0),
.qpll1_ref_clk (qpll1_ref_clk_0),
.qpll1_locked (qpll1_locked_0),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_qpll_rst (up_qpll_rst_0),
.up_cm_enb (up_cm_enb_0),
.up_cm_addr (up_cm_addr_0),
.up_cm_wr (up_cm_wr_0),
.up_cm_wdata (up_cm_wdata_0),
.up_cm_rdata (up_cm_rdata_0),
.up_cm_ready (up_cm_ready_0));
end else begin
assign qpll2ch_clk_0 = 1'd0;
assign qpll2ch_ref_clk_0 = 1'd0;
assign qpll2ch_locked_0 = 1'd0;
assign qpll1_clk_0 = 1'd0;
assign qpll1_ref_clk_0 = 1'd0;
assign qpll1_locked_0 = 1'd0;
assign up_cm_rdata_0 = 16'd0;
assign up_cm_ready_0 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 1) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 0) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 0) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_0 (
.qpll2ch_clk (qpll2ch_clk_0),
.qpll2ch_ref_clk (qpll2ch_ref_clk_0),
.qpll2ch_locked (qpll2ch_locked_0),
.qpll1_clk (qpll1_clk_0),
.qpll1_ref_clk (qpll1_ref_clk_0),
.qpll1_locked (qpll1_locked_0),
.cpll_ref_clk (cpll_ref_clk_0),
.up_cpll_rst (up_cpll_rst_0),
.rx_p (rx_0_p),
.rx_n (rx_0_n),
.rx_out_clk (rx_out_clk_0),
.rx_out_clk_div2 (rx_out_clk_div2_0),
.rx_clk (rx_clk_0),
.rx_clk_2x (rx_clk_2x_0),
.rx_charisk (rx_charisk_0),
.rx_disperr (rx_disperr_0),
.rx_notintable (rx_notintable_0),
.rx_data (rx_data_0),
.rx_calign (rx_calign_0),
.rx_header(rx_header_0),
.rx_block_sync(rx_block_sync_0),
.tx_p (tx_0_p),
.tx_n (tx_0_n),
.tx_out_clk (tx_out_clk_0),
.tx_out_clk_div2 (tx_out_clk_div2_0),
.tx_clk (tx_clk_0),
.tx_clk_2x (tx_clk_2x_0),
.tx_charisk (tx_charisk_0),
.tx_data (tx_data_0),
.tx_header (tx_header_0),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_0),
.up_es_addr (up_es_addr_0),
.up_es_wr (up_es_wr_0),
.up_es_wdata (up_es_wdata_0),
.up_es_rdata (up_es_rdata_0),
.up_es_ready (up_es_ready_0),
.up_es_reset (up_es_reset_0),
.up_rx_pll_locked (up_rx_pll_locked_0),
.up_rx_rst (up_rx_rst_0),
.up_rx_user_ready (up_rx_user_ready_0),
.up_rx_rst_done (up_rx_rst_done_0),
.up_rx_prbssel (up_rx_prbssel_0),
.up_rx_prbscntreset (up_rx_prbscntreset_0),
.up_rx_prbserr (up_rx_prbserr_0),
.up_rx_prbslocked (up_rx_prbslocked_0),
.up_rx_bufstatus (up_rx_bufstatus_0),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_0),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_0),
.up_rx_rate (up_rx_rate_0),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_0),
.up_rx_out_clk_sel (up_rx_out_clk_sel_0),
.up_rx_enb (up_rx_enb_0),
.up_rx_addr (up_rx_addr_0),
.up_rx_wr (up_rx_wr_0),
.up_rx_wdata (up_rx_wdata_0),
.up_rx_rdata (up_rx_rdata_0),
.up_rx_ready (up_rx_ready_0),
.up_tx_pll_locked (up_tx_pll_locked_0),
.up_tx_rst (up_tx_rst_0),
.up_tx_user_ready (up_tx_user_ready_0),
.up_tx_rst_done (up_tx_rst_done_0),
.up_tx_bufstatus (up_tx_bufstatus_0),
.up_tx_prbsforceerr (up_tx_prbsforceerr_0),
.up_tx_prbssel (up_tx_prbssel_0),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_0),
.up_tx_rate (up_tx_rate_0),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_0),
.up_tx_out_clk_sel (up_tx_out_clk_sel_0),
.up_tx_diffctrl (up_tx_diffctrl_0),
.up_tx_postcursor (up_tx_postcursor_0),
.up_tx_precursor (up_tx_precursor_0),
.up_tx_enb (up_tx_enb_0),
.up_tx_addr (up_tx_addr_0),
.up_tx_wr (up_tx_wr_0),
.up_tx_wdata (up_tx_wdata_0),
.up_tx_rdata (up_tx_rdata_0),
.up_tx_ready (up_tx_ready_0));
end else begin
assign rx_out_clk_0 = 1'd0;
assign rx_charisk_0 = 4'd0;
assign rx_disperr_0 = 4'd0;
assign rx_notintable_0 = 4'd0;
assign rx_data_0 = 32'd0;
assign tx_0_p = 1'd0;
assign tx_0_n = 1'd0;
assign tx_out_clk_0 = 1'd0;
assign up_es_rdata_0 = 16'd0;
assign up_es_ready_0 = 1'd0;
assign up_rx_pll_locked_0 = 1'd0;
assign up_rx_rst_done_0 = 1'd0;
assign up_rx_rdata_0 = 16'd0;
assign up_rx_ready_0 = 1'd0;
assign up_tx_pll_locked_0 = 1'd0;
assign up_tx_rst_done_0 = 1'd0;
assign up_tx_rdata_0 = 16'd0;
assign up_tx_ready_0 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 2) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 1) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 1) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_1 (
.qpll2ch_clk (qpll2ch_clk_0),
.qpll2ch_ref_clk (qpll2ch_ref_clk_0),
.qpll2ch_locked (qpll2ch_locked_0),
.qpll1_clk (qpll1_clk_0),
.qpll1_ref_clk (qpll1_ref_clk_0),
.qpll1_locked (qpll1_locked_0),
.cpll_ref_clk (cpll_ref_clk_1),
.up_cpll_rst (up_cpll_rst_1),
.rx_p (rx_1_p),
.rx_n (rx_1_n),
.rx_out_clk (rx_out_clk_1),
.rx_out_clk_div2 (rx_out_clk_div2_1),
.rx_clk (rx_clk_1),
.rx_clk_2x (rx_clk_2x_1),
.rx_charisk (rx_charisk_1),
.rx_disperr (rx_disperr_1),
.rx_notintable (rx_notintable_1),
.rx_data (rx_data_1),
.rx_calign (rx_calign_1),
.rx_header(rx_header_1),
.rx_block_sync(rx_block_sync_1),
.tx_p (tx_1_p),
.tx_n (tx_1_n),
.tx_out_clk (tx_out_clk_1),
.tx_out_clk_div2 (tx_out_clk_div2_1),
.tx_clk (tx_clk_1),
.tx_clk_2x (tx_clk_2x_1),
.tx_charisk (tx_charisk_1),
.tx_data (tx_data_1),
.tx_header (tx_header_1),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_1),
.up_es_addr (up_es_addr_1),
.up_es_wr (up_es_wr_1),
.up_es_wdata (up_es_wdata_1),
.up_es_rdata (up_es_rdata_1),
.up_es_ready (up_es_ready_1),
.up_es_reset (up_es_reset_1),
.up_rx_pll_locked (up_rx_pll_locked_1),
.up_rx_rst (up_rx_rst_1),
.up_rx_user_ready (up_rx_user_ready_1),
.up_rx_rst_done (up_rx_rst_done_1),
.up_rx_prbssel (up_rx_prbssel_1),
.up_rx_prbscntreset (up_rx_prbscntreset_1),
.up_rx_prbserr (up_rx_prbserr_1),
.up_rx_prbslocked (up_rx_prbslocked_1),
.up_rx_bufstatus (up_rx_bufstatus_1),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_1),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_1),
.up_rx_rate (up_rx_rate_1),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_1),
.up_rx_out_clk_sel (up_rx_out_clk_sel_1),
.up_rx_enb (up_rx_enb_1),
.up_rx_addr (up_rx_addr_1),
.up_rx_wr (up_rx_wr_1),
.up_rx_wdata (up_rx_wdata_1),
.up_rx_rdata (up_rx_rdata_1),
.up_rx_ready (up_rx_ready_1),
.up_tx_pll_locked (up_tx_pll_locked_1),
.up_tx_rst (up_tx_rst_1),
.up_tx_user_ready (up_tx_user_ready_1),
.up_tx_rst_done (up_tx_rst_done_1),
.up_tx_bufstatus (up_tx_bufstatus_1),
.up_tx_prbsforceerr (up_tx_prbsforceerr_1),
.up_tx_prbssel (up_tx_prbssel_1),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_1),
.up_tx_rate (up_tx_rate_1),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_1),
.up_tx_out_clk_sel (up_tx_out_clk_sel_1),
.up_tx_diffctrl (up_tx_diffctrl_1),
.up_tx_postcursor (up_tx_postcursor_1),
.up_tx_precursor (up_tx_precursor_1),
.up_tx_enb (up_tx_enb_1),
.up_tx_addr (up_tx_addr_1),
.up_tx_wr (up_tx_wr_1),
.up_tx_wdata (up_tx_wdata_1),
.up_tx_rdata (up_tx_rdata_1),
.up_tx_ready (up_tx_ready_1));
end else begin
assign rx_out_clk_1 = 1'd0;
assign rx_charisk_1 = 4'd0;
assign rx_disperr_1 = 4'd0;
assign rx_notintable_1 = 4'd0;
assign rx_data_1 = 32'd0;
assign tx_1_p = 1'd0;
assign tx_1_n = 1'd0;
assign tx_out_clk_1 = 1'd0;
assign up_es_rdata_1 = 16'd0;
assign up_es_ready_1 = 1'd0;
assign up_rx_pll_locked_1 = 1'd0;
assign up_rx_rst_done_1 = 1'd0;
assign up_rx_rdata_1 = 16'd0;
assign up_rx_ready_1 = 1'd0;
assign up_tx_pll_locked_1 = 1'd0;
assign up_tx_rst_done_1 = 1'd0;
assign up_tx_rdata_1 = 16'd0;
assign up_tx_ready_1 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 3) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 2) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 2) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_2 (
.qpll2ch_clk (qpll2ch_clk_0),
.qpll2ch_ref_clk (qpll2ch_ref_clk_0),
.qpll2ch_locked (qpll2ch_locked_0),
.qpll1_clk (qpll1_clk_0),
.qpll1_ref_clk (qpll1_ref_clk_0),
.qpll1_locked (qpll1_locked_0),
.cpll_ref_clk (cpll_ref_clk_2),
.up_cpll_rst (up_cpll_rst_2),
.rx_p (rx_2_p),
.rx_n (rx_2_n),
.rx_out_clk (rx_out_clk_2),
.rx_out_clk_div2 (rx_out_clk_div2_2),
.rx_clk (rx_clk_2),
.rx_clk_2x (rx_clk_2x_2),
.rx_charisk (rx_charisk_2),
.rx_disperr (rx_disperr_2),
.rx_notintable (rx_notintable_2),
.rx_data (rx_data_2),
.rx_calign (rx_calign_2),
.rx_header(rx_header_2),
.rx_block_sync(rx_block_sync_2),
.tx_p (tx_2_p),
.tx_n (tx_2_n),
.tx_out_clk (tx_out_clk_2),
.tx_out_clk_div2 (tx_out_clk_div2_2),
.tx_clk (tx_clk_2),
.tx_clk_2x (tx_clk_2x_2),
.tx_charisk (tx_charisk_2),
.tx_data (tx_data_2),
.tx_header (tx_header_2),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_2),
.up_es_addr (up_es_addr_2),
.up_es_wr (up_es_wr_2),
.up_es_wdata (up_es_wdata_2),
.up_es_rdata (up_es_rdata_2),
.up_es_ready (up_es_ready_2),
.up_es_reset (up_es_reset_2),
.up_rx_pll_locked (up_rx_pll_locked_2),
.up_rx_rst (up_rx_rst_2),
.up_rx_user_ready (up_rx_user_ready_2),
.up_rx_rst_done (up_rx_rst_done_2),
.up_rx_prbssel (up_rx_prbssel_2),
.up_rx_prbscntreset (up_rx_prbscntreset_2),
.up_rx_prbserr (up_rx_prbserr_2),
.up_rx_prbslocked (up_rx_prbslocked_2),
.up_rx_bufstatus (up_rx_bufstatus_2),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_2),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_2),
.up_rx_rate (up_rx_rate_2),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_2),
.up_rx_out_clk_sel (up_rx_out_clk_sel_2),
.up_rx_enb (up_rx_enb_2),
.up_rx_addr (up_rx_addr_2),
.up_rx_wr (up_rx_wr_2),
.up_rx_wdata (up_rx_wdata_2),
.up_rx_rdata (up_rx_rdata_2),
.up_rx_ready (up_rx_ready_2),
.up_tx_pll_locked (up_tx_pll_locked_2),
.up_tx_rst (up_tx_rst_2),
.up_tx_user_ready (up_tx_user_ready_2),
.up_tx_rst_done (up_tx_rst_done_2),
.up_tx_bufstatus (up_tx_bufstatus_2),
.up_tx_prbsforceerr (up_tx_prbsforceerr_2),
.up_tx_prbssel (up_tx_prbssel_2),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_2),
.up_tx_rate (up_tx_rate_2),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_2),
.up_tx_out_clk_sel (up_tx_out_clk_sel_2),
.up_tx_diffctrl (up_tx_diffctrl_2),
.up_tx_postcursor (up_tx_postcursor_2),
.up_tx_precursor (up_tx_precursor_2),
.up_tx_enb (up_tx_enb_2),
.up_tx_addr (up_tx_addr_2),
.up_tx_wr (up_tx_wr_2),
.up_tx_wdata (up_tx_wdata_2),
.up_tx_rdata (up_tx_rdata_2),
.up_tx_ready (up_tx_ready_2));
end else begin
assign rx_out_clk_2 = 1'd0;
assign rx_charisk_2 = 4'd0;
assign rx_disperr_2 = 4'd0;
assign rx_notintable_2 = 4'd0;
assign rx_data_2 = 32'd0;
assign tx_2_p = 1'd0;
assign tx_2_n = 1'd0;
assign tx_out_clk_2 = 1'd0;
assign up_es_rdata_2 = 16'd0;
assign up_es_ready_2 = 1'd0;
assign up_rx_pll_locked_2 = 1'd0;
assign up_rx_rst_done_2 = 1'd0;
assign up_rx_rdata_2 = 16'd0;
assign up_rx_ready_2 = 1'd0;
assign up_tx_pll_locked_2 = 1'd0;
assign up_tx_rst_done_2 = 1'd0;
assign up_tx_rdata_2 = 16'd0;
assign up_tx_ready_2 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 4) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 3) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 3) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_3 (
.qpll2ch_clk (qpll2ch_clk_0),
.qpll2ch_ref_clk (qpll2ch_ref_clk_0),
.qpll2ch_locked (qpll2ch_locked_0),
.qpll1_clk (qpll1_clk_0),
.qpll1_ref_clk (qpll1_ref_clk_0),
.qpll1_locked (qpll1_locked_0),
.cpll_ref_clk (cpll_ref_clk_3),
.up_cpll_rst (up_cpll_rst_3),
.rx_p (rx_3_p),
.rx_n (rx_3_n),
.rx_out_clk (rx_out_clk_3),
.rx_out_clk_div2 (rx_out_clk_div2_3),
.rx_clk (rx_clk_3),
.rx_clk_2x (rx_clk_2x_3),
.rx_charisk (rx_charisk_3),
.rx_disperr (rx_disperr_3),
.rx_notintable (rx_notintable_3),
.rx_data (rx_data_3),
.rx_calign (rx_calign_3),
.rx_header(rx_header_3),
.rx_block_sync(rx_block_sync_3),
.tx_p (tx_3_p),
.tx_n (tx_3_n),
.tx_out_clk (tx_out_clk_3),
.tx_out_clk_div2 (tx_out_clk_div2_3),
.tx_clk (tx_clk_3),
.tx_clk_2x (tx_clk_2x_3),
.tx_charisk (tx_charisk_3),
.tx_data (tx_data_3),
.tx_header (tx_header_3),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_3),
.up_es_addr (up_es_addr_3),
.up_es_wr (up_es_wr_3),
.up_es_wdata (up_es_wdata_3),
.up_es_rdata (up_es_rdata_3),
.up_es_ready (up_es_ready_3),
.up_es_reset (up_es_reset_3),
.up_rx_pll_locked (up_rx_pll_locked_3),
.up_rx_rst (up_rx_rst_3),
.up_rx_user_ready (up_rx_user_ready_3),
.up_rx_rst_done (up_rx_rst_done_3),
.up_rx_prbssel (up_rx_prbssel_3),
.up_rx_prbscntreset (up_rx_prbscntreset_3),
.up_rx_prbserr (up_rx_prbserr_3),
.up_rx_prbslocked (up_rx_prbslocked_3),
.up_rx_bufstatus (up_rx_bufstatus_3),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_3),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_3),
.up_rx_rate (up_rx_rate_3),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_3),
.up_rx_out_clk_sel (up_rx_out_clk_sel_3),
.up_rx_enb (up_rx_enb_3),
.up_rx_addr (up_rx_addr_3),
.up_rx_wr (up_rx_wr_3),
.up_rx_wdata (up_rx_wdata_3),
.up_rx_rdata (up_rx_rdata_3),
.up_rx_ready (up_rx_ready_3),
.up_tx_pll_locked (up_tx_pll_locked_3),
.up_tx_rst (up_tx_rst_3),
.up_tx_user_ready (up_tx_user_ready_3),
.up_tx_rst_done (up_tx_rst_done_3),
.up_tx_bufstatus (up_tx_bufstatus_3),
.up_tx_prbsforceerr (up_tx_prbsforceerr_3),
.up_tx_prbssel (up_tx_prbssel_3),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_3),
.up_tx_rate (up_tx_rate_3),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_3),
.up_tx_out_clk_sel (up_tx_out_clk_sel_3),
.up_tx_diffctrl (up_tx_diffctrl_3),
.up_tx_postcursor (up_tx_postcursor_3),
.up_tx_precursor (up_tx_precursor_3),
.up_tx_enb (up_tx_enb_3),
.up_tx_addr (up_tx_addr_3),
.up_tx_wr (up_tx_wr_3),
.up_tx_wdata (up_tx_wdata_3),
.up_tx_rdata (up_tx_rdata_3),
.up_tx_ready (up_tx_ready_3));
end else begin
assign rx_out_clk_3 = 1'd0;
assign rx_charisk_3 = 4'd0;
assign rx_disperr_3 = 4'd0;
assign rx_notintable_3 = 4'd0;
assign rx_data_3 = 32'd0;
assign tx_3_p = 1'd0;
assign tx_3_n = 1'd0;
assign tx_out_clk_3 = 1'd0;
assign up_es_rdata_3 = 16'd0;
assign up_es_ready_3 = 1'd0;
assign up_rx_pll_locked_3 = 1'd0;
assign up_rx_rst_done_3 = 1'd0;
assign up_rx_rdata_3 = 16'd0;
assign up_rx_ready_3 = 1'd0;
assign up_tx_pll_locked_3 = 1'd0;
assign up_tx_rst_done_3 = 1'd0;
assign up_tx_rdata_3 = 16'd0;
assign up_tx_ready_3 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 5) begin
util_adxcvr_xcm #(
.XCVR_TYPE (XCVR_TYPE),
.QPLL_REFCLK_DIV (QPLL_REFCLK_DIV),
.QPLL_FBDIV_RATIO (QPLL_FBDIV_RATIO),
.POR_CFG (POR_CFG),
.PPF0_CFG (PPF0_CFG),
.PPF1_CFG (PPF1_CFG),
.QPLL_CFG (QPLL_CFG),
.QPLL_FBDIV (QPLL_FBDIV),
.QPLL_CFG0 (QPLL_CFG0),
.QPLL_CFG1 (QPLL_CFG1),
.QPLL_CFG1_G3 (QPLL_CFG1_G3),
.QPLL_CFG2 (QPLL_CFG2),
.QPLL_CFG2_G3 (QPLL_CFG2_G3),
.QPLL_CFG3 (QPLL_CFG3),
.QPLL_CP_G3 (QPLL_CP_G3),
.QPLL_LPF (QPLL_LPF),
.QPLL_CP (QPLL_CP),
.QPLL_CFG4 (QPLL_CFG4)
) i_xcm_4 (
.qpll_ref_clk (qpll_ref_clk_4),
.qpll_sel (qpll_sel_4),
.qpll2ch_clk (qpll2ch_clk_4),
.qpll2ch_ref_clk (qpll2ch_ref_clk_4),
.qpll2ch_locked (qpll2ch_locked_4),
.qpll1_clk (qpll1_clk_4),
.qpll1_ref_clk (qpll1_ref_clk_4),
.qpll1_locked (qpll1_locked_4),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_qpll_rst (up_qpll_rst_4),
.up_cm_enb (up_cm_enb_4),
.up_cm_addr (up_cm_addr_4),
.up_cm_wr (up_cm_wr_4),
.up_cm_wdata (up_cm_wdata_4),
.up_cm_rdata (up_cm_rdata_4),
.up_cm_ready (up_cm_ready_4));
end else begin
assign qpll2ch_clk_4 = 1'd0;
assign qpll2ch_ref_clk_4 = 1'd0;
assign qpll2ch_locked_4 = 1'd0;
assign qpll1_clk_4 = 1'd0;
assign qpll1_ref_clk_4 = 1'd0;
assign qpll1_locked_4 = 1'd0;
assign up_cm_rdata_4 = 16'd0;
assign up_cm_ready_4 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 5) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 4) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 4) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_4 (
.qpll2ch_clk (qpll2ch_clk_4),
.qpll2ch_ref_clk (qpll2ch_ref_clk_4),
.qpll2ch_locked (qpll2ch_locked_4),
.qpll1_clk (qpll1_clk_4),
.qpll1_ref_clk (qpll1_ref_clk_4),
.qpll1_locked (qpll1_locked_4),
.cpll_ref_clk (cpll_ref_clk_4),
.up_cpll_rst (up_cpll_rst_4),
.rx_p (rx_4_p),
.rx_n (rx_4_n),
.rx_out_clk (rx_out_clk_4),
.rx_out_clk_div2 (rx_out_clk_div2_4),
.rx_clk (rx_clk_4),
.rx_clk_2x (rx_clk_2x_4),
.rx_charisk (rx_charisk_4),
.rx_disperr (rx_disperr_4),
.rx_notintable (rx_notintable_4),
.rx_data (rx_data_4),
.rx_calign (rx_calign_4),
.rx_header(rx_header_4),
.rx_block_sync(rx_block_sync_4),
.tx_p (tx_4_p),
.tx_n (tx_4_n),
.tx_out_clk (tx_out_clk_4),
.tx_out_clk_div2 (tx_out_clk_div2_4),
.tx_clk (tx_clk_4),
.tx_clk_2x (tx_clk_2x_4),
.tx_charisk (tx_charisk_4),
.tx_data (tx_data_4),
.tx_header (tx_header_4),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_4),
.up_es_addr (up_es_addr_4),
.up_es_wr (up_es_wr_4),
.up_es_wdata (up_es_wdata_4),
.up_es_rdata (up_es_rdata_4),
.up_es_ready (up_es_ready_4),
.up_es_reset (up_es_reset_4),
.up_rx_pll_locked (up_rx_pll_locked_4),
.up_rx_rst (up_rx_rst_4),
.up_rx_user_ready (up_rx_user_ready_4),
.up_rx_rst_done (up_rx_rst_done_4),
.up_rx_prbssel (up_rx_prbssel_4),
.up_rx_prbscntreset (up_rx_prbscntreset_4),
.up_rx_prbserr (up_rx_prbserr_4),
.up_rx_prbslocked (up_rx_prbslocked_4),
.up_rx_bufstatus (up_rx_bufstatus_4),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_4),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_4),
.up_rx_rate (up_rx_rate_4),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_4),
.up_rx_out_clk_sel (up_rx_out_clk_sel_4),
.up_rx_enb (up_rx_enb_4),
.up_rx_addr (up_rx_addr_4),
.up_rx_wr (up_rx_wr_4),
.up_rx_wdata (up_rx_wdata_4),
.up_rx_rdata (up_rx_rdata_4),
.up_rx_ready (up_rx_ready_4),
.up_tx_pll_locked (up_tx_pll_locked_4),
.up_tx_rst (up_tx_rst_4),
.up_tx_user_ready (up_tx_user_ready_4),
.up_tx_rst_done (up_tx_rst_done_4),
.up_tx_bufstatus (up_tx_bufstatus_4),
.up_tx_prbsforceerr (up_tx_prbsforceerr_4),
.up_tx_prbssel (up_tx_prbssel_4),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_4),
.up_tx_rate (up_tx_rate_4),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_4),
.up_tx_out_clk_sel (up_tx_out_clk_sel_4),
.up_tx_diffctrl (up_tx_diffctrl_4),
.up_tx_postcursor (up_tx_postcursor_4),
.up_tx_precursor (up_tx_precursor_4),
.up_tx_enb (up_tx_enb_4),
.up_tx_addr (up_tx_addr_4),
.up_tx_wr (up_tx_wr_4),
.up_tx_wdata (up_tx_wdata_4),
.up_tx_rdata (up_tx_rdata_4),
.up_tx_ready (up_tx_ready_4));
end else begin
assign rx_out_clk_4 = 1'd0;
assign rx_charisk_4 = 4'd0;
assign rx_disperr_4 = 4'd0;
assign rx_notintable_4 = 4'd0;
assign rx_data_4 = 32'd0;
assign tx_4_p = 1'd0;
assign tx_4_n = 1'd0;
assign tx_out_clk_4 = 1'd0;
assign up_es_rdata_4 = 16'd0;
assign up_es_ready_4 = 1'd0;
assign up_rx_pll_locked_4 = 1'd0;
assign up_rx_rst_done_4 = 1'd0;
assign up_rx_rdata_4 = 16'd0;
assign up_rx_ready_4 = 1'd0;
assign up_tx_pll_locked_4 = 1'd0;
assign up_tx_rst_done_4 = 1'd0;
assign up_tx_rdata_4 = 16'd0;
assign up_tx_ready_4 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 6) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 5) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 5) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_5 (
.qpll2ch_clk (qpll2ch_clk_4),
.qpll2ch_ref_clk (qpll2ch_ref_clk_4),
.qpll2ch_locked (qpll2ch_locked_4),
.qpll1_clk (qpll1_clk_4),
.qpll1_ref_clk (qpll1_ref_clk_4),
.qpll1_locked (qpll1_locked_4),
.cpll_ref_clk (cpll_ref_clk_5),
.up_cpll_rst (up_cpll_rst_5),
.rx_p (rx_5_p),
.rx_n (rx_5_n),
.rx_out_clk (rx_out_clk_5),
.rx_out_clk_div2 (rx_out_clk_div2_5),
.rx_clk (rx_clk_5),
.rx_clk_2x (rx_clk_2x_5),
.rx_charisk (rx_charisk_5),
.rx_disperr (rx_disperr_5),
.rx_notintable (rx_notintable_5),
.rx_data (rx_data_5),
.rx_calign (rx_calign_5),
.rx_header(rx_header_5),
.rx_block_sync(rx_block_sync_5),
.tx_p (tx_5_p),
.tx_n (tx_5_n),
.tx_out_clk (tx_out_clk_5),
.tx_out_clk_div2 (tx_out_clk_div2_5),
.tx_clk (tx_clk_5),
.tx_clk_2x (tx_clk_2x_5),
.tx_charisk (tx_charisk_5),
.tx_data (tx_data_5),
.tx_header (tx_header_5),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_5),
.up_es_addr (up_es_addr_5),
.up_es_wr (up_es_wr_5),
.up_es_wdata (up_es_wdata_5),
.up_es_rdata (up_es_rdata_5),
.up_es_ready (up_es_ready_5),
.up_es_reset (up_es_reset_5),
.up_rx_pll_locked (up_rx_pll_locked_5),
.up_rx_rst (up_rx_rst_5),
.up_rx_user_ready (up_rx_user_ready_5),
.up_rx_rst_done (up_rx_rst_done_5),
.up_rx_prbssel (up_rx_prbssel_5),
.up_rx_prbscntreset (up_rx_prbscntreset_5),
.up_rx_prbserr (up_rx_prbserr_5),
.up_rx_prbslocked (up_rx_prbslocked_5),
.up_rx_bufstatus (up_rx_bufstatus_5),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_5),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_5),
.up_rx_rate (up_rx_rate_5),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_5),
.up_rx_out_clk_sel (up_rx_out_clk_sel_5),
.up_rx_enb (up_rx_enb_5),
.up_rx_addr (up_rx_addr_5),
.up_rx_wr (up_rx_wr_5),
.up_rx_wdata (up_rx_wdata_5),
.up_rx_rdata (up_rx_rdata_5),
.up_rx_ready (up_rx_ready_5),
.up_tx_pll_locked (up_tx_pll_locked_5),
.up_tx_rst (up_tx_rst_5),
.up_tx_user_ready (up_tx_user_ready_5),
.up_tx_rst_done (up_tx_rst_done_5),
.up_tx_bufstatus (up_tx_bufstatus_5),
.up_tx_prbsforceerr (up_tx_prbsforceerr_5),
.up_tx_prbssel (up_tx_prbssel_5),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_5),
.up_tx_rate (up_tx_rate_5),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_5),
.up_tx_out_clk_sel (up_tx_out_clk_sel_5),
.up_tx_diffctrl (up_tx_diffctrl_5),
.up_tx_postcursor (up_tx_postcursor_5),
.up_tx_precursor (up_tx_precursor_5),
.up_tx_enb (up_tx_enb_5),
.up_tx_addr (up_tx_addr_5),
.up_tx_wr (up_tx_wr_5),
.up_tx_wdata (up_tx_wdata_5),
.up_tx_rdata (up_tx_rdata_5),
.up_tx_ready (up_tx_ready_5));
end else begin
assign rx_out_clk_5 = 1'd0;
assign rx_charisk_5 = 4'd0;
assign rx_disperr_5 = 4'd0;
assign rx_notintable_5 = 4'd0;
assign rx_data_5 = 32'd0;
assign tx_5_p = 1'd0;
assign tx_5_n = 1'd0;
assign tx_out_clk_5 = 1'd0;
assign up_es_rdata_5 = 16'd0;
assign up_es_ready_5 = 1'd0;
assign up_rx_pll_locked_5 = 1'd0;
assign up_rx_rst_done_5 = 1'd0;
assign up_rx_rdata_5 = 16'd0;
assign up_rx_ready_5 = 1'd0;
assign up_tx_pll_locked_5 = 1'd0;
assign up_tx_rst_done_5 = 1'd0;
assign up_tx_rdata_5 = 16'd0;
assign up_tx_ready_5 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 7) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 6) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 6) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_6 (
.qpll2ch_clk (qpll2ch_clk_4),
.qpll2ch_ref_clk (qpll2ch_ref_clk_4),
.qpll2ch_locked (qpll2ch_locked_4),
.qpll1_clk (qpll1_clk_4),
.qpll1_ref_clk (qpll1_ref_clk_4),
.qpll1_locked (qpll1_locked_4),
.cpll_ref_clk (cpll_ref_clk_6),
.up_cpll_rst (up_cpll_rst_6),
.rx_p (rx_6_p),
.rx_n (rx_6_n),
.rx_out_clk (rx_out_clk_6),
.rx_out_clk_div2 (rx_out_clk_div2_6),
.rx_clk (rx_clk_6),
.rx_clk_2x (rx_clk_2x_6),
.rx_charisk (rx_charisk_6),
.rx_disperr (rx_disperr_6),
.rx_notintable (rx_notintable_6),
.rx_data (rx_data_6),
.rx_calign (rx_calign_6),
.rx_header(rx_header_6),
.rx_block_sync(rx_block_sync_6),
.tx_p (tx_6_p),
.tx_n (tx_6_n),
.tx_out_clk (tx_out_clk_6),
.tx_out_clk_div2 (tx_out_clk_div2_6),
.tx_clk (tx_clk_6),
.tx_clk_2x (tx_clk_2x_6),
.tx_charisk (tx_charisk_6),
.tx_data (tx_data_6),
.tx_header (tx_header_6),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_6),
.up_es_addr (up_es_addr_6),
.up_es_wr (up_es_wr_6),
.up_es_wdata (up_es_wdata_6),
.up_es_rdata (up_es_rdata_6),
.up_es_ready (up_es_ready_6),
.up_es_reset (up_es_reset_6),
.up_rx_pll_locked (up_rx_pll_locked_6),
.up_rx_rst (up_rx_rst_6),
.up_rx_user_ready (up_rx_user_ready_6),
.up_rx_rst_done (up_rx_rst_done_6),
.up_rx_prbssel (up_rx_prbssel_6),
.up_rx_prbscntreset (up_rx_prbscntreset_6),
.up_rx_prbserr (up_rx_prbserr_6),
.up_rx_prbslocked (up_rx_prbslocked_6),
.up_rx_bufstatus (up_rx_bufstatus_6),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_6),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_6),
.up_rx_rate (up_rx_rate_6),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_6),
.up_rx_out_clk_sel (up_rx_out_clk_sel_6),
.up_rx_enb (up_rx_enb_6),
.up_rx_addr (up_rx_addr_6),
.up_rx_wr (up_rx_wr_6),
.up_rx_wdata (up_rx_wdata_6),
.up_rx_rdata (up_rx_rdata_6),
.up_rx_ready (up_rx_ready_6),
.up_tx_pll_locked (up_tx_pll_locked_6),
.up_tx_rst (up_tx_rst_6),
.up_tx_user_ready (up_tx_user_ready_6),
.up_tx_rst_done (up_tx_rst_done_6),
.up_tx_bufstatus (up_tx_bufstatus_6),
.up_tx_prbsforceerr (up_tx_prbsforceerr_6),
.up_tx_prbssel (up_tx_prbssel_6),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_6),
.up_tx_rate (up_tx_rate_6),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_6),
.up_tx_out_clk_sel (up_tx_out_clk_sel_6),
.up_tx_diffctrl (up_tx_diffctrl_6),
.up_tx_postcursor (up_tx_postcursor_6),
.up_tx_precursor (up_tx_precursor_6),
.up_tx_enb (up_tx_enb_6),
.up_tx_addr (up_tx_addr_6),
.up_tx_wr (up_tx_wr_6),
.up_tx_wdata (up_tx_wdata_6),
.up_tx_rdata (up_tx_rdata_6),
.up_tx_ready (up_tx_ready_6));
end else begin
assign rx_out_clk_6 = 1'd0;
assign rx_charisk_6 = 4'd0;
assign rx_disperr_6 = 4'd0;
assign rx_notintable_6 = 4'd0;
assign rx_data_6 = 32'd0;
assign tx_6_p = 1'd0;
assign tx_6_n = 1'd0;
assign tx_out_clk_6 = 1'd0;
assign up_es_rdata_6 = 16'd0;
assign up_es_ready_6 = 1'd0;
assign up_rx_pll_locked_6 = 1'd0;
assign up_rx_rst_done_6 = 1'd0;
assign up_rx_rdata_6 = 16'd0;
assign up_rx_ready_6 = 1'd0;
assign up_tx_pll_locked_6 = 1'd0;
assign up_tx_rst_done_6 = 1'd0;
assign up_tx_rdata_6 = 16'd0;
assign up_tx_ready_6 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 8) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 7) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 7) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_7 (
.qpll2ch_clk (qpll2ch_clk_4),
.qpll2ch_ref_clk (qpll2ch_ref_clk_4),
.qpll2ch_locked (qpll2ch_locked_4),
.qpll1_clk (qpll1_clk_4),
.qpll1_ref_clk (qpll1_ref_clk_4),
.qpll1_locked (qpll1_locked_4),
.cpll_ref_clk (cpll_ref_clk_7),
.up_cpll_rst (up_cpll_rst_7),
.rx_p (rx_7_p),
.rx_n (rx_7_n),
.rx_out_clk (rx_out_clk_7),
.rx_out_clk_div2 (rx_out_clk_div2_7),
.rx_clk (rx_clk_7),
.rx_clk_2x (rx_clk_2x_7),
.rx_charisk (rx_charisk_7),
.rx_disperr (rx_disperr_7),
.rx_notintable (rx_notintable_7),
.rx_data (rx_data_7),
.rx_calign (rx_calign_7),
.rx_header(rx_header_7),
.rx_block_sync(rx_block_sync_7),
.tx_p (tx_7_p),
.tx_n (tx_7_n),
.tx_out_clk (tx_out_clk_7),
.tx_out_clk_div2 (tx_out_clk_div2_7),
.tx_clk (tx_clk_7),
.tx_clk_2x (tx_clk_2x_7),
.tx_charisk (tx_charisk_7),
.tx_data (tx_data_7),
.tx_header (tx_header_7),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_7),
.up_es_addr (up_es_addr_7),
.up_es_wr (up_es_wr_7),
.up_es_wdata (up_es_wdata_7),
.up_es_rdata (up_es_rdata_7),
.up_es_ready (up_es_ready_7),
.up_es_reset (up_es_reset_7),
.up_rx_pll_locked (up_rx_pll_locked_7),
.up_rx_rst (up_rx_rst_7),
.up_rx_user_ready (up_rx_user_ready_7),
.up_rx_rst_done (up_rx_rst_done_7),
.up_rx_prbssel (up_rx_prbssel_7),
.up_rx_prbscntreset (up_rx_prbscntreset_7),
.up_rx_prbserr (up_rx_prbserr_7),
.up_rx_prbslocked (up_rx_prbslocked_7),
.up_rx_bufstatus (up_rx_bufstatus_7),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_7),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_7),
.up_rx_rate (up_rx_rate_7),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_7),
.up_rx_out_clk_sel (up_rx_out_clk_sel_7),
.up_rx_enb (up_rx_enb_7),
.up_rx_addr (up_rx_addr_7),
.up_rx_wr (up_rx_wr_7),
.up_rx_wdata (up_rx_wdata_7),
.up_rx_rdata (up_rx_rdata_7),
.up_rx_ready (up_rx_ready_7),
.up_tx_pll_locked (up_tx_pll_locked_7),
.up_tx_rst (up_tx_rst_7),
.up_tx_user_ready (up_tx_user_ready_7),
.up_tx_rst_done (up_tx_rst_done_7),
.up_tx_bufstatus (up_tx_bufstatus_7),
.up_tx_prbsforceerr (up_tx_prbsforceerr_7),
.up_tx_prbssel (up_tx_prbssel_7),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_7),
.up_tx_rate (up_tx_rate_7),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_7),
.up_tx_out_clk_sel (up_tx_out_clk_sel_7),
.up_tx_diffctrl (up_tx_diffctrl_7),
.up_tx_postcursor (up_tx_postcursor_7),
.up_tx_precursor (up_tx_precursor_7),
.up_tx_enb (up_tx_enb_7),
.up_tx_addr (up_tx_addr_7),
.up_tx_wr (up_tx_wr_7),
.up_tx_wdata (up_tx_wdata_7),
.up_tx_rdata (up_tx_rdata_7),
.up_tx_ready (up_tx_ready_7));
end else begin
assign rx_out_clk_7 = 1'd0;
assign rx_charisk_7 = 4'd0;
assign rx_disperr_7 = 4'd0;
assign rx_notintable_7 = 4'd0;
assign rx_data_7 = 32'd0;
assign tx_7_p = 1'd0;
assign tx_7_n = 1'd0;
assign tx_out_clk_7 = 1'd0;
assign up_es_rdata_7 = 16'd0;
assign up_es_ready_7 = 1'd0;
assign up_rx_pll_locked_7 = 1'd0;
assign up_rx_rst_done_7 = 1'd0;
assign up_rx_rdata_7 = 16'd0;
assign up_rx_ready_7 = 1'd0;
assign up_tx_pll_locked_7 = 1'd0;
assign up_tx_rst_done_7 = 1'd0;
assign up_tx_rdata_7 = 16'd0;
assign up_tx_ready_7 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 9) begin
util_adxcvr_xcm #(
.XCVR_TYPE (XCVR_TYPE),
.QPLL_REFCLK_DIV (QPLL_REFCLK_DIV),
.QPLL_FBDIV_RATIO (QPLL_FBDIV_RATIO),
.POR_CFG (POR_CFG),
.PPF0_CFG (PPF0_CFG),
.PPF1_CFG (PPF1_CFG),
.QPLL_CFG (QPLL_CFG),
.QPLL_FBDIV (QPLL_FBDIV),
.QPLL_CFG0 (QPLL_CFG0),
.QPLL_CFG1 (QPLL_CFG1),
.QPLL_CFG1_G3 (QPLL_CFG1_G3),
.QPLL_CFG2 (QPLL_CFG2),
.QPLL_CFG2_G3 (QPLL_CFG2_G3),
.QPLL_CFG3 (QPLL_CFG3),
.QPLL_CP_G3 (QPLL_CP_G3),
.QPLL_LPF (QPLL_LPF),
.QPLL_CP (QPLL_CP),
.QPLL_CFG4 (QPLL_CFG4)
) i_xcm_8 (
.qpll_ref_clk (qpll_ref_clk_8),
.qpll_sel (qpll_sel_8),
.qpll2ch_clk (qpll2ch_clk_8),
.qpll2ch_ref_clk (qpll2ch_ref_clk_8),
.qpll2ch_locked (qpll2ch_locked_8),
.qpll1_clk (qpll1_clk_8),
.qpll1_ref_clk (qpll1_ref_clk_8),
.qpll1_locked (qpll1_locked_8),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_qpll_rst (up_qpll_rst_8),
.up_cm_enb (up_cm_enb_8),
.up_cm_addr (up_cm_addr_8),
.up_cm_wr (up_cm_wr_8),
.up_cm_wdata (up_cm_wdata_8),
.up_cm_rdata (up_cm_rdata_8),
.up_cm_ready (up_cm_ready_8));
end else begin
assign qpll2ch_clk_8 = 1'd0;
assign qpll2ch_ref_clk_8 = 1'd0;
assign qpll2ch_locked_8 = 1'd0;
assign qpll1_clk_8 = 1'd0;
assign qpll1_ref_clk_8 = 1'd0;
assign qpll1_locked_8 = 1'd0;
assign up_cm_rdata_8 = 16'd0;
assign up_cm_ready_8 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 9) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 8) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 8) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_8 (
.qpll2ch_clk (qpll2ch_clk_8),
.qpll2ch_ref_clk (qpll2ch_ref_clk_8),
.qpll2ch_locked (qpll2ch_locked_8),
.qpll1_clk (qpll1_clk_8),
.qpll1_ref_clk (qpll1_ref_clk_8),
.qpll1_locked (qpll1_locked_8),
.cpll_ref_clk (cpll_ref_clk_8),
.up_cpll_rst (up_cpll_rst_8),
.rx_p (rx_8_p),
.rx_n (rx_8_n),
.rx_out_clk (rx_out_clk_8),
.rx_out_clk_div2 (rx_out_clk_div2_8),
.rx_clk (rx_clk_8),
.rx_clk_2x (rx_clk_2x_8),
.rx_charisk (rx_charisk_8),
.rx_disperr (rx_disperr_8),
.rx_notintable (rx_notintable_8),
.rx_data (rx_data_8),
.rx_calign (rx_calign_8),
.rx_header(rx_header_8),
.rx_block_sync(rx_block_sync_8),
.tx_p (tx_8_p),
.tx_n (tx_8_n),
.tx_out_clk (tx_out_clk_8),
.tx_out_clk_div2 (tx_out_clk_div2_8),
.tx_clk (tx_clk_8),
.tx_clk_2x (tx_clk_2x_8),
.tx_charisk (tx_charisk_8),
.tx_data (tx_data_8),
.tx_header (tx_header_8),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_8),
.up_es_addr (up_es_addr_8),
.up_es_wr (up_es_wr_8),
.up_es_wdata (up_es_wdata_8),
.up_es_rdata (up_es_rdata_8),
.up_es_ready (up_es_ready_8),
.up_es_reset (up_es_reset_8),
.up_rx_pll_locked (up_rx_pll_locked_8),
.up_rx_rst (up_rx_rst_8),
.up_rx_user_ready (up_rx_user_ready_8),
.up_rx_rst_done (up_rx_rst_done_8),
.up_rx_prbssel (up_rx_prbssel_8),
.up_rx_prbscntreset (up_rx_prbscntreset_8),
.up_rx_prbserr (up_rx_prbserr_8),
.up_rx_prbslocked (up_rx_prbslocked_8),
.up_rx_bufstatus (up_rx_bufstatus_8),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_8),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_8),
.up_rx_rate (up_rx_rate_8),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_8),
.up_rx_out_clk_sel (up_rx_out_clk_sel_8),
.up_rx_enb (up_rx_enb_8),
.up_rx_addr (up_rx_addr_8),
.up_rx_wr (up_rx_wr_8),
.up_rx_wdata (up_rx_wdata_8),
.up_rx_rdata (up_rx_rdata_8),
.up_rx_ready (up_rx_ready_8),
.up_tx_pll_locked (up_tx_pll_locked_8),
.up_tx_rst (up_tx_rst_8),
.up_tx_user_ready (up_tx_user_ready_8),
.up_tx_rst_done (up_tx_rst_done_8),
.up_tx_bufstatus (up_tx_bufstatus_8),
.up_tx_prbsforceerr (up_tx_prbsforceerr_8),
.up_tx_prbssel (up_tx_prbssel_8),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_8),
.up_tx_rate (up_tx_rate_8),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_8),
.up_tx_out_clk_sel (up_tx_out_clk_sel_8),
.up_tx_diffctrl (up_tx_diffctrl_8),
.up_tx_postcursor (up_tx_postcursor_8),
.up_tx_precursor (up_tx_precursor_8),
.up_tx_enb (up_tx_enb_8),
.up_tx_addr (up_tx_addr_8),
.up_tx_wr (up_tx_wr_8),
.up_tx_wdata (up_tx_wdata_8),
.up_tx_rdata (up_tx_rdata_8),
.up_tx_ready (up_tx_ready_8));
end else begin
assign rx_out_clk_8 = 1'd0;
assign rx_charisk_8 = 4'd0;
assign rx_disperr_8 = 4'd0;
assign rx_notintable_8 = 4'd0;
assign rx_data_8 = 32'd0;
assign tx_8_p = 1'd0;
assign tx_8_n = 1'd0;
assign tx_out_clk_8 = 1'd0;
assign up_es_rdata_8 = 16'd0;
assign up_es_ready_8 = 1'd0;
assign up_rx_pll_locked_8 = 1'd0;
assign up_rx_rst_done_8 = 1'd0;
assign up_rx_rdata_8 = 16'd0;
assign up_rx_ready_8 = 1'd0;
assign up_tx_pll_locked_8 = 1'd0;
assign up_tx_rst_done_8 = 1'd0;
assign up_tx_rdata_8 = 16'd0;
assign up_tx_ready_8 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 10) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 9) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 9) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_9 (
.qpll2ch_clk (qpll2ch_clk_8),
.qpll2ch_ref_clk (qpll2ch_ref_clk_8),
.qpll2ch_locked (qpll2ch_locked_8),
.qpll1_clk (qpll1_clk_8),
.qpll1_ref_clk (qpll1_ref_clk_8),
.qpll1_locked (qpll1_locked_8),
.cpll_ref_clk (cpll_ref_clk_9),
.up_cpll_rst (up_cpll_rst_9),
.rx_p (rx_9_p),
.rx_n (rx_9_n),
.rx_out_clk (rx_out_clk_9),
.rx_out_clk_div2 (rx_out_clk_div2_9),
.rx_clk (rx_clk_9),
.rx_clk_2x (rx_clk_2x_9),
.rx_charisk (rx_charisk_9),
.rx_disperr (rx_disperr_9),
.rx_notintable (rx_notintable_9),
.rx_data (rx_data_9),
.rx_calign (rx_calign_9),
.rx_header(rx_header_9),
.rx_block_sync(rx_block_sync_9),
.tx_p (tx_9_p),
.tx_n (tx_9_n),
.tx_out_clk (tx_out_clk_9),
.tx_out_clk_div2 (tx_out_clk_div2_9),
.tx_clk (tx_clk_9),
.tx_clk_2x (tx_clk_2x_9),
.tx_charisk (tx_charisk_9),
.tx_data (tx_data_9),
.tx_header (tx_header_9),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_9),
.up_es_addr (up_es_addr_9),
.up_es_wr (up_es_wr_9),
.up_es_wdata (up_es_wdata_9),
.up_es_rdata (up_es_rdata_9),
.up_es_ready (up_es_ready_9),
.up_es_reset (up_es_reset_9),
.up_rx_pll_locked (up_rx_pll_locked_9),
.up_rx_rst (up_rx_rst_9),
.up_rx_user_ready (up_rx_user_ready_9),
.up_rx_rst_done (up_rx_rst_done_9),
.up_rx_prbssel (up_rx_prbssel_9),
.up_rx_prbscntreset (up_rx_prbscntreset_9),
.up_rx_prbserr (up_rx_prbserr_9),
.up_rx_prbslocked (up_rx_prbslocked_9),
.up_rx_bufstatus (up_rx_bufstatus_9),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_9),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_9),
.up_rx_rate (up_rx_rate_9),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_9),
.up_rx_out_clk_sel (up_rx_out_clk_sel_9),
.up_rx_enb (up_rx_enb_9),
.up_rx_addr (up_rx_addr_9),
.up_rx_wr (up_rx_wr_9),
.up_rx_wdata (up_rx_wdata_9),
.up_rx_rdata (up_rx_rdata_9),
.up_rx_ready (up_rx_ready_9),
.up_tx_pll_locked (up_tx_pll_locked_9),
.up_tx_rst (up_tx_rst_9),
.up_tx_user_ready (up_tx_user_ready_9),
.up_tx_rst_done (up_tx_rst_done_9),
.up_tx_bufstatus (up_tx_bufstatus_9),
.up_tx_prbsforceerr (up_tx_prbsforceerr_9),
.up_tx_prbssel (up_tx_prbssel_9),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_9),
.up_tx_rate (up_tx_rate_9),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_9),
.up_tx_out_clk_sel (up_tx_out_clk_sel_9),
.up_tx_diffctrl (up_tx_diffctrl_9),
.up_tx_postcursor (up_tx_postcursor_9),
.up_tx_precursor (up_tx_precursor_9),
.up_tx_enb (up_tx_enb_9),
.up_tx_addr (up_tx_addr_9),
.up_tx_wr (up_tx_wr_9),
.up_tx_wdata (up_tx_wdata_9),
.up_tx_rdata (up_tx_rdata_9),
.up_tx_ready (up_tx_ready_9));
end else begin
assign rx_out_clk_9 = 1'd0;
assign rx_charisk_9 = 4'd0;
assign rx_disperr_9 = 4'd0;
assign rx_notintable_9 = 4'd0;
assign rx_data_9 = 32'd0;
assign tx_9_p = 1'd0;
assign tx_9_n = 1'd0;
assign tx_out_clk_9 = 1'd0;
assign up_es_rdata_9 = 16'd0;
assign up_es_ready_9 = 1'd0;
assign up_rx_pll_locked_9 = 1'd0;
assign up_rx_rst_done_9 = 1'd0;
assign up_rx_rdata_9 = 16'd0;
assign up_rx_ready_9 = 1'd0;
assign up_tx_pll_locked_9 = 1'd0;
assign up_tx_rst_done_9 = 1'd0;
assign up_tx_rdata_9 = 16'd0;
assign up_tx_ready_9 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 11) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 10) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 10) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_10 (
.qpll2ch_clk (qpll2ch_clk_8),
.qpll2ch_ref_clk (qpll2ch_ref_clk_8),
.qpll2ch_locked (qpll2ch_locked_8),
.qpll1_clk (qpll1_clk_8),
.qpll1_ref_clk (qpll1_ref_clk_8),
.qpll1_locked (qpll1_locked_8),
.cpll_ref_clk (cpll_ref_clk_10),
.up_cpll_rst (up_cpll_rst_10),
.rx_p (rx_10_p),
.rx_n (rx_10_n),
.rx_out_clk (rx_out_clk_10),
.rx_out_clk_div2 (rx_out_clk_div2_10),
.rx_clk (rx_clk_10),
.rx_clk_2x (rx_clk_2x_10),
.rx_charisk (rx_charisk_10),
.rx_disperr (rx_disperr_10),
.rx_notintable (rx_notintable_10),
.rx_data (rx_data_10),
.rx_calign (rx_calign_10),
.rx_header(rx_header_10),
.rx_block_sync(rx_block_sync_10),
.tx_p (tx_10_p),
.tx_n (tx_10_n),
.tx_out_clk (tx_out_clk_10),
.tx_out_clk_div2 (tx_out_clk_div2_10),
.tx_clk (tx_clk_10),
.tx_clk_2x (tx_clk_2x_10),
.tx_charisk (tx_charisk_10),
.tx_data (tx_data_10),
.tx_header (tx_header_10),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_10),
.up_es_addr (up_es_addr_10),
.up_es_wr (up_es_wr_10),
.up_es_wdata (up_es_wdata_10),
.up_es_rdata (up_es_rdata_10),
.up_es_ready (up_es_ready_10),
.up_es_reset (up_es_reset_10),
.up_rx_pll_locked (up_rx_pll_locked_10),
.up_rx_rst (up_rx_rst_10),
.up_rx_user_ready (up_rx_user_ready_10),
.up_rx_rst_done (up_rx_rst_done_10),
.up_rx_prbssel (up_rx_prbssel_10),
.up_rx_prbscntreset (up_rx_prbscntreset_10),
.up_rx_prbserr (up_rx_prbserr_10),
.up_rx_prbslocked (up_rx_prbslocked_10),
.up_rx_bufstatus (up_rx_bufstatus_10),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_10),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_10),
.up_rx_rate (up_rx_rate_10),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_10),
.up_rx_out_clk_sel (up_rx_out_clk_sel_10),
.up_rx_enb (up_rx_enb_10),
.up_rx_addr (up_rx_addr_10),
.up_rx_wr (up_rx_wr_10),
.up_rx_wdata (up_rx_wdata_10),
.up_rx_rdata (up_rx_rdata_10),
.up_rx_ready (up_rx_ready_10),
.up_tx_pll_locked (up_tx_pll_locked_10),
.up_tx_rst (up_tx_rst_10),
.up_tx_user_ready (up_tx_user_ready_10),
.up_tx_rst_done (up_tx_rst_done_10),
.up_tx_bufstatus (up_tx_bufstatus_10),
.up_tx_prbsforceerr (up_tx_prbsforceerr_10),
.up_tx_prbssel (up_tx_prbssel_10),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_10),
.up_tx_rate (up_tx_rate_10),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_10),
.up_tx_out_clk_sel (up_tx_out_clk_sel_10),
.up_tx_diffctrl (up_tx_diffctrl_10),
.up_tx_postcursor (up_tx_postcursor_10),
.up_tx_precursor (up_tx_precursor_10),
.up_tx_enb (up_tx_enb_10),
.up_tx_addr (up_tx_addr_10),
.up_tx_wr (up_tx_wr_10),
.up_tx_wdata (up_tx_wdata_10),
.up_tx_rdata (up_tx_rdata_10),
.up_tx_ready (up_tx_ready_10));
end else begin
assign rx_out_clk_10 = 1'd0;
assign rx_charisk_10 = 4'd0;
assign rx_disperr_10 = 4'd0;
assign rx_notintable_10 = 4'd0;
assign rx_data_10 = 32'd0;
assign tx_10_p = 1'd0;
assign tx_10_n = 1'd0;
assign tx_out_clk_10 = 1'd0;
assign up_es_rdata_10 = 16'd0;
assign up_es_ready_10 = 1'd0;
assign up_rx_pll_locked_10 = 1'd0;
assign up_rx_rst_done_10 = 1'd0;
assign up_rx_rdata_10 = 16'd0;
assign up_rx_ready_10 = 1'd0;
assign up_tx_pll_locked_10 = 1'd0;
assign up_tx_rst_done_10 = 1'd0;
assign up_tx_rdata_10 = 16'd0;
assign up_tx_ready_10 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 12) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 11) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 11) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_11 (
.qpll2ch_clk (qpll2ch_clk_8),
.qpll2ch_ref_clk (qpll2ch_ref_clk_8),
.qpll2ch_locked (qpll2ch_locked_8),
.qpll1_clk (qpll1_clk_8),
.qpll1_ref_clk (qpll1_ref_clk_8),
.qpll1_locked (qpll1_locked_8),
.cpll_ref_clk (cpll_ref_clk_11),
.up_cpll_rst (up_cpll_rst_11),
.rx_p (rx_11_p),
.rx_n (rx_11_n),
.rx_out_clk (rx_out_clk_11),
.rx_out_clk_div2 (rx_out_clk_div2_11),
.rx_clk (rx_clk_11),
.rx_clk_2x (rx_clk_2x_11),
.rx_charisk (rx_charisk_11),
.rx_disperr (rx_disperr_11),
.rx_notintable (rx_notintable_11),
.rx_data (rx_data_11),
.rx_calign (rx_calign_11),
.rx_header(rx_header_11),
.rx_block_sync(rx_block_sync_11),
.tx_p (tx_11_p),
.tx_n (tx_11_n),
.tx_out_clk (tx_out_clk_11),
.tx_out_clk_div2 (tx_out_clk_div2_11),
.tx_clk (tx_clk_11),
.tx_clk_2x (tx_clk_2x_11),
.tx_charisk (tx_charisk_11),
.tx_data (tx_data_11),
.tx_header (tx_header_11),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_11),
.up_es_addr (up_es_addr_11),
.up_es_wr (up_es_wr_11),
.up_es_wdata (up_es_wdata_11),
.up_es_rdata (up_es_rdata_11),
.up_es_ready (up_es_ready_11),
.up_es_reset (up_es_reset_11),
.up_rx_pll_locked (up_rx_pll_locked_11),
.up_rx_rst (up_rx_rst_11),
.up_rx_user_ready (up_rx_user_ready_11),
.up_rx_rst_done (up_rx_rst_done_11),
.up_rx_prbssel (up_rx_prbssel_11),
.up_rx_prbscntreset (up_rx_prbscntreset_11),
.up_rx_prbserr (up_rx_prbserr_11),
.up_rx_prbslocked (up_rx_prbslocked_11),
.up_rx_bufstatus (up_rx_bufstatus_11),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_11),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_11),
.up_rx_rate (up_rx_rate_11),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_11),
.up_rx_out_clk_sel (up_rx_out_clk_sel_11),
.up_rx_enb (up_rx_enb_11),
.up_rx_addr (up_rx_addr_11),
.up_rx_wr (up_rx_wr_11),
.up_rx_wdata (up_rx_wdata_11),
.up_rx_rdata (up_rx_rdata_11),
.up_rx_ready (up_rx_ready_11),
.up_tx_pll_locked (up_tx_pll_locked_11),
.up_tx_rst (up_tx_rst_11),
.up_tx_user_ready (up_tx_user_ready_11),
.up_tx_rst_done (up_tx_rst_done_11),
.up_tx_bufstatus (up_tx_bufstatus_11),
.up_tx_prbsforceerr (up_tx_prbsforceerr_11),
.up_tx_prbssel (up_tx_prbssel_11),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_11),
.up_tx_rate (up_tx_rate_11),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_11),
.up_tx_out_clk_sel (up_tx_out_clk_sel_11),
.up_tx_diffctrl (up_tx_diffctrl_11),
.up_tx_postcursor (up_tx_postcursor_11),
.up_tx_precursor (up_tx_precursor_11),
.up_tx_enb (up_tx_enb_11),
.up_tx_addr (up_tx_addr_11),
.up_tx_wr (up_tx_wr_11),
.up_tx_wdata (up_tx_wdata_11),
.up_tx_rdata (up_tx_rdata_11),
.up_tx_ready (up_tx_ready_11));
end else begin
assign rx_out_clk_11 = 1'd0;
assign rx_charisk_11 = 4'd0;
assign rx_disperr_11 = 4'd0;
assign rx_notintable_11 = 4'd0;
assign rx_data_11 = 32'd0;
assign tx_11_p = 1'd0;
assign tx_11_n = 1'd0;
assign tx_out_clk_11 = 1'd0;
assign up_es_rdata_11 = 16'd0;
assign up_es_ready_11 = 1'd0;
assign up_rx_pll_locked_11 = 1'd0;
assign up_rx_rst_done_11 = 1'd0;
assign up_rx_rdata_11 = 16'd0;
assign up_rx_ready_11 = 1'd0;
assign up_tx_pll_locked_11 = 1'd0;
assign up_tx_rst_done_11 = 1'd0;
assign up_tx_rdata_11 = 16'd0;
assign up_tx_ready_11 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 13) begin
util_adxcvr_xcm #(
.XCVR_TYPE (XCVR_TYPE),
.QPLL_REFCLK_DIV (QPLL_REFCLK_DIV),
.QPLL_FBDIV_RATIO (QPLL_FBDIV_RATIO),
.POR_CFG (POR_CFG),
.PPF0_CFG (PPF0_CFG),
.PPF1_CFG (PPF1_CFG),
.QPLL_CFG (QPLL_CFG),
.QPLL_FBDIV (QPLL_FBDIV),
.QPLL_CFG0 (QPLL_CFG0),
.QPLL_CFG1 (QPLL_CFG1),
.QPLL_CFG1_G3 (QPLL_CFG1_G3),
.QPLL_CFG2 (QPLL_CFG2),
.QPLL_CFG2_G3 (QPLL_CFG2_G3),
.QPLL_CFG3 (QPLL_CFG3),
.QPLL_CP_G3 (QPLL_CP_G3),
.QPLL_LPF (QPLL_LPF),
.QPLL_CP (QPLL_CP),
.QPLL_CFG4 (QPLL_CFG4)
) i_xcm_12 (
.qpll_ref_clk (qpll_ref_clk_12),
.qpll_sel (qpll_sel_12),
.qpll2ch_clk (qpll2ch_clk_12),
.qpll2ch_ref_clk (qpll2ch_ref_clk_12),
.qpll2ch_locked (qpll2ch_locked_12),
.qpll1_clk (qpll1_clk_12),
.qpll1_ref_clk (qpll1_ref_clk_12),
.qpll1_locked (qpll1_locked_12),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_qpll_rst (up_qpll_rst_12),
.up_cm_enb (up_cm_enb_12),
.up_cm_addr (up_cm_addr_12),
.up_cm_wr (up_cm_wr_12),
.up_cm_wdata (up_cm_wdata_12),
.up_cm_rdata (up_cm_rdata_12),
.up_cm_ready (up_cm_ready_12));
end else begin
assign qpll2ch_clk_12 = 1'd0;
assign qpll2ch_ref_clk_12 = 1'd0;
assign qpll2ch_locked_12 = 1'd0;
assign qpll1_clk_12 = 1'd0;
assign qpll1_ref_clk_12 = 1'd0;
assign qpll1_locked_12 = 1'd0;
assign up_cm_rdata_12 = 16'd0;
assign up_cm_ready_12 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 13) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 12) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 12) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_12 (
.qpll2ch_clk (qpll2ch_clk_12),
.qpll2ch_ref_clk (qpll2ch_ref_clk_12),
.qpll2ch_locked (qpll2ch_locked_12),
.qpll1_clk (qpll1_clk_12),
.qpll1_ref_clk (qpll1_ref_clk_12),
.qpll1_locked (qpll1_locked_12),
.cpll_ref_clk (cpll_ref_clk_12),
.up_cpll_rst (up_cpll_rst_12),
.rx_p (rx_12_p),
.rx_n (rx_12_n),
.rx_out_clk (rx_out_clk_12),
.rx_out_clk_div2 (rx_out_clk_div2_12),
.rx_clk (rx_clk_12),
.rx_clk_2x (rx_clk_2x_12),
.rx_charisk (rx_charisk_12),
.rx_disperr (rx_disperr_12),
.rx_notintable (rx_notintable_12),
.rx_data (rx_data_12),
.rx_calign (rx_calign_12),
.rx_header(rx_header_12),
.rx_block_sync(rx_block_sync_12),
.tx_p (tx_12_p),
.tx_n (tx_12_n),
.tx_out_clk (tx_out_clk_12),
.tx_out_clk_div2 (tx_out_clk_div2_12),
.tx_clk (tx_clk_12),
.tx_clk_2x (tx_clk_2x_12),
.tx_charisk (tx_charisk_12),
.tx_data (tx_data_12),
.tx_header (tx_header_12),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_12),
.up_es_addr (up_es_addr_12),
.up_es_wr (up_es_wr_12),
.up_es_wdata (up_es_wdata_12),
.up_es_rdata (up_es_rdata_12),
.up_es_ready (up_es_ready_12),
.up_es_reset (up_es_reset_12),
.up_rx_pll_locked (up_rx_pll_locked_12),
.up_rx_rst (up_rx_rst_12),
.up_rx_user_ready (up_rx_user_ready_12),
.up_rx_rst_done (up_rx_rst_done_12),
.up_rx_prbssel (up_rx_prbssel_12),
.up_rx_prbscntreset (up_rx_prbscntreset_12),
.up_rx_prbserr (up_rx_prbserr_12),
.up_rx_prbslocked (up_rx_prbslocked_12),
.up_rx_bufstatus (up_rx_bufstatus_12),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_12),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_12),
.up_rx_rate (up_rx_rate_12),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_12),
.up_rx_out_clk_sel (up_rx_out_clk_sel_12),
.up_rx_enb (up_rx_enb_12),
.up_rx_addr (up_rx_addr_12),
.up_rx_wr (up_rx_wr_12),
.up_rx_wdata (up_rx_wdata_12),
.up_rx_rdata (up_rx_rdata_12),
.up_rx_ready (up_rx_ready_12),
.up_tx_pll_locked (up_tx_pll_locked_12),
.up_tx_rst (up_tx_rst_12),
.up_tx_user_ready (up_tx_user_ready_12),
.up_tx_rst_done (up_tx_rst_done_12),
.up_tx_bufstatus (up_tx_bufstatus_12),
.up_tx_prbsforceerr (up_tx_prbsforceerr_12),
.up_tx_prbssel (up_tx_prbssel_12),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_12),
.up_tx_rate (up_tx_rate_12),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_12),
.up_tx_out_clk_sel (up_tx_out_clk_sel_12),
.up_tx_diffctrl (up_tx_diffctrl_12),
.up_tx_postcursor (up_tx_postcursor_12),
.up_tx_precursor (up_tx_precursor_12),
.up_tx_enb (up_tx_enb_12),
.up_tx_addr (up_tx_addr_12),
.up_tx_wr (up_tx_wr_12),
.up_tx_wdata (up_tx_wdata_12),
.up_tx_rdata (up_tx_rdata_12),
.up_tx_ready (up_tx_ready_12));
end else begin
assign rx_out_clk_12 = 1'd0;
assign rx_charisk_12 = 4'd0;
assign rx_disperr_12 = 4'd0;
assign rx_notintable_12 = 4'd0;
assign rx_data_12 = 32'd0;
assign tx_12_p = 1'd0;
assign tx_12_n = 1'd0;
assign tx_out_clk_12 = 1'd0;
assign up_es_rdata_12 = 16'd0;
assign up_es_ready_12 = 1'd0;
assign up_rx_pll_locked_12 = 1'd0;
assign up_rx_rst_done_12 = 1'd0;
assign up_rx_rdata_12 = 16'd0;
assign up_rx_ready_12 = 1'd0;
assign up_tx_pll_locked_12 = 1'd0;
assign up_tx_rst_done_12 = 1'd0;
assign up_tx_rdata_12 = 16'd0;
assign up_tx_ready_12 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 14) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 13) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 13) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_13 (
.qpll2ch_clk (qpll2ch_clk_12),
.qpll2ch_ref_clk (qpll2ch_ref_clk_12),
.qpll2ch_locked (qpll2ch_locked_12),
.qpll1_clk (qpll1_clk_12),
.qpll1_ref_clk (qpll1_ref_clk_12),
.qpll1_locked (qpll1_locked_12),
.cpll_ref_clk (cpll_ref_clk_13),
.up_cpll_rst (up_cpll_rst_13),
.rx_p (rx_13_p),
.rx_n (rx_13_n),
.rx_out_clk (rx_out_clk_13),
.rx_out_clk_div2 (rx_out_clk_div2_13),
.rx_clk (rx_clk_13),
.rx_clk_2x (rx_clk_2x_13),
.rx_charisk (rx_charisk_13),
.rx_disperr (rx_disperr_13),
.rx_notintable (rx_notintable_13),
.rx_data (rx_data_13),
.rx_calign (rx_calign_13),
.rx_header(rx_header_13),
.rx_block_sync(rx_block_sync_13),
.tx_p (tx_13_p),
.tx_n (tx_13_n),
.tx_out_clk (tx_out_clk_13),
.tx_out_clk_div2 (tx_out_clk_div2_13),
.tx_clk (tx_clk_13),
.tx_clk_2x (tx_clk_2x_13),
.tx_charisk (tx_charisk_13),
.tx_data (tx_data_13),
.tx_header (tx_header_13),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_13),
.up_es_addr (up_es_addr_13),
.up_es_wr (up_es_wr_13),
.up_es_wdata (up_es_wdata_13),
.up_es_rdata (up_es_rdata_13),
.up_es_ready (up_es_ready_13),
.up_es_reset (up_es_reset_13),
.up_rx_pll_locked (up_rx_pll_locked_13),
.up_rx_rst (up_rx_rst_13),
.up_rx_user_ready (up_rx_user_ready_13),
.up_rx_rst_done (up_rx_rst_done_13),
.up_rx_prbssel (up_rx_prbssel_13),
.up_rx_prbscntreset (up_rx_prbscntreset_13),
.up_rx_prbserr (up_rx_prbserr_13),
.up_rx_prbslocked (up_rx_prbslocked_13),
.up_rx_bufstatus (up_rx_bufstatus_13),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_13),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_13),
.up_rx_rate (up_rx_rate_13),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_13),
.up_rx_out_clk_sel (up_rx_out_clk_sel_13),
.up_rx_enb (up_rx_enb_13),
.up_rx_addr (up_rx_addr_13),
.up_rx_wr (up_rx_wr_13),
.up_rx_wdata (up_rx_wdata_13),
.up_rx_rdata (up_rx_rdata_13),
.up_rx_ready (up_rx_ready_13),
.up_tx_pll_locked (up_tx_pll_locked_13),
.up_tx_rst (up_tx_rst_13),
.up_tx_user_ready (up_tx_user_ready_13),
.up_tx_rst_done (up_tx_rst_done_13),
.up_tx_bufstatus (up_tx_bufstatus_13),
.up_tx_prbsforceerr (up_tx_prbsforceerr_13),
.up_tx_prbssel (up_tx_prbssel_13),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_13),
.up_tx_rate (up_tx_rate_13),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_13),
.up_tx_out_clk_sel (up_tx_out_clk_sel_13),
.up_tx_diffctrl (up_tx_diffctrl_13),
.up_tx_postcursor (up_tx_postcursor_13),
.up_tx_precursor (up_tx_precursor_13),
.up_tx_enb (up_tx_enb_13),
.up_tx_addr (up_tx_addr_13),
.up_tx_wr (up_tx_wr_13),
.up_tx_wdata (up_tx_wdata_13),
.up_tx_rdata (up_tx_rdata_13),
.up_tx_ready (up_tx_ready_13));
end else begin
assign rx_out_clk_13 = 1'd0;
assign rx_charisk_13 = 4'd0;
assign rx_disperr_13 = 4'd0;
assign rx_notintable_13 = 4'd0;
assign rx_data_13 = 32'd0;
assign tx_13_p = 1'd0;
assign tx_13_n = 1'd0;
assign tx_out_clk_13 = 1'd0;
assign up_es_rdata_13 = 16'd0;
assign up_es_ready_13 = 1'd0;
assign up_rx_pll_locked_13 = 1'd0;
assign up_rx_rst_done_13 = 1'd0;
assign up_rx_rdata_13 = 16'd0;
assign up_rx_ready_13 = 1'd0;
assign up_tx_pll_locked_13 = 1'd0;
assign up_tx_rst_done_13 = 1'd0;
assign up_tx_rdata_13 = 16'd0;
assign up_tx_ready_13 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 15) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 14) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 14) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_14 (
.qpll2ch_clk (qpll2ch_clk_12),
.qpll2ch_ref_clk (qpll2ch_ref_clk_12),
.qpll2ch_locked (qpll2ch_locked_12),
.qpll1_clk (qpll1_clk_12),
.qpll1_ref_clk (qpll1_ref_clk_12),
.qpll1_locked (qpll1_locked_12),
.cpll_ref_clk (cpll_ref_clk_14),
.up_cpll_rst (up_cpll_rst_14),
.rx_p (rx_14_p),
.rx_n (rx_14_n),
.rx_out_clk (rx_out_clk_14),
.rx_out_clk_div2 (rx_out_clk_div2_14),
.rx_clk (rx_clk_14),
.rx_clk_2x (rx_clk_2x_14),
.rx_charisk (rx_charisk_14),
.rx_disperr (rx_disperr_14),
.rx_notintable (rx_notintable_14),
.rx_data (rx_data_14),
.rx_calign (rx_calign_14),
.rx_header(rx_header_14),
.rx_block_sync(rx_block_sync_14),
.tx_p (tx_14_p),
.tx_n (tx_14_n),
.tx_out_clk (tx_out_clk_14),
.tx_out_clk_div2 (tx_out_clk_div2_14),
.tx_clk (tx_clk_14),
.tx_clk_2x (tx_clk_2x_14),
.tx_charisk (tx_charisk_14),
.tx_data (tx_data_14),
.tx_header (tx_header_14),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_14),
.up_es_addr (up_es_addr_14),
.up_es_wr (up_es_wr_14),
.up_es_wdata (up_es_wdata_14),
.up_es_rdata (up_es_rdata_14),
.up_es_ready (up_es_ready_14),
.up_es_reset (up_es_reset_14),
.up_rx_pll_locked (up_rx_pll_locked_14),
.up_rx_rst (up_rx_rst_14),
.up_rx_user_ready (up_rx_user_ready_14),
.up_rx_rst_done (up_rx_rst_done_14),
.up_rx_prbssel (up_rx_prbssel_14),
.up_rx_prbscntreset (up_rx_prbscntreset_14),
.up_rx_prbserr (up_rx_prbserr_14),
.up_rx_prbslocked (up_rx_prbslocked_14),
.up_rx_bufstatus (up_rx_bufstatus_14),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_14),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_14),
.up_rx_rate (up_rx_rate_14),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_14),
.up_rx_out_clk_sel (up_rx_out_clk_sel_14),
.up_rx_enb (up_rx_enb_14),
.up_rx_addr (up_rx_addr_14),
.up_rx_wr (up_rx_wr_14),
.up_rx_wdata (up_rx_wdata_14),
.up_rx_rdata (up_rx_rdata_14),
.up_rx_ready (up_rx_ready_14),
.up_tx_pll_locked (up_tx_pll_locked_14),
.up_tx_rst (up_tx_rst_14),
.up_tx_user_ready (up_tx_user_ready_14),
.up_tx_rst_done (up_tx_rst_done_14),
.up_tx_bufstatus (up_tx_bufstatus_14),
.up_tx_prbsforceerr (up_tx_prbsforceerr_14),
.up_tx_prbssel (up_tx_prbssel_14),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_14),
.up_tx_rate (up_tx_rate_14),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_14),
.up_tx_out_clk_sel (up_tx_out_clk_sel_14),
.up_tx_diffctrl (up_tx_diffctrl_14),
.up_tx_postcursor (up_tx_postcursor_14),
.up_tx_precursor (up_tx_precursor_14),
.up_tx_enb (up_tx_enb_14),
.up_tx_addr (up_tx_addr_14),
.up_tx_wr (up_tx_wr_14),
.up_tx_wdata (up_tx_wdata_14),
.up_tx_rdata (up_tx_rdata_14),
.up_tx_ready (up_tx_ready_14));
end else begin
assign rx_out_clk_14 = 1'd0;
assign rx_charisk_14 = 4'd0;
assign rx_disperr_14 = 4'd0;
assign rx_notintable_14 = 4'd0;
assign rx_data_14 = 32'd0;
assign tx_14_p = 1'd0;
assign tx_14_n = 1'd0;
assign tx_out_clk_14 = 1'd0;
assign up_es_rdata_14 = 16'd0;
assign up_es_ready_14 = 1'd0;
assign up_rx_pll_locked_14 = 1'd0;
assign up_rx_rst_done_14 = 1'd0;
assign up_rx_rdata_14 = 16'd0;
assign up_rx_ready_14 = 1'd0;
assign up_tx_pll_locked_14 = 1'd0;
assign up_tx_rst_done_14 = 1'd0;
assign up_tx_rdata_14 = 16'd0;
assign up_tx_ready_14 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 16) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 15) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 15) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_15 (
.qpll2ch_clk (qpll2ch_clk_12),
.qpll2ch_ref_clk (qpll2ch_ref_clk_12),
.qpll2ch_locked (qpll2ch_locked_12),
.qpll1_clk (qpll1_clk_12),
.qpll1_ref_clk (qpll1_ref_clk_12),
.qpll1_locked (qpll1_locked_12),
.cpll_ref_clk (cpll_ref_clk_15),
.up_cpll_rst (up_cpll_rst_15),
.rx_p (rx_15_p),
.rx_n (rx_15_n),
.rx_out_clk (rx_out_clk_15),
.rx_out_clk_div2 (rx_out_clk_div2_15),
.rx_clk (rx_clk_15),
.rx_clk_2x (rx_clk_2x_15),
.rx_charisk (rx_charisk_15),
.rx_disperr (rx_disperr_15),
.rx_notintable (rx_notintable_15),
.rx_data (rx_data_15),
.rx_calign (rx_calign_15),
.rx_header(rx_header_15),
.rx_block_sync(rx_block_sync_15),
.tx_p (tx_15_p),
.tx_n (tx_15_n),
.tx_out_clk (tx_out_clk_15),
.tx_out_clk_div2 (tx_out_clk_div2_15),
.tx_clk (tx_clk_15),
.tx_clk_2x (tx_clk_2x_15),
.tx_charisk (tx_charisk_15),
.tx_data (tx_data_15),
.tx_header (tx_header_15),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_15),
.up_es_addr (up_es_addr_15),
.up_es_wr (up_es_wr_15),
.up_es_wdata (up_es_wdata_15),
.up_es_rdata (up_es_rdata_15),
.up_es_ready (up_es_ready_15),
.up_es_reset (up_es_reset_15),
.up_rx_pll_locked (up_rx_pll_locked_15),
.up_rx_rst (up_rx_rst_15),
.up_rx_user_ready (up_rx_user_ready_15),
.up_rx_rst_done (up_rx_rst_done_15),
.up_rx_prbssel (up_rx_prbssel_15),
.up_rx_prbscntreset (up_rx_prbscntreset_15),
.up_rx_prbserr (up_rx_prbserr_15),
.up_rx_prbslocked (up_rx_prbslocked_15),
.up_rx_bufstatus (up_rx_bufstatus_15),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_15),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_15),
.up_rx_rate (up_rx_rate_15),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_15),
.up_rx_out_clk_sel (up_rx_out_clk_sel_15),
.up_rx_enb (up_rx_enb_15),
.up_rx_addr (up_rx_addr_15),
.up_rx_wr (up_rx_wr_15),
.up_rx_wdata (up_rx_wdata_15),
.up_rx_rdata (up_rx_rdata_15),
.up_rx_ready (up_rx_ready_15),
.up_tx_pll_locked (up_tx_pll_locked_15),
.up_tx_rst (up_tx_rst_15),
.up_tx_user_ready (up_tx_user_ready_15),
.up_tx_rst_done (up_tx_rst_done_15),
.up_tx_bufstatus (up_tx_bufstatus_15),
.up_tx_prbsforceerr (up_tx_prbsforceerr_15),
.up_tx_prbssel (up_tx_prbssel_15),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_15),
.up_tx_rate (up_tx_rate_15),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_15),
.up_tx_out_clk_sel (up_tx_out_clk_sel_15),
.up_tx_diffctrl (up_tx_diffctrl_15),
.up_tx_postcursor (up_tx_postcursor_15),
.up_tx_precursor (up_tx_precursor_15),
.up_tx_enb (up_tx_enb_15),
.up_tx_addr (up_tx_addr_15),
.up_tx_wr (up_tx_wr_15),
.up_tx_wdata (up_tx_wdata_15),
.up_tx_rdata (up_tx_rdata_15),
.up_tx_ready (up_tx_ready_15));
end else begin
assign rx_out_clk_15 = 1'd0;
assign rx_charisk_15 = 4'd0;
assign rx_disperr_15 = 4'd0;
assign rx_notintable_15 = 4'd0;
assign rx_data_15 = 32'd0;
assign tx_15_p = 1'd0;
assign tx_15_n = 1'd0;
assign tx_out_clk_15 = 1'd0;
assign up_es_rdata_15 = 16'd0;
assign up_es_ready_15 = 1'd0;
assign up_rx_pll_locked_15 = 1'd0;
assign up_rx_rst_done_15 = 1'd0;
assign up_rx_rdata_15 = 16'd0;
assign up_rx_ready_15 = 1'd0;
assign up_tx_pll_locked_15 = 1'd0;
assign up_tx_rst_done_15 = 1'd0;
assign up_tx_rdata_15 = 16'd0;
assign up_tx_ready_15 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 17) begin
util_adxcvr_xcm #(
.XCVR_TYPE (XCVR_TYPE),
.QPLL_REFCLK_DIV (QPLL_REFCLK_DIV),
.QPLL_FBDIV_RATIO (QPLL_FBDIV_RATIO),
.POR_CFG (POR_CFG),
.PPF0_CFG (PPF0_CFG),
.PPF1_CFG (PPF1_CFG),
.QPLL_CFG (QPLL_CFG),
.QPLL_FBDIV (QPLL_FBDIV),
.QPLL_CFG0 (QPLL_CFG0),
.QPLL_CFG1 (QPLL_CFG1),
.QPLL_CFG1_G3 (QPLL_CFG1_G3),
.QPLL_CFG2 (QPLL_CFG2),
.QPLL_CFG2_G3 (QPLL_CFG2_G3),
.QPLL_CFG3 (QPLL_CFG3),
.QPLL_CP_G3 (QPLL_CP_G3),
.QPLL_LPF (QPLL_LPF),
.QPLL_CP (QPLL_CP),
.QPLL_CFG4 (QPLL_CFG4)
) i_xcm_16 (
.qpll_ref_clk (qpll_ref_clk_16),
.qpll_sel (qpll_sel_16),
.qpll2ch_clk (qpll2ch_clk_16),
.qpll2ch_ref_clk (qpll2ch_ref_clk_16),
.qpll2ch_locked (qpll2ch_locked_16),
.qpll1_clk (qpll1_clk_16),
.qpll1_ref_clk (qpll1_ref_clk_16),
.qpll1_locked (qpll1_locked_16),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_qpll_rst (up_qpll_rst_16),
.up_cm_enb (up_cm_enb_16),
.up_cm_addr (up_cm_addr_16),
.up_cm_wr (up_cm_wr_16),
.up_cm_wdata (up_cm_wdata_16),
.up_cm_rdata (up_cm_rdata_16),
.up_cm_ready (up_cm_ready_16));
end else begin
assign qpll2ch_clk_16 = 1'd0;
assign qpll2ch_ref_clk_16 = 1'd0;
assign qpll2ch_locked_16 = 1'd0;
assign qpll1_clk_16 = 1'd0;
assign qpll1_ref_clk_16 = 1'd0;
assign qpll1_locked_16 = 1'd0;
assign up_cm_rdata_16 = 16'd0;
assign up_cm_ready_16 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 17) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 16) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 16) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_16 (
.qpll2ch_clk (qpll2ch_clk_16),
.qpll2ch_ref_clk (qpll2ch_ref_clk_16),
.qpll2ch_locked (qpll2ch_locked_16),
.qpll1_clk (qpll1_clk_16),
.qpll1_ref_clk (qpll1_ref_clk_16),
.qpll1_locked (qpll1_locked_16),
.cpll_ref_clk (cpll_ref_clk_16),
.up_cpll_rst (up_cpll_rst_16),
.rx_p (rx_16_p),
.rx_n (rx_16_n),
.rx_out_clk (rx_out_clk_16),
.rx_out_clk_div2 (rx_out_clk_div2_16),
.rx_clk (rx_clk_16),
.rx_clk_2x (rx_clk_2x_16),
.rx_charisk (rx_charisk_16),
.rx_disperr (rx_disperr_16),
.rx_notintable (rx_notintable_16),
.rx_data (rx_data_16),
.rx_calign (rx_calign_16),
.rx_header(rx_header_16),
.rx_block_sync(rx_block_sync_16),
.tx_p (tx_16_p),
.tx_n (tx_16_n),
.tx_out_clk (tx_out_clk_16),
.tx_out_clk_div2 (tx_out_clk_div2_16),
.tx_clk (tx_clk_16),
.tx_clk_2x (tx_clk_2x_16),
.tx_charisk (tx_charisk_16),
.tx_data (tx_data_16),
.tx_header (tx_header_16),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_16),
.up_es_addr (up_es_addr_16),
.up_es_wr (up_es_wr_16),
.up_es_wdata (up_es_wdata_16),
.up_es_rdata (up_es_rdata_16),
.up_es_ready (up_es_ready_16),
.up_es_reset (up_es_reset_16),
.up_rx_pll_locked (up_rx_pll_locked_16),
.up_rx_rst (up_rx_rst_16),
.up_rx_user_ready (up_rx_user_ready_16),
.up_rx_rst_done (up_rx_rst_done_16),
.up_rx_prbssel (up_rx_prbssel_16),
.up_rx_prbscntreset (up_rx_prbscntreset_16),
.up_rx_prbserr (up_rx_prbserr_16),
.up_rx_prbslocked (up_rx_prbslocked_16),
.up_rx_bufstatus (up_rx_bufstatus_16),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_16),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_16),
.up_rx_rate (up_rx_rate_16),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_16),
.up_rx_out_clk_sel (up_rx_out_clk_sel_16),
.up_rx_enb (up_rx_enb_16),
.up_rx_addr (up_rx_addr_16),
.up_rx_wr (up_rx_wr_16),
.up_rx_wdata (up_rx_wdata_16),
.up_rx_rdata (up_rx_rdata_16),
.up_rx_ready (up_rx_ready_16),
.up_tx_pll_locked (up_tx_pll_locked_16),
.up_tx_rst (up_tx_rst_16),
.up_tx_user_ready (up_tx_user_ready_16),
.up_tx_rst_done (up_tx_rst_done_16),
.up_tx_bufstatus (up_tx_bufstatus_16),
.up_tx_prbsforceerr (up_tx_prbsforceerr_16),
.up_tx_prbssel (up_tx_prbssel_16),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_16),
.up_tx_rate (up_tx_rate_16),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_16),
.up_tx_out_clk_sel (up_tx_out_clk_sel_16),
.up_tx_diffctrl (up_tx_diffctrl_16),
.up_tx_postcursor (up_tx_postcursor_16),
.up_tx_precursor (up_tx_precursor_16),
.up_tx_enb (up_tx_enb_16),
.up_tx_addr (up_tx_addr_16),
.up_tx_wr (up_tx_wr_16),
.up_tx_wdata (up_tx_wdata_16),
.up_tx_rdata (up_tx_rdata_16),
.up_tx_ready (up_tx_ready_16));
end else begin
assign rx_out_clk_16 = 1'd0;
assign rx_charisk_16 = 4'd0;
assign rx_disperr_16 = 4'd0;
assign rx_notintable_16 = 4'd0;
assign rx_data_16 = 32'd0;
assign tx_16_p = 1'd0;
assign tx_16_n = 1'd0;
assign tx_out_clk_16 = 1'd0;
assign up_es_rdata_16 = 16'd0;
assign up_es_ready_16 = 1'd0;
assign up_rx_pll_locked_16 = 1'd0;
assign up_rx_rst_done_16 = 1'd0;
assign up_rx_rdata_16 = 16'd0;
assign up_rx_ready_16 = 1'd0;
assign up_tx_pll_locked_16 = 1'd0;
assign up_tx_rst_done_16 = 1'd0;
assign up_tx_rdata_16 = 16'd0;
assign up_tx_ready_16 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 18) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 17) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 17) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_17 (
.qpll2ch_clk (qpll2ch_clk_16),
.qpll2ch_ref_clk (qpll2ch_ref_clk_16),
.qpll2ch_locked (qpll2ch_locked_16),
.qpll1_clk (qpll1_clk_16),
.qpll1_ref_clk (qpll1_ref_clk_16),
.qpll1_locked (qpll1_locked_16),
.cpll_ref_clk (cpll_ref_clk_17),
.up_cpll_rst (up_cpll_rst_17),
.rx_p (rx_17_p),
.rx_n (rx_17_n),
.rx_out_clk (rx_out_clk_17),
.rx_out_clk_div2 (rx_out_clk_div2_17),
.rx_clk (rx_clk_17),
.rx_clk_2x (rx_clk_2x_17),
.rx_charisk (rx_charisk_17),
.rx_disperr (rx_disperr_17),
.rx_notintable (rx_notintable_17),
.rx_data (rx_data_17),
.rx_calign (rx_calign_17),
.rx_header(rx_header_17),
.rx_block_sync(rx_block_sync_17),
.tx_p (tx_17_p),
.tx_n (tx_17_n),
.tx_out_clk (tx_out_clk_17),
.tx_out_clk_div2 (tx_out_clk_div2_17),
.tx_clk (tx_clk_17),
.tx_clk_2x (tx_clk_2x_17),
.tx_charisk (tx_charisk_17),
.tx_data (tx_data_17),
.tx_header (tx_header_17),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_17),
.up_es_addr (up_es_addr_17),
.up_es_wr (up_es_wr_17),
.up_es_wdata (up_es_wdata_17),
.up_es_rdata (up_es_rdata_17),
.up_es_ready (up_es_ready_17),
.up_es_reset (up_es_reset_17),
.up_rx_pll_locked (up_rx_pll_locked_17),
.up_rx_rst (up_rx_rst_17),
.up_rx_user_ready (up_rx_user_ready_17),
.up_rx_rst_done (up_rx_rst_done_17),
.up_rx_prbssel (up_rx_prbssel_17),
.up_rx_prbscntreset (up_rx_prbscntreset_17),
.up_rx_prbserr (up_rx_prbserr_17),
.up_rx_prbslocked (up_rx_prbslocked_17),
.up_rx_bufstatus (up_rx_bufstatus_17),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_17),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_17),
.up_rx_rate (up_rx_rate_17),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_17),
.up_rx_out_clk_sel (up_rx_out_clk_sel_17),
.up_rx_enb (up_rx_enb_17),
.up_rx_addr (up_rx_addr_17),
.up_rx_wr (up_rx_wr_17),
.up_rx_wdata (up_rx_wdata_17),
.up_rx_rdata (up_rx_rdata_17),
.up_rx_ready (up_rx_ready_17),
.up_tx_pll_locked (up_tx_pll_locked_17),
.up_tx_rst (up_tx_rst_17),
.up_tx_user_ready (up_tx_user_ready_17),
.up_tx_rst_done (up_tx_rst_done_17),
.up_tx_bufstatus (up_tx_bufstatus_17),
.up_tx_prbsforceerr (up_tx_prbsforceerr_17),
.up_tx_prbssel (up_tx_prbssel_17),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_17),
.up_tx_rate (up_tx_rate_17),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_17),
.up_tx_out_clk_sel (up_tx_out_clk_sel_17),
.up_tx_diffctrl (up_tx_diffctrl_17),
.up_tx_postcursor (up_tx_postcursor_17),
.up_tx_precursor (up_tx_precursor_17),
.up_tx_enb (up_tx_enb_17),
.up_tx_addr (up_tx_addr_17),
.up_tx_wr (up_tx_wr_17),
.up_tx_wdata (up_tx_wdata_17),
.up_tx_rdata (up_tx_rdata_17),
.up_tx_ready (up_tx_ready_17));
end else begin
assign rx_out_clk_17 = 1'd0;
assign rx_charisk_17 = 4'd0;
assign rx_disperr_17 = 4'd0;
assign rx_notintable_17 = 4'd0;
assign rx_data_17 = 32'd0;
assign tx_17_p = 1'd0;
assign tx_17_n = 1'd0;
assign tx_out_clk_17 = 1'd0;
assign up_es_rdata_17 = 16'd0;
assign up_es_ready_17 = 1'd0;
assign up_rx_pll_locked_17 = 1'd0;
assign up_rx_rst_done_17 = 1'd0;
assign up_rx_rdata_17 = 16'd0;
assign up_rx_ready_17 = 1'd0;
assign up_tx_pll_locked_17 = 1'd0;
assign up_tx_rst_done_17 = 1'd0;
assign up_tx_rdata_17 = 16'd0;
assign up_tx_ready_17 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 19) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 18) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 18) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_18 (
.qpll2ch_clk (qpll2ch_clk_16),
.qpll2ch_ref_clk (qpll2ch_ref_clk_16),
.qpll2ch_locked (qpll2ch_locked_16),
.qpll1_clk (qpll1_clk_16),
.qpll1_ref_clk (qpll1_ref_clk_16),
.qpll1_locked (qpll1_locked_16),
.cpll_ref_clk (cpll_ref_clk_18),
.up_cpll_rst (up_cpll_rst_18),
.rx_p (rx_18_p),
.rx_n (rx_18_n),
.rx_out_clk (rx_out_clk_18),
.rx_out_clk_div2 (rx_out_clk_div2_18),
.rx_clk (rx_clk_18),
.rx_clk_2x (rx_clk_2x_18),
.rx_charisk (rx_charisk_18),
.rx_disperr (rx_disperr_18),
.rx_notintable (rx_notintable_18),
.rx_data (rx_data_18),
.rx_calign (rx_calign_18),
.rx_header(rx_header_18),
.rx_block_sync(rx_block_sync_18),
.tx_p (tx_18_p),
.tx_n (tx_18_n),
.tx_out_clk (tx_out_clk_18),
.tx_out_clk_div2 (tx_out_clk_div2_18),
.tx_clk (tx_clk_18),
.tx_clk_2x (tx_clk_2x_18),
.tx_charisk (tx_charisk_18),
.tx_data (tx_data_18),
.tx_header (tx_header_18),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_18),
.up_es_addr (up_es_addr_18),
.up_es_wr (up_es_wr_18),
.up_es_wdata (up_es_wdata_18),
.up_es_rdata (up_es_rdata_18),
.up_es_ready (up_es_ready_18),
.up_es_reset (up_es_reset_18),
.up_rx_pll_locked (up_rx_pll_locked_18),
.up_rx_rst (up_rx_rst_18),
.up_rx_user_ready (up_rx_user_ready_18),
.up_rx_rst_done (up_rx_rst_done_18),
.up_rx_prbssel (up_rx_prbssel_18),
.up_rx_prbscntreset (up_rx_prbscntreset_18),
.up_rx_prbserr (up_rx_prbserr_18),
.up_rx_prbslocked (up_rx_prbslocked_18),
.up_rx_bufstatus (up_rx_bufstatus_18),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_18),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_18),
.up_rx_rate (up_rx_rate_18),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_18),
.up_rx_out_clk_sel (up_rx_out_clk_sel_18),
.up_rx_enb (up_rx_enb_18),
.up_rx_addr (up_rx_addr_18),
.up_rx_wr (up_rx_wr_18),
.up_rx_wdata (up_rx_wdata_18),
.up_rx_rdata (up_rx_rdata_18),
.up_rx_ready (up_rx_ready_18),
.up_tx_pll_locked (up_tx_pll_locked_18),
.up_tx_rst (up_tx_rst_18),
.up_tx_user_ready (up_tx_user_ready_18),
.up_tx_rst_done (up_tx_rst_done_18),
.up_tx_bufstatus (up_tx_bufstatus_18),
.up_tx_prbsforceerr (up_tx_prbsforceerr_18),
.up_tx_prbssel (up_tx_prbssel_18),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_18),
.up_tx_rate (up_tx_rate_18),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_18),
.up_tx_out_clk_sel (up_tx_out_clk_sel_18),
.up_tx_diffctrl (up_tx_diffctrl_18),
.up_tx_postcursor (up_tx_postcursor_18),
.up_tx_precursor (up_tx_precursor_18),
.up_tx_enb (up_tx_enb_18),
.up_tx_addr (up_tx_addr_18),
.up_tx_wr (up_tx_wr_18),
.up_tx_wdata (up_tx_wdata_18),
.up_tx_rdata (up_tx_rdata_18),
.up_tx_ready (up_tx_ready_18));
end else begin
assign rx_out_clk_18 = 1'd0;
assign rx_charisk_18 = 4'd0;
assign rx_disperr_18 = 4'd0;
assign rx_notintable_18 = 4'd0;
assign rx_data_18 = 32'd0;
assign tx_18_p = 1'd0;
assign tx_18_n = 1'd0;
assign tx_out_clk_18 = 1'd0;
assign up_es_rdata_18 = 16'd0;
assign up_es_ready_18 = 1'd0;
assign up_rx_pll_locked_18 = 1'd0;
assign up_rx_rst_done_18 = 1'd0;
assign up_rx_rdata_18 = 16'd0;
assign up_rx_ready_18 = 1'd0;
assign up_tx_pll_locked_18 = 1'd0;
assign up_tx_rst_done_18 = 1'd0;
assign up_tx_rdata_18 = 16'd0;
assign up_tx_ready_18 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 20) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 19) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 19) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_19 (
.qpll2ch_clk (qpll2ch_clk_16),
.qpll2ch_ref_clk (qpll2ch_ref_clk_16),
.qpll2ch_locked (qpll2ch_locked_16),
.qpll1_clk (qpll1_clk_16),
.qpll1_ref_clk (qpll1_ref_clk_16),
.qpll1_locked (qpll1_locked_16),
.cpll_ref_clk (cpll_ref_clk_19),
.up_cpll_rst (up_cpll_rst_19),
.rx_p (rx_19_p),
.rx_n (rx_19_n),
.rx_out_clk (rx_out_clk_19),
.rx_out_clk_div2 (rx_out_clk_div2_19),
.rx_clk (rx_clk_19),
.rx_clk_2x (rx_clk_2x_19),
.rx_charisk (rx_charisk_19),
.rx_disperr (rx_disperr_19),
.rx_notintable (rx_notintable_19),
.rx_data (rx_data_19),
.rx_calign (rx_calign_19),
.rx_header(rx_header_19),
.rx_block_sync(rx_block_sync_19),
.tx_p (tx_19_p),
.tx_n (tx_19_n),
.tx_out_clk (tx_out_clk_19),
.tx_out_clk_div2 (tx_out_clk_div2_19),
.tx_clk (tx_clk_19),
.tx_clk_2x (tx_clk_2x_19),
.tx_charisk (tx_charisk_19),
.tx_data (tx_data_19),
.tx_header (tx_header_19),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_19),
.up_es_addr (up_es_addr_19),
.up_es_wr (up_es_wr_19),
.up_es_wdata (up_es_wdata_19),
.up_es_rdata (up_es_rdata_19),
.up_es_ready (up_es_ready_19),
.up_es_reset (up_es_reset_19),
.up_rx_pll_locked (up_rx_pll_locked_19),
.up_rx_rst (up_rx_rst_19),
.up_rx_user_ready (up_rx_user_ready_19),
.up_rx_rst_done (up_rx_rst_done_19),
.up_rx_prbssel (up_rx_prbssel_19),
.up_rx_prbscntreset (up_rx_prbscntreset_19),
.up_rx_prbserr (up_rx_prbserr_19),
.up_rx_prbslocked (up_rx_prbslocked_19),
.up_rx_bufstatus (up_rx_bufstatus_19),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_19),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_19),
.up_rx_rate (up_rx_rate_19),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_19),
.up_rx_out_clk_sel (up_rx_out_clk_sel_19),
.up_rx_enb (up_rx_enb_19),
.up_rx_addr (up_rx_addr_19),
.up_rx_wr (up_rx_wr_19),
.up_rx_wdata (up_rx_wdata_19),
.up_rx_rdata (up_rx_rdata_19),
.up_rx_ready (up_rx_ready_19),
.up_tx_pll_locked (up_tx_pll_locked_19),
.up_tx_rst (up_tx_rst_19),
.up_tx_user_ready (up_tx_user_ready_19),
.up_tx_rst_done (up_tx_rst_done_19),
.up_tx_bufstatus (up_tx_bufstatus_19),
.up_tx_prbsforceerr (up_tx_prbsforceerr_19),
.up_tx_prbssel (up_tx_prbssel_19),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_19),
.up_tx_rate (up_tx_rate_19),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_19),
.up_tx_out_clk_sel (up_tx_out_clk_sel_19),
.up_tx_diffctrl (up_tx_diffctrl_19),
.up_tx_postcursor (up_tx_postcursor_19),
.up_tx_precursor (up_tx_precursor_19),
.up_tx_enb (up_tx_enb_19),
.up_tx_addr (up_tx_addr_19),
.up_tx_wr (up_tx_wr_19),
.up_tx_wdata (up_tx_wdata_19),
.up_tx_rdata (up_tx_rdata_19),
.up_tx_ready (up_tx_ready_19));
end else begin
assign rx_out_clk_19 = 1'd0;
assign rx_charisk_19 = 4'd0;
assign rx_disperr_19 = 4'd0;
assign rx_notintable_19 = 4'd0;
assign rx_data_19 = 32'd0;
assign tx_19_p = 1'd0;
assign tx_19_n = 1'd0;
assign tx_out_clk_19 = 1'd0;
assign up_es_rdata_19 = 16'd0;
assign up_es_ready_19 = 1'd0;
assign up_rx_pll_locked_19 = 1'd0;
assign up_rx_rst_done_19 = 1'd0;
assign up_rx_rdata_19 = 16'd0;
assign up_rx_ready_19 = 1'd0;
assign up_tx_pll_locked_19 = 1'd0;
assign up_tx_rst_done_19 = 1'd0;
assign up_tx_rdata_19 = 16'd0;
assign up_tx_ready_19 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 21) begin
util_adxcvr_xcm #(
.XCVR_TYPE (XCVR_TYPE),
.QPLL_REFCLK_DIV (QPLL_REFCLK_DIV),
.QPLL_FBDIV_RATIO (QPLL_FBDIV_RATIO),
.POR_CFG (POR_CFG),
.PPF0_CFG (PPF0_CFG),
.PPF1_CFG (PPF1_CFG),
.QPLL_CFG (QPLL_CFG),
.QPLL_FBDIV (QPLL_FBDIV),
.QPLL_CFG0 (QPLL_CFG0),
.QPLL_CFG1 (QPLL_CFG1),
.QPLL_CFG1_G3 (QPLL_CFG1_G3),
.QPLL_CFG2 (QPLL_CFG2),
.QPLL_CFG2_G3 (QPLL_CFG2_G3),
.QPLL_CFG3 (QPLL_CFG3),
.QPLL_CP_G3 (QPLL_CP_G3),
.QPLL_LPF (QPLL_LPF),
.QPLL_CP (QPLL_CP),
.QPLL_CFG4 (QPLL_CFG4)
) i_xcm_20 (
.qpll_ref_clk (qpll_ref_clk_20),
.qpll_sel (qpll_sel_20),
.qpll2ch_clk (qpll2ch_clk_20),
.qpll2ch_ref_clk (qpll2ch_ref_clk_20),
.qpll2ch_locked (qpll2ch_locked_20),
.qpll1_clk (qpll1_clk_20),
.qpll1_ref_clk (qpll1_ref_clk_20),
.qpll1_locked (qpll1_locked_20),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_qpll_rst (up_qpll_rst_20),
.up_cm_enb (up_cm_enb_20),
.up_cm_addr (up_cm_addr_20),
.up_cm_wr (up_cm_wr_20),
.up_cm_wdata (up_cm_wdata_20),
.up_cm_rdata (up_cm_rdata_20),
.up_cm_ready (up_cm_ready_20));
end else begin
assign qpll2ch_clk_20 = 1'd0;
assign qpll2ch_ref_clk_20 = 1'd0;
assign qpll2ch_locked_20 = 1'd0;
assign qpll1_clk_20 = 1'd0;
assign qpll1_ref_clk_20 = 1'd0;
assign qpll1_locked_20 = 1'd0;
assign up_cm_rdata_20 = 16'd0;
assign up_cm_ready_20 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 21) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 20) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 20) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_20 (
.qpll2ch_clk (qpll2ch_clk_20),
.qpll2ch_ref_clk (qpll2ch_ref_clk_20),
.qpll2ch_locked (qpll2ch_locked_20),
.qpll1_clk (qpll1_clk_20),
.qpll1_ref_clk (qpll1_ref_clk_20),
.qpll1_locked (qpll1_locked_20),
.cpll_ref_clk (cpll_ref_clk_20),
.up_cpll_rst (up_cpll_rst_20),
.rx_p (rx_20_p),
.rx_n (rx_20_n),
.rx_out_clk (rx_out_clk_20),
.rx_out_clk_div2 (rx_out_clk_div2_20),
.rx_clk (rx_clk_20),
.rx_clk_2x (rx_clk_2x_20),
.rx_charisk (rx_charisk_20),
.rx_disperr (rx_disperr_20),
.rx_notintable (rx_notintable_20),
.rx_data (rx_data_20),
.rx_calign (rx_calign_20),
.rx_header(rx_header_20),
.rx_block_sync(rx_block_sync_20),
.tx_p (tx_20_p),
.tx_n (tx_20_n),
.tx_out_clk (tx_out_clk_20),
.tx_out_clk_div2 (tx_out_clk_div2_20),
.tx_clk (tx_clk_20),
.tx_clk_2x (tx_clk_2x_20),
.tx_charisk (tx_charisk_20),
.tx_data (tx_data_20),
.tx_header (tx_header_20),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_20),
.up_es_addr (up_es_addr_20),
.up_es_wr (up_es_wr_20),
.up_es_wdata (up_es_wdata_20),
.up_es_rdata (up_es_rdata_20),
.up_es_ready (up_es_ready_20),
.up_es_reset (up_es_reset_20),
.up_rx_pll_locked (up_rx_pll_locked_20),
.up_rx_rst (up_rx_rst_20),
.up_rx_user_ready (up_rx_user_ready_20),
.up_rx_rst_done (up_rx_rst_done_20),
.up_rx_prbssel (up_rx_prbssel_20),
.up_rx_prbscntreset (up_rx_prbscntreset_20),
.up_rx_prbserr (up_rx_prbserr_20),
.up_rx_prbslocked (up_rx_prbslocked_20),
.up_rx_bufstatus (up_rx_bufstatus_20),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_20),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_20),
.up_rx_rate (up_rx_rate_20),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_20),
.up_rx_out_clk_sel (up_rx_out_clk_sel_20),
.up_rx_enb (up_rx_enb_20),
.up_rx_addr (up_rx_addr_20),
.up_rx_wr (up_rx_wr_20),
.up_rx_wdata (up_rx_wdata_20),
.up_rx_rdata (up_rx_rdata_20),
.up_rx_ready (up_rx_ready_20),
.up_tx_pll_locked (up_tx_pll_locked_20),
.up_tx_rst (up_tx_rst_20),
.up_tx_user_ready (up_tx_user_ready_20),
.up_tx_rst_done (up_tx_rst_done_20),
.up_tx_bufstatus (up_tx_bufstatus_20),
.up_tx_prbsforceerr (up_tx_prbsforceerr_20),
.up_tx_prbssel (up_tx_prbssel_20),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_20),
.up_tx_rate (up_tx_rate_20),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_20),
.up_tx_out_clk_sel (up_tx_out_clk_sel_20),
.up_tx_diffctrl (up_tx_diffctrl_20),
.up_tx_postcursor (up_tx_postcursor_20),
.up_tx_precursor (up_tx_precursor_20),
.up_tx_enb (up_tx_enb_20),
.up_tx_addr (up_tx_addr_20),
.up_tx_wr (up_tx_wr_20),
.up_tx_wdata (up_tx_wdata_20),
.up_tx_rdata (up_tx_rdata_20),
.up_tx_ready (up_tx_ready_20));
end else begin
assign rx_out_clk_20 = 1'd0;
assign rx_charisk_20 = 4'd0;
assign rx_disperr_20 = 4'd0;
assign rx_notintable_20 = 4'd0;
assign rx_data_20 = 32'd0;
assign tx_20_p = 1'd0;
assign tx_20_n = 1'd0;
assign tx_out_clk_20 = 1'd0;
assign up_es_rdata_20 = 16'd0;
assign up_es_ready_20 = 1'd0;
assign up_rx_pll_locked_20 = 1'd0;
assign up_rx_rst_done_20 = 1'd0;
assign up_rx_rdata_20 = 16'd0;
assign up_rx_ready_20 = 1'd0;
assign up_tx_pll_locked_20 = 1'd0;
assign up_tx_rst_done_20 = 1'd0;
assign up_tx_rdata_20 = 16'd0;
assign up_tx_ready_20 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 22) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 21) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 21) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_21 (
.qpll2ch_clk (qpll2ch_clk_20),
.qpll2ch_ref_clk (qpll2ch_ref_clk_20),
.qpll2ch_locked (qpll2ch_locked_20),
.qpll1_clk (qpll1_clk_20),
.qpll1_ref_clk (qpll1_ref_clk_20),
.qpll1_locked (qpll1_locked_20),
.cpll_ref_clk (cpll_ref_clk_21),
.up_cpll_rst (up_cpll_rst_21),
.rx_p (rx_21_p),
.rx_n (rx_21_n),
.rx_out_clk (rx_out_clk_21),
.rx_out_clk_div2 (rx_out_clk_div2_21),
.rx_clk (rx_clk_21),
.rx_clk_2x (rx_clk_2x_21),
.rx_charisk (rx_charisk_21),
.rx_disperr (rx_disperr_21),
.rx_notintable (rx_notintable_21),
.rx_data (rx_data_21),
.rx_calign (rx_calign_21),
.rx_header(rx_header_21),
.rx_block_sync(rx_block_sync_21),
.tx_p (tx_21_p),
.tx_n (tx_21_n),
.tx_out_clk (tx_out_clk_21),
.tx_out_clk_div2 (tx_out_clk_div2_21),
.tx_clk (tx_clk_21),
.tx_clk_2x (tx_clk_2x_21),
.tx_charisk (tx_charisk_21),
.tx_data (tx_data_21),
.tx_header (tx_header_21),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_21),
.up_es_addr (up_es_addr_21),
.up_es_wr (up_es_wr_21),
.up_es_wdata (up_es_wdata_21),
.up_es_rdata (up_es_rdata_21),
.up_es_ready (up_es_ready_21),
.up_es_reset (up_es_reset_21),
.up_rx_pll_locked (up_rx_pll_locked_21),
.up_rx_rst (up_rx_rst_21),
.up_rx_user_ready (up_rx_user_ready_21),
.up_rx_rst_done (up_rx_rst_done_21),
.up_rx_prbssel (up_rx_prbssel_21),
.up_rx_prbscntreset (up_rx_prbscntreset_21),
.up_rx_prbserr (up_rx_prbserr_21),
.up_rx_prbslocked (up_rx_prbslocked_21),
.up_rx_bufstatus (up_rx_bufstatus_21),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_21),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_21),
.up_rx_rate (up_rx_rate_21),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_21),
.up_rx_out_clk_sel (up_rx_out_clk_sel_21),
.up_rx_enb (up_rx_enb_21),
.up_rx_addr (up_rx_addr_21),
.up_rx_wr (up_rx_wr_21),
.up_rx_wdata (up_rx_wdata_21),
.up_rx_rdata (up_rx_rdata_21),
.up_rx_ready (up_rx_ready_21),
.up_tx_pll_locked (up_tx_pll_locked_21),
.up_tx_rst (up_tx_rst_21),
.up_tx_user_ready (up_tx_user_ready_21),
.up_tx_rst_done (up_tx_rst_done_21),
.up_tx_bufstatus (up_tx_bufstatus_21),
.up_tx_prbsforceerr (up_tx_prbsforceerr_21),
.up_tx_prbssel (up_tx_prbssel_21),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_21),
.up_tx_rate (up_tx_rate_21),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_21),
.up_tx_out_clk_sel (up_tx_out_clk_sel_21),
.up_tx_diffctrl (up_tx_diffctrl_21),
.up_tx_postcursor (up_tx_postcursor_21),
.up_tx_precursor (up_tx_precursor_21),
.up_tx_enb (up_tx_enb_21),
.up_tx_addr (up_tx_addr_21),
.up_tx_wr (up_tx_wr_21),
.up_tx_wdata (up_tx_wdata_21),
.up_tx_rdata (up_tx_rdata_21),
.up_tx_ready (up_tx_ready_21));
end else begin
assign rx_out_clk_21 = 1'd0;
assign rx_charisk_21 = 4'd0;
assign rx_disperr_21 = 4'd0;
assign rx_notintable_21 = 4'd0;
assign rx_data_21 = 32'd0;
assign tx_21_p = 1'd0;
assign tx_21_n = 1'd0;
assign tx_out_clk_21 = 1'd0;
assign up_es_rdata_21 = 16'd0;
assign up_es_ready_21 = 1'd0;
assign up_rx_pll_locked_21 = 1'd0;
assign up_rx_rst_done_21 = 1'd0;
assign up_rx_rdata_21 = 16'd0;
assign up_rx_ready_21 = 1'd0;
assign up_tx_pll_locked_21 = 1'd0;
assign up_tx_rst_done_21 = 1'd0;
assign up_tx_rdata_21 = 16'd0;
assign up_tx_ready_21 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 23) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 22) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 22) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_22 (
.qpll2ch_clk (qpll2ch_clk_20),
.qpll2ch_ref_clk (qpll2ch_ref_clk_20),
.qpll2ch_locked (qpll2ch_locked_20),
.qpll1_clk (qpll1_clk_20),
.qpll1_ref_clk (qpll1_ref_clk_20),
.qpll1_locked (qpll1_locked_20),
.cpll_ref_clk (cpll_ref_clk_22),
.up_cpll_rst (up_cpll_rst_22),
.rx_p (rx_22_p),
.rx_n (rx_22_n),
.rx_out_clk (rx_out_clk_22),
.rx_out_clk_div2 (rx_out_clk_div2_22),
.rx_clk (rx_clk_22),
.rx_clk_2x (rx_clk_2x_22),
.rx_charisk (rx_charisk_22),
.rx_disperr (rx_disperr_22),
.rx_notintable (rx_notintable_22),
.rx_data (rx_data_22),
.rx_calign (rx_calign_22),
.rx_header(rx_header_22),
.rx_block_sync(rx_block_sync_22),
.tx_p (tx_22_p),
.tx_n (tx_22_n),
.tx_out_clk (tx_out_clk_22),
.tx_out_clk_div2 (tx_out_clk_div2_22),
.tx_clk (tx_clk_22),
.tx_clk_2x (tx_clk_2x_22),
.tx_charisk (tx_charisk_22),
.tx_data (tx_data_22),
.tx_header (tx_header_22),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_22),
.up_es_addr (up_es_addr_22),
.up_es_wr (up_es_wr_22),
.up_es_wdata (up_es_wdata_22),
.up_es_rdata (up_es_rdata_22),
.up_es_ready (up_es_ready_22),
.up_es_reset (up_es_reset_22),
.up_rx_pll_locked (up_rx_pll_locked_22),
.up_rx_rst (up_rx_rst_22),
.up_rx_user_ready (up_rx_user_ready_22),
.up_rx_rst_done (up_rx_rst_done_22),
.up_rx_prbssel (up_rx_prbssel_22),
.up_rx_prbscntreset (up_rx_prbscntreset_22),
.up_rx_prbserr (up_rx_prbserr_22),
.up_rx_prbslocked (up_rx_prbslocked_22),
.up_rx_bufstatus (up_rx_bufstatus_22),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_22),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_22),
.up_rx_rate (up_rx_rate_22),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_22),
.up_rx_out_clk_sel (up_rx_out_clk_sel_22),
.up_rx_enb (up_rx_enb_22),
.up_rx_addr (up_rx_addr_22),
.up_rx_wr (up_rx_wr_22),
.up_rx_wdata (up_rx_wdata_22),
.up_rx_rdata (up_rx_rdata_22),
.up_rx_ready (up_rx_ready_22),
.up_tx_pll_locked (up_tx_pll_locked_22),
.up_tx_rst (up_tx_rst_22),
.up_tx_user_ready (up_tx_user_ready_22),
.up_tx_rst_done (up_tx_rst_done_22),
.up_tx_bufstatus (up_tx_bufstatus_22),
.up_tx_prbsforceerr (up_tx_prbsforceerr_22),
.up_tx_prbssel (up_tx_prbssel_22),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_22),
.up_tx_rate (up_tx_rate_22),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_22),
.up_tx_out_clk_sel (up_tx_out_clk_sel_22),
.up_tx_diffctrl (up_tx_diffctrl_22),
.up_tx_postcursor (up_tx_postcursor_22),
.up_tx_precursor (up_tx_precursor_22),
.up_tx_enb (up_tx_enb_22),
.up_tx_addr (up_tx_addr_22),
.up_tx_wr (up_tx_wr_22),
.up_tx_wdata (up_tx_wdata_22),
.up_tx_rdata (up_tx_rdata_22),
.up_tx_ready (up_tx_ready_22));
end else begin
assign rx_out_clk_22 = 1'd0;
assign rx_charisk_22 = 4'd0;
assign rx_disperr_22 = 4'd0;
assign rx_notintable_22 = 4'd0;
assign rx_data_22 = 32'd0;
assign tx_22_p = 1'd0;
assign tx_22_n = 1'd0;
assign tx_out_clk_22 = 1'd0;
assign up_es_rdata_22 = 16'd0;
assign up_es_ready_22 = 1'd0;
assign up_rx_pll_locked_22 = 1'd0;
assign up_rx_rst_done_22 = 1'd0;
assign up_rx_rdata_22 = 16'd0;
assign up_rx_ready_22 = 1'd0;
assign up_tx_pll_locked_22 = 1'd0;
assign up_tx_rst_done_22 = 1'd0;
assign up_tx_rdata_22 = 16'd0;
assign up_tx_ready_22 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 24) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 23) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 23) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_23 (
.qpll2ch_clk (qpll2ch_clk_20),
.qpll2ch_ref_clk (qpll2ch_ref_clk_20),
.qpll2ch_locked (qpll2ch_locked_20),
.qpll1_clk (qpll1_clk_20),
.qpll1_ref_clk (qpll1_ref_clk_20),
.qpll1_locked (qpll1_locked_20),
.cpll_ref_clk (cpll_ref_clk_23),
.up_cpll_rst (up_cpll_rst_23),
.rx_p (rx_23_p),
.rx_n (rx_23_n),
.rx_out_clk (rx_out_clk_23),
.rx_out_clk_div2 (rx_out_clk_div2_23),
.rx_clk (rx_clk_23),
.rx_clk_2x (rx_clk_2x_23),
.rx_charisk (rx_charisk_23),
.rx_disperr (rx_disperr_23),
.rx_notintable (rx_notintable_23),
.rx_data (rx_data_23),
.rx_calign (rx_calign_23),
.rx_header(rx_header_23),
.rx_block_sync(rx_block_sync_23),
.tx_p (tx_23_p),
.tx_n (tx_23_n),
.tx_out_clk (tx_out_clk_23),
.tx_out_clk_div2 (tx_out_clk_div2_23),
.tx_clk (tx_clk_23),
.tx_clk_2x (tx_clk_2x_23),
.tx_charisk (tx_charisk_23),
.tx_data (tx_data_23),
.tx_header (tx_header_23),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_23),
.up_es_addr (up_es_addr_23),
.up_es_wr (up_es_wr_23),
.up_es_wdata (up_es_wdata_23),
.up_es_rdata (up_es_rdata_23),
.up_es_ready (up_es_ready_23),
.up_es_reset (up_es_reset_23),
.up_rx_pll_locked (up_rx_pll_locked_23),
.up_rx_rst (up_rx_rst_23),
.up_rx_user_ready (up_rx_user_ready_23),
.up_rx_rst_done (up_rx_rst_done_23),
.up_rx_prbssel (up_rx_prbssel_23),
.up_rx_prbscntreset (up_rx_prbscntreset_23),
.up_rx_prbserr (up_rx_prbserr_23),
.up_rx_prbslocked (up_rx_prbslocked_23),
.up_rx_bufstatus (up_rx_bufstatus_23),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_23),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_23),
.up_rx_rate (up_rx_rate_23),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_23),
.up_rx_out_clk_sel (up_rx_out_clk_sel_23),
.up_rx_enb (up_rx_enb_23),
.up_rx_addr (up_rx_addr_23),
.up_rx_wr (up_rx_wr_23),
.up_rx_wdata (up_rx_wdata_23),
.up_rx_rdata (up_rx_rdata_23),
.up_rx_ready (up_rx_ready_23),
.up_tx_pll_locked (up_tx_pll_locked_23),
.up_tx_rst (up_tx_rst_23),
.up_tx_user_ready (up_tx_user_ready_23),
.up_tx_rst_done (up_tx_rst_done_23),
.up_tx_bufstatus (up_tx_bufstatus_23),
.up_tx_prbsforceerr (up_tx_prbsforceerr_23),
.up_tx_prbssel (up_tx_prbssel_23),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_23),
.up_tx_rate (up_tx_rate_23),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_23),
.up_tx_out_clk_sel (up_tx_out_clk_sel_23),
.up_tx_diffctrl (up_tx_diffctrl_23),
.up_tx_postcursor (up_tx_postcursor_23),
.up_tx_precursor (up_tx_precursor_23),
.up_tx_enb (up_tx_enb_23),
.up_tx_addr (up_tx_addr_23),
.up_tx_wr (up_tx_wr_23),
.up_tx_wdata (up_tx_wdata_23),
.up_tx_rdata (up_tx_rdata_23),
.up_tx_ready (up_tx_ready_23));
end else begin
assign rx_out_clk_23 = 1'd0;
assign rx_charisk_23 = 4'd0;
assign rx_disperr_23 = 4'd0;
assign rx_notintable_23 = 4'd0;
assign rx_data_23 = 32'd0;
assign tx_23_p = 1'd0;
assign tx_23_n = 1'd0;
assign tx_out_clk_23 = 1'd0;
assign up_es_rdata_23 = 16'd0;
assign up_es_ready_23 = 1'd0;
assign up_rx_pll_locked_23 = 1'd0;
assign up_rx_rst_done_23 = 1'd0;
assign up_rx_rdata_23 = 16'd0;
assign up_rx_ready_23 = 1'd0;
assign up_tx_pll_locked_23 = 1'd0;
assign up_tx_rst_done_23 = 1'd0;
assign up_tx_rdata_23 = 16'd0;
assign up_tx_ready_23 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 25) begin
util_adxcvr_xcm #(
.XCVR_TYPE (XCVR_TYPE),
.QPLL_REFCLK_DIV (QPLL_REFCLK_DIV),
.QPLL_FBDIV_RATIO (QPLL_FBDIV_RATIO),
.POR_CFG (POR_CFG),
.PPF0_CFG (PPF0_CFG),
.PPF1_CFG (PPF1_CFG),
.QPLL_CFG (QPLL_CFG),
.QPLL_FBDIV (QPLL_FBDIV),
.QPLL_CFG0 (QPLL_CFG0),
.QPLL_CFG1 (QPLL_CFG1),
.QPLL_CFG1_G3 (QPLL_CFG1_G3),
.QPLL_CFG2 (QPLL_CFG2),
.QPLL_CFG2_G3 (QPLL_CFG2_G3),
.QPLL_CFG3 (QPLL_CFG3),
.QPLL_CP_G3 (QPLL_CP_G3),
.QPLL_LPF (QPLL_LPF),
.QPLL_CP (QPLL_CP),
.QPLL_CFG4 (QPLL_CFG4)
) i_xcm_24 (
.qpll_ref_clk (qpll_ref_clk_24),
.qpll_sel (qpll_sel_24),
.qpll2ch_clk (qpll2ch_clk_24),
.qpll2ch_ref_clk (qpll2ch_ref_clk_24),
.qpll2ch_locked (qpll2ch_locked_24),
.qpll1_clk (qpll1_clk_24),
.qpll1_ref_clk (qpll1_ref_clk_24),
.qpll1_locked (qpll1_locked_24),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_qpll_rst (up_qpll_rst_24),
.up_cm_enb (up_cm_enb_24),
.up_cm_addr (up_cm_addr_24),
.up_cm_wr (up_cm_wr_24),
.up_cm_wdata (up_cm_wdata_24),
.up_cm_rdata (up_cm_rdata_24),
.up_cm_ready (up_cm_ready_24));
end else begin
assign qpll2ch_clk_24 = 1'd0;
assign qpll2ch_ref_clk_24 = 1'd0;
assign qpll2ch_locked_24 = 1'd0;
assign qpll1_clk_24 = 1'd0;
assign qpll1_ref_clk_24 = 1'd0;
assign qpll1_locked_24 = 1'd0;
assign up_cm_rdata_24 = 16'd0;
assign up_cm_ready_24 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 25) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 24) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 24) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_24 (
.qpll2ch_clk (qpll2ch_clk_24),
.qpll2ch_ref_clk (qpll2ch_ref_clk_24),
.qpll2ch_locked (qpll2ch_locked_24),
.qpll1_clk (qpll1_clk_24),
.qpll1_ref_clk (qpll1_ref_clk_24),
.qpll1_locked (qpll1_locked_24),
.cpll_ref_clk (cpll_ref_clk_24),
.up_cpll_rst (up_cpll_rst_24),
.rx_p (rx_24_p),
.rx_n (rx_24_n),
.rx_out_clk (rx_out_clk_24),
.rx_out_clk_div2 (rx_out_clk_div2_24),
.rx_clk (rx_clk_24),
.rx_clk_2x (rx_clk_2x_24),
.rx_charisk (rx_charisk_24),
.rx_disperr (rx_disperr_24),
.rx_notintable (rx_notintable_24),
.rx_data (rx_data_24),
.rx_calign (rx_calign_24),
.rx_header(rx_header_24),
.rx_block_sync(rx_block_sync_24),
.tx_p (tx_24_p),
.tx_n (tx_24_n),
.tx_out_clk (tx_out_clk_24),
.tx_out_clk_div2 (tx_out_clk_div2_24),
.tx_clk (tx_clk_24),
.tx_clk_2x (tx_clk_2x_24),
.tx_charisk (tx_charisk_24),
.tx_data (tx_data_24),
.tx_header (tx_header_24),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_24),
.up_es_addr (up_es_addr_24),
.up_es_wr (up_es_wr_24),
.up_es_wdata (up_es_wdata_24),
.up_es_rdata (up_es_rdata_24),
.up_es_ready (up_es_ready_24),
.up_es_reset (up_es_reset_24),
.up_rx_pll_locked (up_rx_pll_locked_24),
.up_rx_rst (up_rx_rst_24),
.up_rx_user_ready (up_rx_user_ready_24),
.up_rx_rst_done (up_rx_rst_done_24),
.up_rx_prbssel (up_rx_prbssel_24),
.up_rx_prbscntreset (up_rx_prbscntreset_24),
.up_rx_prbserr (up_rx_prbserr_24),
.up_rx_prbslocked (up_rx_prbslocked_24),
.up_rx_bufstatus (up_rx_bufstatus_24),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_24),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_24),
.up_rx_rate (up_rx_rate_24),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_24),
.up_rx_out_clk_sel (up_rx_out_clk_sel_24),
.up_rx_enb (up_rx_enb_24),
.up_rx_addr (up_rx_addr_24),
.up_rx_wr (up_rx_wr_24),
.up_rx_wdata (up_rx_wdata_24),
.up_rx_rdata (up_rx_rdata_24),
.up_rx_ready (up_rx_ready_24),
.up_tx_pll_locked (up_tx_pll_locked_24),
.up_tx_rst (up_tx_rst_24),
.up_tx_user_ready (up_tx_user_ready_24),
.up_tx_rst_done (up_tx_rst_done_24),
.up_tx_bufstatus (up_tx_bufstatus_24),
.up_tx_prbsforceerr (up_tx_prbsforceerr_24),
.up_tx_prbssel (up_tx_prbssel_24),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_24),
.up_tx_rate (up_tx_rate_24),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_24),
.up_tx_out_clk_sel (up_tx_out_clk_sel_24),
.up_tx_diffctrl (up_tx_diffctrl_24),
.up_tx_postcursor (up_tx_postcursor_24),
.up_tx_precursor (up_tx_precursor_24),
.up_tx_enb (up_tx_enb_24),
.up_tx_addr (up_tx_addr_24),
.up_tx_wr (up_tx_wr_24),
.up_tx_wdata (up_tx_wdata_24),
.up_tx_rdata (up_tx_rdata_24),
.up_tx_ready (up_tx_ready_24));
end else begin
assign rx_out_clk_24 = 1'd0;
assign rx_charisk_24 = 4'd0;
assign rx_disperr_24 = 4'd0;
assign rx_notintable_24 = 4'd0;
assign rx_data_24 = 32'd0;
assign tx_24_p = 1'd0;
assign tx_24_n = 1'd0;
assign tx_out_clk_24 = 1'd0;
assign up_es_rdata_24 = 16'd0;
assign up_es_ready_24 = 1'd0;
assign up_rx_pll_locked_24 = 1'd0;
assign up_rx_rst_done_24 = 1'd0;
assign up_rx_rdata_24 = 16'd0;
assign up_rx_ready_24 = 1'd0;
assign up_tx_pll_locked_24 = 1'd0;
assign up_tx_rst_done_24 = 1'd0;
assign up_tx_rdata_24 = 16'd0;
assign up_tx_ready_24 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 26) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 25) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 25) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_25 (
.qpll2ch_clk (qpll2ch_clk_24),
.qpll2ch_ref_clk (qpll2ch_ref_clk_24),
.qpll2ch_locked (qpll2ch_locked_24),
.qpll1_clk (qpll1_clk_24),
.qpll1_ref_clk (qpll1_ref_clk_24),
.qpll1_locked (qpll1_locked_24),
.cpll_ref_clk (cpll_ref_clk_25),
.up_cpll_rst (up_cpll_rst_25),
.rx_p (rx_25_p),
.rx_n (rx_25_n),
.rx_out_clk (rx_out_clk_25),
.rx_out_clk_div2 (rx_out_clk_div2_25),
.rx_clk (rx_clk_25),
.rx_clk_2x (rx_clk_2x_25),
.rx_charisk (rx_charisk_25),
.rx_disperr (rx_disperr_25),
.rx_notintable (rx_notintable_25),
.rx_data (rx_data_25),
.rx_calign (rx_calign_25),
.rx_header(rx_header_25),
.rx_block_sync(rx_block_sync_25),
.tx_p (tx_25_p),
.tx_n (tx_25_n),
.tx_out_clk (tx_out_clk_25),
.tx_out_clk_div2 (tx_out_clk_div2_25),
.tx_clk (tx_clk_25),
.tx_clk_2x (tx_clk_2x_25),
.tx_charisk (tx_charisk_25),
.tx_data (tx_data_25),
.tx_header (tx_header_25),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_25),
.up_es_addr (up_es_addr_25),
.up_es_wr (up_es_wr_25),
.up_es_wdata (up_es_wdata_25),
.up_es_rdata (up_es_rdata_25),
.up_es_ready (up_es_ready_25),
.up_es_reset (up_es_reset_25),
.up_rx_pll_locked (up_rx_pll_locked_25),
.up_rx_rst (up_rx_rst_25),
.up_rx_user_ready (up_rx_user_ready_25),
.up_rx_rst_done (up_rx_rst_done_25),
.up_rx_prbssel (up_rx_prbssel_25),
.up_rx_prbscntreset (up_rx_prbscntreset_25),
.up_rx_prbserr (up_rx_prbserr_25),
.up_rx_prbslocked (up_rx_prbslocked_25),
.up_rx_bufstatus (up_rx_bufstatus_25),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_25),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_25),
.up_rx_rate (up_rx_rate_25),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_25),
.up_rx_out_clk_sel (up_rx_out_clk_sel_25),
.up_rx_enb (up_rx_enb_25),
.up_rx_addr (up_rx_addr_25),
.up_rx_wr (up_rx_wr_25),
.up_rx_wdata (up_rx_wdata_25),
.up_rx_rdata (up_rx_rdata_25),
.up_rx_ready (up_rx_ready_25),
.up_tx_pll_locked (up_tx_pll_locked_25),
.up_tx_rst (up_tx_rst_25),
.up_tx_user_ready (up_tx_user_ready_25),
.up_tx_rst_done (up_tx_rst_done_25),
.up_tx_bufstatus (up_tx_bufstatus_25),
.up_tx_prbsforceerr (up_tx_prbsforceerr_25),
.up_tx_prbssel (up_tx_prbssel_25),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_25),
.up_tx_rate (up_tx_rate_25),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_25),
.up_tx_out_clk_sel (up_tx_out_clk_sel_25),
.up_tx_diffctrl (up_tx_diffctrl_25),
.up_tx_postcursor (up_tx_postcursor_25),
.up_tx_precursor (up_tx_precursor_25),
.up_tx_enb (up_tx_enb_25),
.up_tx_addr (up_tx_addr_25),
.up_tx_wr (up_tx_wr_25),
.up_tx_wdata (up_tx_wdata_25),
.up_tx_rdata (up_tx_rdata_25),
.up_tx_ready (up_tx_ready_25));
end else begin
assign rx_out_clk_25 = 1'd0;
assign rx_charisk_25 = 4'd0;
assign rx_disperr_25 = 4'd0;
assign rx_notintable_25 = 4'd0;
assign rx_data_25 = 32'd0;
assign tx_25_p = 1'd0;
assign tx_25_n = 1'd0;
assign tx_out_clk_25 = 1'd0;
assign up_es_rdata_25 = 16'd0;
assign up_es_ready_25 = 1'd0;
assign up_rx_pll_locked_25 = 1'd0;
assign up_rx_rst_done_25 = 1'd0;
assign up_rx_rdata_25 = 16'd0;
assign up_rx_ready_25 = 1'd0;
assign up_tx_pll_locked_25 = 1'd0;
assign up_tx_rst_done_25 = 1'd0;
assign up_tx_rdata_25 = 16'd0;
assign up_tx_ready_25 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 27) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 26) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 26) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_26 (
.qpll2ch_clk (qpll2ch_clk_24),
.qpll2ch_ref_clk (qpll2ch_ref_clk_24),
.qpll2ch_locked (qpll2ch_locked_24),
.qpll1_clk (qpll1_clk_24),
.qpll1_ref_clk (qpll1_ref_clk_24),
.qpll1_locked (qpll1_locked_24),
.cpll_ref_clk (cpll_ref_clk_26),
.up_cpll_rst (up_cpll_rst_26),
.rx_p (rx_26_p),
.rx_n (rx_26_n),
.rx_out_clk (rx_out_clk_26),
.rx_out_clk_div2 (rx_out_clk_div2_26),
.rx_clk (rx_clk_26),
.rx_clk_2x (rx_clk_2x_26),
.rx_charisk (rx_charisk_26),
.rx_disperr (rx_disperr_26),
.rx_notintable (rx_notintable_26),
.rx_data (rx_data_26),
.rx_calign (rx_calign_26),
.rx_header(rx_header_26),
.rx_block_sync(rx_block_sync_26),
.tx_p (tx_26_p),
.tx_n (tx_26_n),
.tx_out_clk (tx_out_clk_26),
.tx_out_clk_div2 (tx_out_clk_div2_26),
.tx_clk (tx_clk_26),
.tx_clk_2x (tx_clk_2x_26),
.tx_charisk (tx_charisk_26),
.tx_data (tx_data_26),
.tx_header (tx_header_26),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_26),
.up_es_addr (up_es_addr_26),
.up_es_wr (up_es_wr_26),
.up_es_wdata (up_es_wdata_26),
.up_es_rdata (up_es_rdata_26),
.up_es_ready (up_es_ready_26),
.up_es_reset (up_es_reset_26),
.up_rx_pll_locked (up_rx_pll_locked_26),
.up_rx_rst (up_rx_rst_26),
.up_rx_user_ready (up_rx_user_ready_26),
.up_rx_rst_done (up_rx_rst_done_26),
.up_rx_prbssel (up_rx_prbssel_26),
.up_rx_prbscntreset (up_rx_prbscntreset_26),
.up_rx_prbserr (up_rx_prbserr_26),
.up_rx_prbslocked (up_rx_prbslocked_26),
.up_rx_bufstatus (up_rx_bufstatus_26),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_26),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_26),
.up_rx_rate (up_rx_rate_26),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_26),
.up_rx_out_clk_sel (up_rx_out_clk_sel_26),
.up_rx_enb (up_rx_enb_26),
.up_rx_addr (up_rx_addr_26),
.up_rx_wr (up_rx_wr_26),
.up_rx_wdata (up_rx_wdata_26),
.up_rx_rdata (up_rx_rdata_26),
.up_rx_ready (up_rx_ready_26),
.up_tx_pll_locked (up_tx_pll_locked_26),
.up_tx_rst (up_tx_rst_26),
.up_tx_user_ready (up_tx_user_ready_26),
.up_tx_rst_done (up_tx_rst_done_26),
.up_tx_bufstatus (up_tx_bufstatus_26),
.up_tx_prbsforceerr (up_tx_prbsforceerr_26),
.up_tx_prbssel (up_tx_prbssel_26),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_26),
.up_tx_rate (up_tx_rate_26),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_26),
.up_tx_out_clk_sel (up_tx_out_clk_sel_26),
.up_tx_diffctrl (up_tx_diffctrl_26),
.up_tx_postcursor (up_tx_postcursor_26),
.up_tx_precursor (up_tx_precursor_26),
.up_tx_enb (up_tx_enb_26),
.up_tx_addr (up_tx_addr_26),
.up_tx_wr (up_tx_wr_26),
.up_tx_wdata (up_tx_wdata_26),
.up_tx_rdata (up_tx_rdata_26),
.up_tx_ready (up_tx_ready_26));
end else begin
assign rx_out_clk_26 = 1'd0;
assign rx_charisk_26 = 4'd0;
assign rx_disperr_26 = 4'd0;
assign rx_notintable_26 = 4'd0;
assign rx_data_26 = 32'd0;
assign tx_26_p = 1'd0;
assign tx_26_n = 1'd0;
assign tx_out_clk_26 = 1'd0;
assign up_es_rdata_26 = 16'd0;
assign up_es_ready_26 = 1'd0;
assign up_rx_pll_locked_26 = 1'd0;
assign up_rx_rst_done_26 = 1'd0;
assign up_rx_rdata_26 = 16'd0;
assign up_rx_ready_26 = 1'd0;
assign up_tx_pll_locked_26 = 1'd0;
assign up_tx_rst_done_26 = 1'd0;
assign up_tx_rdata_26 = 16'd0;
assign up_tx_ready_26 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 28) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 27) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 27) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_27 (
.qpll2ch_clk (qpll2ch_clk_24),
.qpll2ch_ref_clk (qpll2ch_ref_clk_24),
.qpll2ch_locked (qpll2ch_locked_24),
.qpll1_clk (qpll1_clk_24),
.qpll1_ref_clk (qpll1_ref_clk_24),
.qpll1_locked (qpll1_locked_24),
.cpll_ref_clk (cpll_ref_clk_27),
.up_cpll_rst (up_cpll_rst_27),
.rx_p (rx_27_p),
.rx_n (rx_27_n),
.rx_out_clk (rx_out_clk_27),
.rx_out_clk_div2 (rx_out_clk_div2_27),
.rx_clk (rx_clk_27),
.rx_clk_2x (rx_clk_2x_27),
.rx_charisk (rx_charisk_27),
.rx_disperr (rx_disperr_27),
.rx_notintable (rx_notintable_27),
.rx_data (rx_data_27),
.rx_calign (rx_calign_27),
.rx_header(rx_header_27),
.rx_block_sync(rx_block_sync_27),
.tx_p (tx_27_p),
.tx_n (tx_27_n),
.tx_out_clk (tx_out_clk_27),
.tx_out_clk_div2 (tx_out_clk_div2_27),
.tx_clk (tx_clk_27),
.tx_clk_2x (tx_clk_2x_27),
.tx_charisk (tx_charisk_27),
.tx_data (tx_data_27),
.tx_header (tx_header_27),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_27),
.up_es_addr (up_es_addr_27),
.up_es_wr (up_es_wr_27),
.up_es_wdata (up_es_wdata_27),
.up_es_rdata (up_es_rdata_27),
.up_es_ready (up_es_ready_27),
.up_es_reset (up_es_reset_27),
.up_rx_pll_locked (up_rx_pll_locked_27),
.up_rx_rst (up_rx_rst_27),
.up_rx_user_ready (up_rx_user_ready_27),
.up_rx_rst_done (up_rx_rst_done_27),
.up_rx_prbssel (up_rx_prbssel_27),
.up_rx_prbscntreset (up_rx_prbscntreset_27),
.up_rx_prbserr (up_rx_prbserr_27),
.up_rx_prbslocked (up_rx_prbslocked_27),
.up_rx_bufstatus (up_rx_bufstatus_27),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_27),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_27),
.up_rx_rate (up_rx_rate_27),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_27),
.up_rx_out_clk_sel (up_rx_out_clk_sel_27),
.up_rx_enb (up_rx_enb_27),
.up_rx_addr (up_rx_addr_27),
.up_rx_wr (up_rx_wr_27),
.up_rx_wdata (up_rx_wdata_27),
.up_rx_rdata (up_rx_rdata_27),
.up_rx_ready (up_rx_ready_27),
.up_tx_pll_locked (up_tx_pll_locked_27),
.up_tx_rst (up_tx_rst_27),
.up_tx_user_ready (up_tx_user_ready_27),
.up_tx_rst_done (up_tx_rst_done_27),
.up_tx_bufstatus (up_tx_bufstatus_27),
.up_tx_prbsforceerr (up_tx_prbsforceerr_27),
.up_tx_prbssel (up_tx_prbssel_27),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_27),
.up_tx_rate (up_tx_rate_27),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_27),
.up_tx_out_clk_sel (up_tx_out_clk_sel_27),
.up_tx_diffctrl (up_tx_diffctrl_27),
.up_tx_postcursor (up_tx_postcursor_27),
.up_tx_precursor (up_tx_precursor_27),
.up_tx_enb (up_tx_enb_27),
.up_tx_addr (up_tx_addr_27),
.up_tx_wr (up_tx_wr_27),
.up_tx_wdata (up_tx_wdata_27),
.up_tx_rdata (up_tx_rdata_27),
.up_tx_ready (up_tx_ready_27));
end else begin
assign rx_out_clk_27 = 1'd0;
assign rx_charisk_27 = 4'd0;
assign rx_disperr_27 = 4'd0;
assign rx_notintable_27 = 4'd0;
assign rx_data_27 = 32'd0;
assign tx_27_p = 1'd0;
assign tx_27_n = 1'd0;
assign tx_out_clk_27 = 1'd0;
assign up_es_rdata_27 = 16'd0;
assign up_es_ready_27 = 1'd0;
assign up_rx_pll_locked_27 = 1'd0;
assign up_rx_rst_done_27 = 1'd0;
assign up_rx_rdata_27 = 16'd0;
assign up_rx_ready_27 = 1'd0;
assign up_tx_pll_locked_27 = 1'd0;
assign up_tx_rst_done_27 = 1'd0;
assign up_tx_rdata_27 = 16'd0;
assign up_tx_ready_27 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 29) begin
util_adxcvr_xcm #(
.XCVR_TYPE (XCVR_TYPE),
.QPLL_REFCLK_DIV (QPLL_REFCLK_DIV),
.QPLL_FBDIV_RATIO (QPLL_FBDIV_RATIO),
.POR_CFG (POR_CFG),
.PPF0_CFG (PPF0_CFG),
.PPF1_CFG (PPF1_CFG),
.QPLL_CFG (QPLL_CFG),
.QPLL_FBDIV (QPLL_FBDIV),
.QPLL_CFG0 (QPLL_CFG0),
.QPLL_CFG1 (QPLL_CFG1),
.QPLL_CFG1_G3 (QPLL_CFG1_G3),
.QPLL_CFG2 (QPLL_CFG2),
.QPLL_CFG2_G3 (QPLL_CFG2_G3),
.QPLL_CFG3 (QPLL_CFG3),
.QPLL_CP_G3 (QPLL_CP_G3),
.QPLL_LPF (QPLL_LPF),
.QPLL_CP (QPLL_CP),
.QPLL_CFG4 (QPLL_CFG4)
) i_xcm_28 (
.qpll_ref_clk (qpll_ref_clk_28),
.qpll_sel (qpll_sel_28),
.qpll2ch_clk (qpll2ch_clk_28),
.qpll2ch_ref_clk (qpll2ch_ref_clk_28),
.qpll2ch_locked (qpll2ch_locked_28),
.qpll1_clk (qpll1_clk_28),
.qpll1_ref_clk (qpll1_ref_clk_28),
.qpll1_locked (qpll1_locked_28),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_qpll_rst (up_qpll_rst_28),
.up_cm_enb (up_cm_enb_28),
.up_cm_addr (up_cm_addr_28),
.up_cm_wr (up_cm_wr_28),
.up_cm_wdata (up_cm_wdata_28),
.up_cm_rdata (up_cm_rdata_28),
.up_cm_ready (up_cm_ready_28));
end else begin
assign qpll2ch_clk_28 = 1'd0;
assign qpll2ch_ref_clk_28 = 1'd0;
assign qpll2ch_locked_28 = 1'd0;
assign qpll1_clk_28 = 1'd0;
assign qpll1_ref_clk_28 = 1'd0;
assign qpll1_locked_28 = 1'd0;
assign up_cm_rdata_28 = 16'd0;
assign up_cm_ready_28 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 29) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 28) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 28) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_28 (
.qpll2ch_clk (qpll2ch_clk_28),
.qpll2ch_ref_clk (qpll2ch_ref_clk_28),
.qpll2ch_locked (qpll2ch_locked_28),
.qpll1_clk (qpll1_clk_28),
.qpll1_ref_clk (qpll1_ref_clk_28),
.qpll1_locked (qpll1_locked_28),
.cpll_ref_clk (cpll_ref_clk_28),
.up_cpll_rst (up_cpll_rst_28),
.rx_p (rx_28_p),
.rx_n (rx_28_n),
.rx_out_clk (rx_out_clk_28),
.rx_out_clk_div2 (rx_out_clk_div2_28),
.rx_clk (rx_clk_28),
.rx_clk_2x (rx_clk_2x_28),
.rx_charisk (rx_charisk_28),
.rx_disperr (rx_disperr_28),
.rx_notintable (rx_notintable_28),
.rx_data (rx_data_28),
.rx_calign (rx_calign_28),
.rx_header(rx_header_28),
.rx_block_sync(rx_block_sync_28),
.tx_p (tx_28_p),
.tx_n (tx_28_n),
.tx_out_clk (tx_out_clk_28),
.tx_out_clk_div2 (tx_out_clk_div2_28),
.tx_clk (tx_clk_28),
.tx_clk_2x (tx_clk_2x_28),
.tx_charisk (tx_charisk_28),
.tx_data (tx_data_28),
.tx_header (tx_header_28),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_28),
.up_es_addr (up_es_addr_28),
.up_es_wr (up_es_wr_28),
.up_es_wdata (up_es_wdata_28),
.up_es_rdata (up_es_rdata_28),
.up_es_ready (up_es_ready_28),
.up_es_reset (up_es_reset_28),
.up_rx_pll_locked (up_rx_pll_locked_28),
.up_rx_rst (up_rx_rst_28),
.up_rx_user_ready (up_rx_user_ready_28),
.up_rx_rst_done (up_rx_rst_done_28),
.up_rx_prbssel (up_rx_prbssel_28),
.up_rx_prbscntreset (up_rx_prbscntreset_28),
.up_rx_prbserr (up_rx_prbserr_28),
.up_rx_prbslocked (up_rx_prbslocked_28),
.up_rx_bufstatus (up_rx_bufstatus_28),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_28),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_28),
.up_rx_rate (up_rx_rate_28),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_28),
.up_rx_out_clk_sel (up_rx_out_clk_sel_28),
.up_rx_enb (up_rx_enb_28),
.up_rx_addr (up_rx_addr_28),
.up_rx_wr (up_rx_wr_28),
.up_rx_wdata (up_rx_wdata_28),
.up_rx_rdata (up_rx_rdata_28),
.up_rx_ready (up_rx_ready_28),
.up_tx_pll_locked (up_tx_pll_locked_28),
.up_tx_rst (up_tx_rst_28),
.up_tx_user_ready (up_tx_user_ready_28),
.up_tx_rst_done (up_tx_rst_done_28),
.up_tx_bufstatus (up_tx_bufstatus_28),
.up_tx_prbsforceerr (up_tx_prbsforceerr_28),
.up_tx_prbssel (up_tx_prbssel_28),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_28),
.up_tx_rate (up_tx_rate_28),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_28),
.up_tx_out_clk_sel (up_tx_out_clk_sel_28),
.up_tx_diffctrl (up_tx_diffctrl_28),
.up_tx_postcursor (up_tx_postcursor_28),
.up_tx_precursor (up_tx_precursor_28),
.up_tx_enb (up_tx_enb_28),
.up_tx_addr (up_tx_addr_28),
.up_tx_wr (up_tx_wr_28),
.up_tx_wdata (up_tx_wdata_28),
.up_tx_rdata (up_tx_rdata_28),
.up_tx_ready (up_tx_ready_28));
end else begin
assign rx_out_clk_28 = 1'd0;
assign rx_charisk_28 = 4'd0;
assign rx_disperr_28 = 4'd0;
assign rx_notintable_28 = 4'd0;
assign rx_data_28 = 32'd0;
assign tx_28_p = 1'd0;
assign tx_28_n = 1'd0;
assign tx_out_clk_28 = 1'd0;
assign up_es_rdata_28 = 16'd0;
assign up_es_ready_28 = 1'd0;
assign up_rx_pll_locked_28 = 1'd0;
assign up_rx_rst_done_28 = 1'd0;
assign up_rx_rdata_28 = 16'd0;
assign up_rx_ready_28 = 1'd0;
assign up_tx_pll_locked_28 = 1'd0;
assign up_tx_rst_done_28 = 1'd0;
assign up_tx_rdata_28 = 16'd0;
assign up_tx_ready_28 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 30) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 29) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 29) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_29 (
.qpll2ch_clk (qpll2ch_clk_28),
.qpll2ch_ref_clk (qpll2ch_ref_clk_28),
.qpll2ch_locked (qpll2ch_locked_28),
.qpll1_clk (qpll1_clk_28),
.qpll1_ref_clk (qpll1_ref_clk_28),
.qpll1_locked (qpll1_locked_28),
.cpll_ref_clk (cpll_ref_clk_29),
.up_cpll_rst (up_cpll_rst_29),
.rx_p (rx_29_p),
.rx_n (rx_29_n),
.rx_out_clk (rx_out_clk_29),
.rx_out_clk_div2 (rx_out_clk_div2_29),
.rx_clk (rx_clk_29),
.rx_clk_2x (rx_clk_2x_29),
.rx_charisk (rx_charisk_29),
.rx_disperr (rx_disperr_29),
.rx_notintable (rx_notintable_29),
.rx_data (rx_data_29),
.rx_calign (rx_calign_29),
.rx_header(rx_header_29),
.rx_block_sync(rx_block_sync_29),
.tx_p (tx_29_p),
.tx_n (tx_29_n),
.tx_out_clk (tx_out_clk_29),
.tx_out_clk_div2 (tx_out_clk_div2_29),
.tx_clk (tx_clk_29),
.tx_clk_2x (tx_clk_2x_29),
.tx_charisk (tx_charisk_29),
.tx_data (tx_data_29),
.tx_header (tx_header_29),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_29),
.up_es_addr (up_es_addr_29),
.up_es_wr (up_es_wr_29),
.up_es_wdata (up_es_wdata_29),
.up_es_rdata (up_es_rdata_29),
.up_es_ready (up_es_ready_29),
.up_es_reset (up_es_reset_29),
.up_rx_pll_locked (up_rx_pll_locked_29),
.up_rx_rst (up_rx_rst_29),
.up_rx_user_ready (up_rx_user_ready_29),
.up_rx_rst_done (up_rx_rst_done_29),
.up_rx_prbssel (up_rx_prbssel_29),
.up_rx_prbscntreset (up_rx_prbscntreset_29),
.up_rx_prbserr (up_rx_prbserr_29),
.up_rx_prbslocked (up_rx_prbslocked_29),
.up_rx_bufstatus (up_rx_bufstatus_29),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_29),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_29),
.up_rx_rate (up_rx_rate_29),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_29),
.up_rx_out_clk_sel (up_rx_out_clk_sel_29),
.up_rx_enb (up_rx_enb_29),
.up_rx_addr (up_rx_addr_29),
.up_rx_wr (up_rx_wr_29),
.up_rx_wdata (up_rx_wdata_29),
.up_rx_rdata (up_rx_rdata_29),
.up_rx_ready (up_rx_ready_29),
.up_tx_pll_locked (up_tx_pll_locked_29),
.up_tx_rst (up_tx_rst_29),
.up_tx_user_ready (up_tx_user_ready_29),
.up_tx_rst_done (up_tx_rst_done_29),
.up_tx_bufstatus (up_tx_bufstatus_29),
.up_tx_prbsforceerr (up_tx_prbsforceerr_29),
.up_tx_prbssel (up_tx_prbssel_29),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_29),
.up_tx_rate (up_tx_rate_29),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_29),
.up_tx_out_clk_sel (up_tx_out_clk_sel_29),
.up_tx_diffctrl (up_tx_diffctrl_29),
.up_tx_postcursor (up_tx_postcursor_29),
.up_tx_precursor (up_tx_precursor_29),
.up_tx_enb (up_tx_enb_29),
.up_tx_addr (up_tx_addr_29),
.up_tx_wr (up_tx_wr_29),
.up_tx_wdata (up_tx_wdata_29),
.up_tx_rdata (up_tx_rdata_29),
.up_tx_ready (up_tx_ready_29));
end else begin
assign rx_out_clk_29 = 1'd0;
assign rx_charisk_29 = 4'd0;
assign rx_disperr_29 = 4'd0;
assign rx_notintable_29 = 4'd0;
assign rx_data_29 = 32'd0;
assign tx_29_p = 1'd0;
assign tx_29_n = 1'd0;
assign tx_out_clk_29 = 1'd0;
assign up_es_rdata_29 = 16'd0;
assign up_es_ready_29 = 1'd0;
assign up_rx_pll_locked_29 = 1'd0;
assign up_rx_rst_done_29 = 1'd0;
assign up_rx_rdata_29 = 16'd0;
assign up_rx_ready_29 = 1'd0;
assign up_tx_pll_locked_29 = 1'd0;
assign up_tx_rst_done_29 = 1'd0;
assign up_tx_rdata_29 = 16'd0;
assign up_tx_ready_29 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 31) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 30) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 30) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_30 (
.qpll2ch_clk (qpll2ch_clk_28),
.qpll2ch_ref_clk (qpll2ch_ref_clk_28),
.qpll2ch_locked (qpll2ch_locked_28),
.qpll1_clk (qpll1_clk_28),
.qpll1_ref_clk (qpll1_ref_clk_28),
.qpll1_locked (qpll1_locked_28),
.cpll_ref_clk (cpll_ref_clk_30),
.up_cpll_rst (up_cpll_rst_30),
.rx_p (rx_30_p),
.rx_n (rx_30_n),
.rx_out_clk (rx_out_clk_30),
.rx_out_clk_div2 (rx_out_clk_div2_30),
.rx_clk (rx_clk_30),
.rx_clk_2x (rx_clk_2x_30),
.rx_charisk (rx_charisk_30),
.rx_disperr (rx_disperr_30),
.rx_notintable (rx_notintable_30),
.rx_data (rx_data_30),
.rx_calign (rx_calign_30),
.rx_header(rx_header_30),
.rx_block_sync(rx_block_sync_30),
.tx_p (tx_30_p),
.tx_n (tx_30_n),
.tx_out_clk (tx_out_clk_30),
.tx_out_clk_div2 (tx_out_clk_div2_30),
.tx_clk (tx_clk_30),
.tx_clk_2x (tx_clk_2x_30),
.tx_charisk (tx_charisk_30),
.tx_data (tx_data_30),
.tx_header (tx_header_30),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_30),
.up_es_addr (up_es_addr_30),
.up_es_wr (up_es_wr_30),
.up_es_wdata (up_es_wdata_30),
.up_es_rdata (up_es_rdata_30),
.up_es_ready (up_es_ready_30),
.up_es_reset (up_es_reset_30),
.up_rx_pll_locked (up_rx_pll_locked_30),
.up_rx_rst (up_rx_rst_30),
.up_rx_user_ready (up_rx_user_ready_30),
.up_rx_rst_done (up_rx_rst_done_30),
.up_rx_prbssel (up_rx_prbssel_30),
.up_rx_prbscntreset (up_rx_prbscntreset_30),
.up_rx_prbserr (up_rx_prbserr_30),
.up_rx_prbslocked (up_rx_prbslocked_30),
.up_rx_bufstatus (up_rx_bufstatus_30),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_30),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_30),
.up_rx_rate (up_rx_rate_30),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_30),
.up_rx_out_clk_sel (up_rx_out_clk_sel_30),
.up_rx_enb (up_rx_enb_30),
.up_rx_addr (up_rx_addr_30),
.up_rx_wr (up_rx_wr_30),
.up_rx_wdata (up_rx_wdata_30),
.up_rx_rdata (up_rx_rdata_30),
.up_rx_ready (up_rx_ready_30),
.up_tx_pll_locked (up_tx_pll_locked_30),
.up_tx_rst (up_tx_rst_30),
.up_tx_user_ready (up_tx_user_ready_30),
.up_tx_rst_done (up_tx_rst_done_30),
.up_tx_bufstatus (up_tx_bufstatus_30),
.up_tx_prbsforceerr (up_tx_prbsforceerr_30),
.up_tx_prbssel (up_tx_prbssel_30),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_30),
.up_tx_rate (up_tx_rate_30),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_30),
.up_tx_out_clk_sel (up_tx_out_clk_sel_30),
.up_tx_diffctrl (up_tx_diffctrl_30),
.up_tx_postcursor (up_tx_postcursor_30),
.up_tx_precursor (up_tx_precursor_30),
.up_tx_enb (up_tx_enb_30),
.up_tx_addr (up_tx_addr_30),
.up_tx_wr (up_tx_wr_30),
.up_tx_wdata (up_tx_wdata_30),
.up_tx_rdata (up_tx_rdata_30),
.up_tx_ready (up_tx_ready_30));
end else begin
assign rx_out_clk_30 = 1'd0;
assign rx_charisk_30 = 4'd0;
assign rx_disperr_30 = 4'd0;
assign rx_notintable_30 = 4'd0;
assign rx_data_30 = 32'd0;
assign tx_30_p = 1'd0;
assign tx_30_n = 1'd0;
assign tx_out_clk_30 = 1'd0;
assign up_es_rdata_30 = 16'd0;
assign up_es_ready_30 = 1'd0;
assign up_rx_pll_locked_30 = 1'd0;
assign up_rx_rst_done_30 = 1'd0;
assign up_rx_rdata_30 = 16'd0;
assign up_rx_ready_30 = 1'd0;
assign up_tx_pll_locked_30 = 1'd0;
assign up_tx_rst_done_30 = 1'd0;
assign up_tx_rdata_30 = 16'd0;
assign up_tx_ready_30 = 1'd0;
end
endgenerate
generate
if (NUM_OF_LANES >= 32) begin
util_adxcvr_xch #(
.XCVR_TYPE (XCVR_TYPE),
.LINK_MODE (LINK_MODE),
.DATA_PATH_WIDTH (DATA_PATH_WIDTH),
.CPLL_FBDIV (CPLL_FBDIV),
.CPLL_FBDIV_4_5 (CPLL_FBDIV_4_5),
.CPLL_CFG0 (CPLL_CFG0),
.CPLL_CFG1 (CPLL_CFG1),
.CPLL_CFG2 (CPLL_CFG2),
.CPLL_CFG3 (CPLL_CFG3),
.TX_OUT_DIV (TX_OUT_DIV),
.TX_CLK25_DIV (TX_CLK25_DIV),
.TX_POLARITY ((TX_LANE_INVERT >> 31) & 1),
.TX_PI_BIASSET (TX_PI_BIASSET),
.TXPI_CFG (TXPI_CFG),
.A_TXDIFFCTRL (A_TXDIFFCTRL),
.RX_OUT_DIV (RX_OUT_DIV),
.RX_CLK25_DIV (RX_CLK25_DIV),
.RX_DFE_LPM_CFG (RX_DFE_LPM_CFG),
.RX_PMA_CFG (RX_PMA_CFG),
.RX_CDR_CFG (RX_CDR_CFG),
.RX_POLARITY ((RX_LANE_INVERT >> 31) & 1),
.RXCDR_CFG0 (RXCDR_CFG0),
.RXCDR_CFG2 (RXCDR_CFG2),
.RXCDR_CFG2_GEN2 (RXCDR_CFG2_GEN2),
.RXCDR_CFG2_GEN4 (RXCDR_CFG2_GEN4),
.RXCDR_CFG3 (RXCDR_CFG3),
.RXCDR_CFG3_GEN2 (RXCDR_CFG3_GEN2),
.RXCDR_CFG3_GEN3 (RXCDR_CFG3_GEN3),
.RXCDR_CFG3_GEN4 (RXCDR_CFG3_GEN4),
.RXDFE_KH_CFG2 (RXDFE_KH_CFG2),
.RXDFE_KH_CFG3 (RXDFE_KH_CFG3),
.RX_WIDEMODE_CDR (RX_WIDEMODE_CDR),
.RX_XMODE_SEL (RX_XMODE_SEL),
.TXDRV_FREQBAND (TXDRV_FREQBAND),
.TXFE_CFG0 (TXFE_CFG0),
.TXFE_CFG1 (TXFE_CFG1),
.TXFE_CFG2 (TXFE_CFG2),
.TXFE_CFG3 (TXFE_CFG3),
.TXPI_CFG0 (TXPI_CFG0),
.TXPI_CFG1 (TXPI_CFG1),
.TXSWBST_EN (TXSWBST_EN),
.CH_HSPMUX (CH_HSPMUX),
.PREIQ_FREQ_BST (PREIQ_FREQ_BST),
.RXPI_CFG0 (RXPI_CFG0),
.RXPI_CFG1 (RXPI_CFG1),
.RTX_BUF_CML_CTRL (RTX_BUF_CML_CTRL)
) i_xch_31 (
.qpll2ch_clk (qpll2ch_clk_28),
.qpll2ch_ref_clk (qpll2ch_ref_clk_28),
.qpll2ch_locked (qpll2ch_locked_28),
.qpll1_clk (qpll1_clk_28),
.qpll1_ref_clk (qpll1_ref_clk_28),
.qpll1_locked (qpll1_locked_28),
.cpll_ref_clk (cpll_ref_clk_31),
.up_cpll_rst (up_cpll_rst_31),
.rx_p (rx_31_p),
.rx_n (rx_31_n),
.rx_out_clk (rx_out_clk_31),
.rx_out_clk_div2 (rx_out_clk_div2_31),
.rx_clk (rx_clk_31),
.rx_clk_2x (rx_clk_2x_31),
.rx_charisk (rx_charisk_31),
.rx_disperr (rx_disperr_31),
.rx_notintable (rx_notintable_31),
.rx_data (rx_data_31),
.rx_calign (rx_calign_31),
.rx_header(rx_header_31),
.rx_block_sync(rx_block_sync_31),
.tx_p (tx_31_p),
.tx_n (tx_31_n),
.tx_out_clk (tx_out_clk_31),
.tx_out_clk_div2 (tx_out_clk_div2_31),
.tx_clk (tx_clk_31),
.tx_clk_2x (tx_clk_2x_31),
.tx_charisk (tx_charisk_31),
.tx_data (tx_data_31),
.tx_header (tx_header_31),
.up_rstn (up_rstn),
.up_clk (up_clk),
.up_es_enb (up_es_enb_31),
.up_es_addr (up_es_addr_31),
.up_es_wr (up_es_wr_31),
.up_es_wdata (up_es_wdata_31),
.up_es_rdata (up_es_rdata_31),
.up_es_ready (up_es_ready_31),
.up_es_reset (up_es_reset_31),
.up_rx_pll_locked (up_rx_pll_locked_31),
.up_rx_rst (up_rx_rst_31),
.up_rx_user_ready (up_rx_user_ready_31),
.up_rx_rst_done (up_rx_rst_done_31),
.up_rx_prbssel (up_rx_prbssel_31),
.up_rx_prbscntreset (up_rx_prbscntreset_31),
.up_rx_prbserr (up_rx_prbserr_31),
.up_rx_prbslocked (up_rx_prbslocked_31),
.up_rx_bufstatus (up_rx_bufstatus_31),
.up_rx_bufstatus_rst (up_rx_bufstatus_rst_31),
.up_rx_lpm_dfe_n (up_rx_lpm_dfe_n_31),
.up_rx_rate (up_rx_rate_31),
.up_rx_sys_clk_sel (up_rx_sys_clk_sel_31),
.up_rx_out_clk_sel (up_rx_out_clk_sel_31),
.up_rx_enb (up_rx_enb_31),
.up_rx_addr (up_rx_addr_31),
.up_rx_wr (up_rx_wr_31),
.up_rx_wdata (up_rx_wdata_31),
.up_rx_rdata (up_rx_rdata_31),
.up_rx_ready (up_rx_ready_31),
.up_tx_pll_locked (up_tx_pll_locked_31),
.up_tx_rst (up_tx_rst_31),
.up_tx_user_ready (up_tx_user_ready_31),
.up_tx_rst_done (up_tx_rst_done_31),
.up_tx_bufstatus (up_tx_bufstatus_31),
.up_tx_prbsforceerr (up_tx_prbsforceerr_31),
.up_tx_prbssel (up_tx_prbssel_31),
.up_tx_lpm_dfe_n (up_tx_lpm_dfe_n_31),
.up_tx_rate (up_tx_rate_31),
.up_tx_sys_clk_sel (up_tx_sys_clk_sel_31),
.up_tx_out_clk_sel (up_tx_out_clk_sel_31),
.up_tx_diffctrl (up_tx_diffctrl_31),
.up_tx_postcursor (up_tx_postcursor_31),
.up_tx_precursor (up_tx_precursor_31),
.up_tx_enb (up_tx_enb_31),
.up_tx_addr (up_tx_addr_31),
.up_tx_wr (up_tx_wr_31),
.up_tx_wdata (up_tx_wdata_31),
.up_tx_rdata (up_tx_rdata_31),
.up_tx_ready (up_tx_ready_31));
end else begin
assign rx_out_clk_31 = 1'd0;
assign rx_charisk_31 = 4'd0;
assign rx_disperr_31 = 4'd0;
assign rx_notintable_31 = 4'd0;
assign rx_data_31 = 32'd0;
assign tx_31_p = 1'd0;
assign tx_31_n = 1'd0;
assign tx_out_clk_31 = 1'd0;
assign up_es_rdata_31 = 16'd0;
assign up_es_ready_31 = 1'd0;
assign up_rx_pll_locked_31 = 1'd0;
assign up_rx_rst_done_31 = 1'd0;
assign up_rx_rdata_31 = 16'd0;
assign up_rx_ready_31 = 1'd0;
assign up_tx_pll_locked_31 = 1'd0;
assign up_tx_rst_done_31 = 1'd0;
assign up_tx_rdata_31 = 16'd0;
assign up_tx_ready_31 = 1'd0;
end
endgenerate
endmodule