前言
上文介绍了40G/50G Ethernet Subsystem IP核的使用,对于每个QSFP都单独使用一个GT参考时钟,本文将基于此介绍GT时钟共享。
一、设计框图
二、模块修改
主要是修改QPLL的参考时钟输入,我这里QSFP1的BANL在QSFP2的呗面,所以QSFP2想要使用QSFP1的GT参考时钟需要将COMMON的参考时钟输入选为011.
主要修改l_ethernet_1_common_wrapper模块,增加参数GTYE4_COMMON_QPLL0REFCLKSEL 进行参考时钟选择和南北时钟输入。
module l_ethernet_1_common_wrapper#(
parameter GTYE4_COMMON_QPLL0REFCLKSEL = 3'b001
)
(
input refclk,
input north_refclk ,
input south_refclk ,
input [0 :0] qpll0reset,
output [0 :0] qpll0lock,
output [0 :0] qpll0outclk,
output [0 :0] qpll0outrefclk,
input drpclk_common_in,
input [0 :0] qpll1reset,
output [0 :0] qpll1lock,
output [0 :0] qpll1outclk,
output [0 :0] qpll1outrefclk
);
// List of signals to connect to GT Common block
wire [0 :0] GTYE4_COMMON_QPLL0RESET;
wire [0 :0] GTYE4_COMMON_GTREFCLK00;
wire [0 :0] GTYE4_COMMON_QPLL0LOCK;
wire [0 :0] GTYE4_COMMON_QPLL0OUTCLK;
wire [0 :0] GTYE4_COMMON_QPLL0OUTREFCLK;
wire [0 :0] GTYE4_COMMON_QPLL1RESET;
wire [0 :0] GTYE4_COMMON_QPLL1LOCK;
wire [0 :0] GTYE4_COMMON_QPLL1OUTCLK;
wire [0 :0] GTYE4_COMMON_QPLL1OUTREFCLK;
wire [15:0] GTYE4_COMMON_DRPADDR;
wire [0:0] GTYE4_COMMON_DRPCLK;
wire [15:0] GTYE4_COMMON_DRPDI;
wire [0:0] GTYE4_COMMON_DRPEN;
wire [0:0] GTYE4_COMMON_DRPWE;
wire [