From 08879e80b866d5c95b77877e928c6f385d4e27c0 Mon Sep 17 00:00:00 2001 From: Alex Forencich Date: Sun, 5 Oct 2025 18:12:20 -0700 Subject: [PATCH] eth: Mask off end of packet when lane swapped Signed-off-by: Alex Forencich --- src/eth/rtl/taxi_axis_xgmii_rx_64.sv | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/eth/rtl/taxi_axis_xgmii_rx_64.sv b/src/eth/rtl/taxi_axis_xgmii_rx_64.sv index da0ed70..bbbe3fd 100644 --- a/src/eth/rtl/taxi_axis_xgmii_rx_64.sv +++ b/src/eth/rtl/taxi_axis_xgmii_rx_64.sv @@ -548,7 +548,11 @@ always_ff @(posedge clk) begin // lane swapping and termination character detection if (lanes_swapped_reg) begin - xgmii_rxd_d0_reg <= {xgmii_rxd_masked[31:0], swap_rxd_reg}; + if (swap_rxc_term_reg != 0 || xgmii_term[0]) begin + xgmii_rxd_d0_reg <= {32'd0, swap_rxd_reg}; + end else begin + xgmii_rxd_d0_reg <= {xgmii_rxd_masked[31:0], swap_rxd_reg}; + end xgmii_rxc_d0_reg <= {xgmii_rxc[3:0], swap_rxc_reg}; term_present_reg <= 1'b0;