eth: Parameter cleanup

Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
Alex Forencich
2025-06-13 19:28:21 -07:00
parent eae4d67367
commit 65eef8b5e8
7 changed files with 23 additions and 3 deletions

View File

@@ -52,6 +52,7 @@ module taxi_eth_mac_25g_us #
// MAC/PHY parameters
parameter logic COMBINED_MAC_PCS = 1'b1,
parameter DATA_W = 64,
parameter logic PADDING_EN = 1'b1,
parameter logic DIC_EN = 1'b1,
parameter MIN_FRAME_LEN = 64,
@@ -368,6 +369,7 @@ for (genvar n = 0; n < CNT; n = n + 1) begin : ch
// MAC/PHY parameters
.COMBINED_MAC_PCS(COMBINED_MAC_PCS),
.DATA_W(DATA_W),
.PADDING_EN(PADDING_EN),
.DIC_EN(DIC_EN),
.MIN_FRAME_LEN(MIN_FRAME_LEN),

View File

@@ -52,6 +52,7 @@ module taxi_eth_mac_25g_us_ch #
// MAC/PHY parameters
parameter logic COMBINED_MAC_PCS = 1'b1,
parameter DATA_W = 64,
parameter logic PADDING_EN = 1'b1,
parameter logic DIC_EN = 1'b1,
parameter MIN_FRAME_LEN = 64,
@@ -279,7 +280,6 @@ module taxi_eth_mac_25g_us_ch #
input wire logic cfg_rx_pfc_en = 1'b0
);
localparam DATA_W = 64;
localparam HDR_W = 2;
wire rx_reset_req;

View File

@@ -126,6 +126,13 @@ module taxi_eth_phy_25g_us_gt #
localparam GT_USP = FAMILY == "kintexuplus" || FAMILY == "virtexuplus" || FAMILY == "virtexuplusHBM"
|| FAMILY == "virtexuplus58G" || FAMILY == "zynquplus" || FAMILY == "zynquplusRFSOC";
// check configuration
if (DATA_W != 64)
$fatal(0, "Error: Interface width must be 64");
if (HDR_W != 2)
$fatal(0, "Error: HDR_W must be 2");
wire xcvr_ctrl_rst_sync;
taxi_sync_reset #(

View File

@@ -126,6 +126,13 @@ module taxi_eth_phy_25g_us_gt_ll #
localparam GT_USP = FAMILY == "kintexuplus" || FAMILY == "virtexuplus" || FAMILY == "virtexuplusHBM"
|| FAMILY == "virtexuplus58G" || FAMILY == "zynquplus" || FAMILY == "zynquplusRFSOC";
// check configuration
if (DATA_W != 64)
$fatal(0, "Error: Interface width must be 64");
if (HDR_W != 2)
$fatal(0, "Error: HDR_W must be 2");
wire xcvr_ctrl_rst_sync;
taxi_sync_reset #(

View File

@@ -43,6 +43,7 @@ export PARAM_QPLL1_PD := 1
export PARAM_QPLL0_EXT_CTRL := 0
export PARAM_QPLL1_EXT_CTRL := 0
export PARAM_COMBINED_MAC_PCS := 1
export PARAM_DATA_W := 64
export PARAM_PADDING_EN := 1
export PARAM_DIC_EN := 1
export PARAM_MIN_FRAME_LEN := 64

View File

@@ -913,7 +913,8 @@ def process_f_files(files):
@pytest.mark.parametrize(("dic_en", "pfc_en"), [(1, 1), (1, 0), (0, 0)])
@pytest.mark.parametrize("low_latency", [1, 0])
@pytest.mark.parametrize("combined_mac_pcs", [1, 0])
def test_taxi_eth_mac_25g_us(request, combined_mac_pcs, low_latency, dic_en, pfc_en):
@pytest.mark.parametrize("data_w", [64])
def test_taxi_eth_mac_25g_us(request, data_w, combined_mac_pcs, low_latency, dic_en, pfc_en):
dut = "taxi_eth_mac_25g_us"
module = os.path.splitext(os.path.basename(__file__))[0]
toplevel = module
@@ -938,6 +939,7 @@ def test_taxi_eth_mac_25g_us(request, combined_mac_pcs, low_latency, dic_en, pfc
parameters['QPLL0_EXT_CTRL'] = 0
parameters['QPLL1_EXT_CTRL'] = 0
parameters['COMBINED_MAC_PCS'] = combined_mac_pcs
parameters['DATA_W'] = data_w
parameters['PADDING_EN'] = 1
parameters['DIC_EN'] = dic_en
parameters['MIN_FRAME_LEN'] = 64

View File

@@ -42,6 +42,7 @@ module test_taxi_eth_mac_25g_us #
parameter logic [CNT-1:0] GT_RX_LPM_EN = '0,
parameter logic [CNT-1:0] GT_RX_POLARITY = '0,
parameter logic COMBINED_MAC_PCS = 1'b1,
parameter DATA_W = 64,
parameter logic PADDING_EN = 1'b1,
parameter logic DIC_EN = 1'b1,
parameter MIN_FRAME_LEN = 64,
@@ -68,7 +69,6 @@ module test_taxi_eth_mac_25g_us #
)
();
localparam DATA_W = 64;
localparam TX_USER_W = 1;
localparam RX_USER_W = (PTP_TS_EN ? PTP_TS_W : 0) + 1;
@@ -247,6 +247,7 @@ taxi_eth_mac_25g_us #(
.GT_RX_LPM_EN(GT_RX_LPM_EN),
.GT_RX_POLARITY(GT_RX_POLARITY),
.COMBINED_MAC_PCS(COMBINED_MAC_PCS),
.DATA_W(DATA_W),
.PADDING_EN(PADDING_EN),
.DIC_EN(DIC_EN),
.MIN_FRAME_LEN(MIN_FRAME_LEN),