eth: Move reset synchronizer to top-level of GT wrapper

Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
Alex Forencich
2025-11-13 00:02:55 -08:00
parent 898623a358
commit 2582f86a11
6 changed files with 31 additions and 75 deletions

View File

@@ -268,6 +268,17 @@ module taxi_eth_mac_25g_us #
input wire logic cfg_rx_pfc_en[CNT] = '{CNT{1'b0}}
);
wire xcvr_ctrl_rst_sync;
taxi_sync_reset #(
.N(4)
)
reset_sync_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst),
.out(xcvr_ctrl_rst_sync)
);
// statistics
localparam STAT_TX_CNT = STAT_TX_LEVEL == 0 ? 8 : (STAT_TX_LEVEL == 1 ? 16: 32);
localparam STAT_RX_CNT = STAT_RX_LEVEL == 0 ? 8 : (STAT_RX_LEVEL == 1 ? 16: 32);
@@ -395,7 +406,7 @@ for (genvar n = 0; n < CNT; n = n + 1) begin : ch
)
ch_inst (
.xcvr_ctrl_clk(xcvr_ctrl_clk),
.xcvr_ctrl_rst(xcvr_ctrl_rst),
.xcvr_ctrl_rst(xcvr_ctrl_rst_sync),
/*
* Common

View File

@@ -111,17 +111,6 @@ if (DATA_W != 32)
if (HDR_W != 2)
$fatal(0, "Error: HDR_W must be 2");
wire xcvr_ctrl_rst_sync;
taxi_sync_reset #(
.N(4)
)
reset_sync_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst),
.out(xcvr_ctrl_rst_sync)
);
wire gt_qpll_pd;
wire gt_qpll_reset;
@@ -136,7 +125,7 @@ if (HAS_COMMON) begin : common_ctrl
)
qpll_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -230,7 +219,7 @@ taxi_gt_tx_reset #(
)
gt_tx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -294,7 +283,7 @@ taxi_gt_rx_reset #(
)
gt_rx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT

View File

@@ -133,17 +133,6 @@ if (DATA_W != 32)
if (HDR_W != 2)
$fatal(0, "Error: HDR_W must be 2");
wire xcvr_ctrl_rst_sync;
taxi_sync_reset #(
.N(4)
)
reset_sync_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst),
.out(xcvr_ctrl_rst_sync)
);
wire gt_qpll0_pd;
wire gt_qpll0_reset;
wire gt_qpll1_pd;
@@ -160,7 +149,7 @@ if (HAS_COMMON) begin : common_ctrl
)
qpll0_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -183,7 +172,7 @@ if (HAS_COMMON) begin : common_ctrl
)
qpll1_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -249,7 +238,7 @@ taxi_gt_tx_reset #(
)
gt_tx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -317,7 +306,7 @@ taxi_gt_rx_reset #(
)
gt_rx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT

View File

@@ -133,17 +133,6 @@ if (DATA_W != 32)
if (HDR_W != 2)
$fatal(0, "Error: HDR_W must be 2");
wire xcvr_ctrl_rst_sync;
taxi_sync_reset #(
.N(4)
)
reset_sync_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst),
.out(xcvr_ctrl_rst_sync)
);
wire gt_qpll0_pd;
wire gt_qpll0_reset;
wire gt_qpll1_pd;
@@ -160,7 +149,7 @@ if (HAS_COMMON) begin : common_ctrl
)
qpll0_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -183,7 +172,7 @@ if (HAS_COMMON) begin : common_ctrl
)
qpll1_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -249,7 +238,7 @@ taxi_gt_tx_reset #(
)
gt_tx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -317,7 +306,7 @@ taxi_gt_rx_reset #(
)
gt_rx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT

View File

@@ -133,17 +133,6 @@ if (DATA_W != 64)
if (HDR_W != 2)
$fatal(0, "Error: HDR_W must be 2");
wire xcvr_ctrl_rst_sync;
taxi_sync_reset #(
.N(4)
)
reset_sync_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst),
.out(xcvr_ctrl_rst_sync)
);
wire gt_qpll0_pd;
wire gt_qpll0_reset;
wire gt_qpll1_pd;
@@ -160,7 +149,7 @@ if (HAS_COMMON) begin : common_ctrl
)
qpll0_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -183,7 +172,7 @@ if (HAS_COMMON) begin : common_ctrl
)
qpll1_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -249,7 +238,7 @@ taxi_gt_tx_reset #(
)
gt_tx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -317,7 +306,7 @@ taxi_gt_rx_reset #(
)
gt_rx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT

View File

@@ -133,17 +133,6 @@ if (DATA_W != 64)
if (HDR_W != 2)
$fatal(0, "Error: HDR_W must be 2");
wire xcvr_ctrl_rst_sync;
taxi_sync_reset #(
.N(4)
)
reset_sync_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst),
.out(xcvr_ctrl_rst_sync)
);
wire gt_qpll0_pd;
wire gt_qpll0_reset;
wire gt_qpll1_pd;
@@ -160,7 +149,7 @@ if (HAS_COMMON) begin : common_ctrl
)
qpll0_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -183,7 +172,7 @@ if (HAS_COMMON) begin : common_ctrl
)
qpll1_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -249,7 +238,7 @@ taxi_gt_tx_reset #(
)
gt_tx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT
@@ -317,7 +306,7 @@ taxi_gt_rx_reset #(
)
gt_rx_reset_inst (
.clk(xcvr_ctrl_clk),
.rst(xcvr_ctrl_rst_sync),
.rst(xcvr_ctrl_rst),
/*
* GT