mirror of
https://github.com/fpganinja/taxi.git
synced 2025-12-07 00:28:38 -08:00
eth: Move reset synchronizer to top-level of GT wrapper
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user