eth: Add statistics strings to Ethernet MACs

Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
Alex Forencich
2025-04-16 21:35:50 -07:00
parent 031d092513
commit e6cf1f5850
51 changed files with 258 additions and 96 deletions

View File

@@ -31,7 +31,9 @@ module taxi_eth_mac_10g #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = 1, parameter STAT_RX_LEVEL = 1,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
) )
( (
input wire logic rx_clk, input wire logic rx_clk,
@@ -447,6 +449,8 @@ if (STAT_EN) begin : stats
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD), .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR),
.INC_W(4) .INC_W(4)
) )
mac_stats_inst ( mac_stats_inst (

View File

@@ -30,6 +30,8 @@ module taxi_eth_mac_10g_fifo #
parameter STAT_RX_LEVEL = 1, parameter STAT_RX_LEVEL = 1,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -252,7 +254,9 @@ taxi_eth_mac_10g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_10g_inst ( eth_mac_10g_inst (
.tx_clk(tx_clk), .tx_clk(tx_clk),

View File

@@ -28,7 +28,9 @@ module taxi_eth_mac_1g #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
) )
( (
input wire logic rx_clk, input wire logic rx_clk,
@@ -331,6 +333,8 @@ if (STAT_EN) begin : stats
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD), .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR),
.INC_W(1) .INC_W(1)
) )
mac_stats_inst ( mac_stats_inst (

View File

@@ -25,6 +25,8 @@ module taxi_eth_mac_1g_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -191,7 +193,9 @@ taxi_eth_mac_1g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_1g_inst ( eth_mac_1g_inst (
.tx_clk(tx_clk), .tx_clk(tx_clk),

View File

@@ -30,7 +30,9 @@ module taxi_eth_mac_1g_gmii #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
) )
( (
input wire logic gtx_clk, input wire logic gtx_clk,
@@ -344,7 +346,9 @@ taxi_eth_mac_1g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_1g_inst ( eth_mac_1g_inst (
.tx_clk(tx_clk), .tx_clk(tx_clk),

View File

@@ -27,6 +27,8 @@ module taxi_eth_mac_1g_gmii_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -206,7 +208,9 @@ taxi_eth_mac_1g_gmii #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_1g_gmii_inst ( eth_mac_1g_gmii_inst (
.gtx_clk(gtx_clk), .gtx_clk(gtx_clk),

View File

@@ -31,7 +31,9 @@ module taxi_eth_mac_1g_rgmii #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
) )
( (
input wire logic gtx_clk, input wire logic gtx_clk,
@@ -344,7 +346,9 @@ taxi_eth_mac_1g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_1g_inst ( eth_mac_1g_inst (
.tx_clk(tx_clk), .tx_clk(tx_clk),

View File

@@ -28,6 +28,8 @@ module taxi_eth_mac_1g_rgmii_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -206,7 +208,9 @@ taxi_eth_mac_1g_rgmii #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_1g_rgmii_inst ( eth_mac_1g_rgmii_inst (
.gtx_clk(gtx_clk), .gtx_clk(gtx_clk),

View File

@@ -30,7 +30,9 @@ module taxi_eth_mac_mii #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
) )
( (
input wire logic rst, input wire logic rst,
@@ -248,7 +250,9 @@ taxi_eth_mac_1g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_1g_inst ( eth_mac_1g_inst (
.tx_clk(tx_clk), .tx_clk(tx_clk),

View File

@@ -27,6 +27,8 @@ module taxi_eth_mac_mii_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -191,7 +193,9 @@ taxi_eth_mac_mii #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_mii_inst ( eth_mac_mii_inst (
.rst(rst), .rst(rst),

View File

@@ -38,6 +38,8 @@ module taxi_eth_mac_phy_10g #
parameter STAT_RX_LEVEL = 1, parameter STAT_RX_LEVEL = 1,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter logic PFC_EN = 1'b0, parameter logic PFC_EN = 1'b0,
parameter logic PAUSE_EN = PFC_EN parameter logic PAUSE_EN = PFC_EN
) )
@@ -351,6 +353,8 @@ if (STAT_EN) begin : stats
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD), .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR),
.INC_W(4) .INC_W(4)
) )
mac_stats_inst ( mac_stats_inst (

View File

@@ -38,6 +38,8 @@ module taxi_eth_mac_phy_10g_fifo #
parameter STAT_RX_LEVEL = 1, parameter STAT_RX_LEVEL = 1,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -291,7 +293,9 @@ taxi_eth_mac_phy_10g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_phy_10g_inst ( eth_mac_phy_10g_inst (
.tx_clk(tx_clk), .tx_clk(tx_clk),

View File

@@ -21,6 +21,8 @@ module taxi_eth_mac_stats #
parameter STAT_RX_LEVEL = 1, parameter STAT_RX_LEVEL = 1,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter INC_W = 1 parameter INC_W = 1
) )
( (
@@ -103,6 +105,7 @@ taxi_axis_if #(
) )
axis_stat_tx(), axis_stat_rx(), axis_stat_int[2](); axis_stat_tx(), axis_stat_rx(), axis_stat_int[2]();
wire [8*8-1:0] tx_str[TX_CNT];
wire [INC_W-1:0] tx_inc[TX_CNT]; wire [INC_W-1:0] tx_inc[TX_CNT];
wire hist_tx_pkt_small = (stat_tx_pkt_len != 0) && stat_tx_pkt_len[15:6] == 0; wire hist_tx_pkt_small = (stat_tx_pkt_len != 0) && stat_tx_pkt_len[15:6] == 0;
@@ -119,74 +122,74 @@ wire hist_tx_pkt_4096_8192 = stat_tx_pkt_len[15:12] == 1;
wire hist_tx_pkt_8192_9215 = stat_tx_pkt_len[15:13] == 1 && stat_tx_pkt_len <= 9215; wire hist_tx_pkt_8192_9215 = stat_tx_pkt_len[15:13] == 1 && stat_tx_pkt_len <= 9215;
wire hist_tx_pkt_large_2 = stat_tx_pkt_len > 9215; wire hist_tx_pkt_large_2 = stat_tx_pkt_len > 9215;
// TX_BYTES assign tx_str[0] = "TX_BYTES";
assign tx_inc[0] = stat_tx_byte; assign tx_inc[0] = stat_tx_byte;
// TX_PKTS assign tx_str[1] = "TX_PKTS";
assign tx_inc[1] = INC_W'(tx_start_packet); assign tx_inc[1] = INC_W'(tx_start_packet);
// TX_ERR assign tx_str[2] = "TX_ERR";
assign tx_inc[2] = INC_W'(stat_tx_err_user); assign tx_inc[2] = INC_W'(stat_tx_err_user);
// TX_UNDR assign tx_str[3] = "TX_UNDR";
assign tx_inc[3] = INC_W'(stat_tx_err_underflow); assign tx_inc[3] = INC_W'(stat_tx_err_underflow);
// TX_OVRSZ assign tx_str[4] = "TX_OVRSZ";
assign tx_inc[4] = INC_W'(stat_tx_err_oversize); assign tx_inc[4] = INC_W'(stat_tx_err_oversize);
// TX_CTRL assign tx_str[5] = "TX_CTRL";
assign tx_inc[5] = INC_W'(stat_tx_mcf); assign tx_inc[5] = INC_W'(stat_tx_mcf);
// TX_COL assign tx_str[6] = "TX_COL";
assign tx_inc[6] = INC_W'(0); assign tx_inc[6] = INC_W'(0);
// reserved assign tx_str[7] = "";
assign tx_inc[7] = INC_W'(0); assign tx_inc[7] = INC_W'(0);
if (STAT_TX_LEVEL > 0) begin if (STAT_TX_LEVEL > 0) begin
// TX_PSM assign tx_str[8] = "TX_PSM";
assign tx_inc[8] = INC_W'(hist_tx_pkt_small); assign tx_inc[8] = INC_W'(hist_tx_pkt_small);
// TX_P64 assign tx_str[9] = "TX_P64";
assign tx_inc[9] = INC_W'(hist_tx_pkt_64); assign tx_inc[9] = INC_W'(hist_tx_pkt_64);
// TX_P65 assign tx_str[10] = "TX_P65";
assign tx_inc[10] = INC_W'(hist_tx_pkt_65_127); assign tx_inc[10] = INC_W'(hist_tx_pkt_65_127);
// TX_P128 assign tx_str[11] = "TX_P128";
assign tx_inc[11] = INC_W'(hist_tx_pkt_128_255); assign tx_inc[11] = INC_W'(hist_tx_pkt_128_255);
// TX_P256 assign tx_str[12] = "TX_P256";
assign tx_inc[12] = INC_W'(hist_tx_pkt_256_511); assign tx_inc[12] = INC_W'(hist_tx_pkt_256_511);
// TX_P512 assign tx_str[13] = "TX_P512";
assign tx_inc[13] = INC_W'(hist_tx_pkt_512_1023); assign tx_inc[13] = INC_W'(hist_tx_pkt_512_1023);
// TX_P1024 assign tx_str[14] = "TX_P1024";
assign tx_inc[14] = INC_W'(hist_tx_pkt_1024_1518); assign tx_inc[14] = INC_W'(hist_tx_pkt_1024_1518);
// TX_PLG assign tx_str[15] = "TX_PLG";
assign tx_inc[15] = INC_W'(STAT_TX_LEVEL > 1 ? hist_tx_pkt_large_2 : hist_tx_pkt_large_1); assign tx_inc[15] = INC_W'(STAT_TX_LEVEL > 1 ? hist_tx_pkt_large_2 : hist_tx_pkt_large_1);
end end
if (STAT_TX_LEVEL > 1) begin if (STAT_TX_LEVEL > 1) begin
// TX_P1519 assign tx_str[16] = "TX_P1519";
assign tx_inc[16] = INC_W'(hist_tx_pkt_1519_2047); assign tx_inc[16] = INC_W'(hist_tx_pkt_1519_2047);
// TX_P2048 assign tx_str[17] = "TX_P2048";
assign tx_inc[17] = INC_W'(hist_tx_pkt_2048_4095); assign tx_inc[17] = INC_W'(hist_tx_pkt_2048_4095);
// TX_P4096 assign tx_str[18] = "TX_P4096";
assign tx_inc[18] = INC_W'(hist_tx_pkt_4096_8192); assign tx_inc[18] = INC_W'(hist_tx_pkt_4096_8192);
// TX_P8192 assign tx_str[19] = "TX_P8192";
assign tx_inc[19] = INC_W'(hist_tx_pkt_8192_9215); assign tx_inc[19] = INC_W'(hist_tx_pkt_8192_9215);
// TX_UCAST assign tx_str[20] = "TX_UCAST";
assign tx_inc[20] = INC_W'(stat_tx_pkt_ucast); assign tx_inc[20] = INC_W'(stat_tx_pkt_ucast);
// TX_MCAST assign tx_str[21] = "TX_MCAST";
assign tx_inc[21] = INC_W'(stat_tx_pkt_mcast); assign tx_inc[21] = INC_W'(stat_tx_pkt_mcast);
// TX_BCAST assign tx_str[22] = "TX_BCAST";
assign tx_inc[22] = INC_W'(stat_tx_pkt_bcast); assign tx_inc[22] = INC_W'(stat_tx_pkt_bcast);
// TX_VLAN assign tx_str[23] = "TX_VLAN";
assign tx_inc[23] = INC_W'(stat_tx_pkt_vlan); assign tx_inc[23] = INC_W'(stat_tx_pkt_vlan);
// TX_LFC assign tx_str[24] = "TX_LFC";
assign tx_inc[24] = INC_W'(stat_tx_lfc_pkt); assign tx_inc[24] = INC_W'(stat_tx_lfc_pkt);
// TX_PFC assign tx_str[25] = "TX_PFC";
assign tx_inc[25] = INC_W'(stat_tx_pfc_pkt); assign tx_inc[25] = INC_W'(stat_tx_pfc_pkt);
// TX_MCOL assign tx_str[26] = "TX_MCOL";
assign tx_inc[26] = INC_W'(0); assign tx_inc[26] = INC_W'(0);
// TX_DEFER assign tx_str[27] = "TX_DEFER";
assign tx_inc[27] = INC_W'(0); assign tx_inc[27] = INC_W'(0);
// TX_LCOL assign tx_str[28] = "TX_LCOL";
assign tx_inc[28] = INC_W'(0); assign tx_inc[28] = INC_W'(0);
// TX_ECOL assign tx_str[29] = "TX_ECOL";
assign tx_inc[29] = INC_W'(0); assign tx_inc[29] = INC_W'(0);
// TX_EDEF assign tx_str[30] = "TX_EDEF";
assign tx_inc[30] = INC_W'(0); assign tx_inc[30] = INC_W'(0);
// reserved assign tx_str[31] = "";
assign tx_inc[31] = INC_W'(0); assign tx_inc[31] = INC_W'(0);
end end
@@ -194,7 +197,9 @@ taxi_stats_collect #(
.CNT(TX_CNT), .CNT(TX_CNT),
.INC_W(INC_W), .INC_W(INC_W),
.ID_BASE(STAT_ID_BASE), .ID_BASE(STAT_ID_BASE),
.UPDATE_PERIOD(STAT_UPDATE_PERIOD) .UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STR_EN(STAT_STR_EN),
.PREFIX_STR(STAT_PREFIX_STR)
) )
tx_stats_inst ( tx_stats_inst (
.clk(tx_clk), .clk(tx_clk),
@@ -205,6 +210,7 @@ tx_stats_inst (
*/ */
.stat_inc(tx_inc), .stat_inc(tx_inc),
.stat_valid('{TX_CNT{1'b1}}), .stat_valid('{TX_CNT{1'b1}}),
.stat_str(tx_str),
/* /*
* Statistics increment output * Statistics increment output
@@ -262,6 +268,7 @@ tx_stat_fifo (
.m_status_good_frame() .m_status_good_frame()
); );
wire [8*8-1:0] rx_str[TX_CNT];
wire [INC_W-1:0] rx_inc[RX_CNT]; wire [INC_W-1:0] rx_inc[RX_CNT];
wire hist_rx_pkt_small = (stat_rx_pkt_len != 0) && stat_rx_pkt_len[15:6] == 0; wire hist_rx_pkt_small = (stat_rx_pkt_len != 0) && stat_rx_pkt_len[15:6] == 0;
@@ -278,74 +285,74 @@ wire hist_rx_pkt_4096_8192 = stat_rx_pkt_len[15:12] == 1;
wire hist_rx_pkt_8192_9215 = stat_rx_pkt_len[15:13] == 1 && stat_rx_pkt_len <= 9215; wire hist_rx_pkt_8192_9215 = stat_rx_pkt_len[15:13] == 1 && stat_rx_pkt_len <= 9215;
wire hist_rx_pkt_large_2 = stat_rx_pkt_len > 9215; wire hist_rx_pkt_large_2 = stat_rx_pkt_len > 9215;
// RX_BYTES assign rx_str[0] = "RX_BYTES";
assign rx_inc[0] = stat_rx_byte; assign rx_inc[0] = stat_rx_byte;
// RX_PKTS assign rx_str[1] = "RX_PKTS";
assign rx_inc[1] = INC_W'(rx_start_packet); assign rx_inc[1] = INC_W'(rx_start_packet);
// RX_FCSER assign rx_str[2] = "RX_FCSER";
assign rx_inc[2] = INC_W'(stat_rx_err_bad_fcs); assign rx_inc[2] = INC_W'(stat_rx_err_bad_fcs);
// RX_FDRP assign rx_str[3] = "RX_FDRP";
assign rx_inc[3] = INC_W'(stat_rx_fifo_drop); assign rx_inc[3] = INC_W'(stat_rx_fifo_drop);
// RX_OVRSZ assign rx_str[4] = "RX_OVRSZ";
assign rx_inc[4] = INC_W'(stat_rx_err_oversize); assign rx_inc[4] = INC_W'(stat_rx_err_oversize);
// RX_ERBLK assign rx_str[5] = "RX_ERBLK";
assign rx_inc[5] = INC_W'(stat_rx_err_bad_block); assign rx_inc[5] = INC_W'(stat_rx_err_bad_block);
// RX_ERFRM assign rx_str[6] = "RX_ERFRM";
assign rx_inc[6] = INC_W'(stat_rx_err_framing); assign rx_inc[6] = INC_W'(stat_rx_err_framing);
// reserved assign rx_str[7] = "";
assign rx_inc[7] = INC_W'(0); assign rx_inc[7] = INC_W'(0);
if (STAT_RX_LEVEL > 0) begin if (STAT_RX_LEVEL > 0) begin
// RX_PSM assign rx_str[8] = "RX_PSM";
assign rx_inc[8] = INC_W'(hist_rx_pkt_small); assign rx_inc[8] = INC_W'(hist_rx_pkt_small);
// RX_P64 assign rx_str[9] = "RX_P64";
assign rx_inc[9] = INC_W'(hist_rx_pkt_64); assign rx_inc[9] = INC_W'(hist_rx_pkt_64);
// RX_P65 assign rx_str[10] = "RX_P65";
assign rx_inc[10] = INC_W'(hist_rx_pkt_65_127); assign rx_inc[10] = INC_W'(hist_rx_pkt_65_127);
// RX_P128 assign rx_str[11] = "RX_P128";
assign rx_inc[11] = INC_W'(hist_rx_pkt_128_255); assign rx_inc[11] = INC_W'(hist_rx_pkt_128_255);
// RX_P256 assign rx_str[12] = "RX_P256";
assign rx_inc[12] = INC_W'(hist_rx_pkt_256_511); assign rx_inc[12] = INC_W'(hist_rx_pkt_256_511);
// RX_P512 assign rx_str[13] = "RX_P512";
assign rx_inc[13] = INC_W'(hist_rx_pkt_512_1023); assign rx_inc[13] = INC_W'(hist_rx_pkt_512_1023);
// RX_P1024 assign rx_str[14] = "RX_P1024";
assign rx_inc[14] = INC_W'(hist_rx_pkt_1024_1518); assign rx_inc[14] = INC_W'(hist_rx_pkt_1024_1518);
// RX_PLG assign rx_str[15] = "RX_PLG";
assign rx_inc[15] = INC_W'(STAT_RX_LEVEL > 1 ? hist_rx_pkt_large_2 : hist_rx_pkt_large_1); assign rx_inc[15] = INC_W'(STAT_RX_LEVEL > 1 ? hist_rx_pkt_large_2 : hist_rx_pkt_large_1);
end end
if (STAT_RX_LEVEL > 1) begin if (STAT_RX_LEVEL > 1) begin
// RX_P1519 assign rx_str[16] = "RX_P1519";
assign rx_inc[16] = INC_W'(hist_rx_pkt_1519_2047); assign rx_inc[16] = INC_W'(hist_rx_pkt_1519_2047);
// RX_P2048 assign rx_str[17] = "RX_P2048";
assign rx_inc[17] = INC_W'(hist_rx_pkt_2048_4095); assign rx_inc[17] = INC_W'(hist_rx_pkt_2048_4095);
// RX_P4096 assign rx_str[18] = "RX_P4096";
assign rx_inc[18] = INC_W'(hist_rx_pkt_4096_8192); assign rx_inc[18] = INC_W'(hist_rx_pkt_4096_8192);
// RX_P8192 assign rx_str[19] = "RX_P8192";
assign rx_inc[19] = INC_W'(hist_rx_pkt_8192_9215); assign rx_inc[19] = INC_W'(hist_rx_pkt_8192_9215);
// RX_UCAST assign rx_str[20] = "RX_UCAST";
assign rx_inc[20] = INC_W'(stat_rx_pkt_ucast); assign rx_inc[20] = INC_W'(stat_rx_pkt_ucast);
// RX_MCAST assign rx_str[21] = "RX_MCAST";
assign rx_inc[21] = INC_W'(stat_rx_pkt_mcast); assign rx_inc[21] = INC_W'(stat_rx_pkt_mcast);
// RX_BCAST assign rx_str[22] = "RX_BCAST";
assign rx_inc[22] = INC_W'(stat_rx_pkt_bcast); assign rx_inc[22] = INC_W'(stat_rx_pkt_bcast);
// RX_VLAN assign rx_str[23] = "RX_VLAN";
assign rx_inc[23] = INC_W'(stat_rx_pkt_vlan); assign rx_inc[23] = INC_W'(stat_rx_pkt_vlan);
// RX_LFC assign rx_str[24] = "RX_LFC";
assign rx_inc[24] = INC_W'(stat_rx_lfc_pkt); assign rx_inc[24] = INC_W'(stat_rx_lfc_pkt);
// RX_PFC assign rx_str[25] = "RX_PFC";
assign rx_inc[25] = INC_W'(stat_rx_pfc_pkt); assign rx_inc[25] = INC_W'(stat_rx_pfc_pkt);
// RX_ERPRE assign rx_str[26] = "RX_ERPRE";
assign rx_inc[26] = INC_W'(stat_rx_err_preamble); assign rx_inc[26] = INC_W'(stat_rx_err_preamble);
// RX_FRG assign rx_str[27] = "RX_FRG";
assign rx_inc[27] = INC_W'(stat_rx_pkt_fragment); assign rx_inc[27] = INC_W'(stat_rx_pkt_fragment);
// RX_JBR assign rx_str[28] = "RX_JBR";
assign rx_inc[28] = INC_W'(stat_rx_pkt_jabber); assign rx_inc[28] = INC_W'(stat_rx_pkt_jabber);
// reserved assign rx_str[29] = "";
assign rx_inc[29] = INC_W'(0); assign rx_inc[29] = INC_W'(0);
// reserved assign rx_str[30] = "";
assign rx_inc[30] = INC_W'(0); assign rx_inc[30] = INC_W'(0);
// reserved assign rx_str[31] = "";
assign rx_inc[31] = INC_W'(0); assign rx_inc[31] = INC_W'(0);
end end
@@ -353,7 +360,9 @@ taxi_stats_collect #(
.CNT(RX_CNT), .CNT(RX_CNT),
.INC_W(INC_W), .INC_W(INC_W),
.ID_BASE(STAT_ID_BASE+TX_CNT), .ID_BASE(STAT_ID_BASE+TX_CNT),
.UPDATE_PERIOD(STAT_UPDATE_PERIOD) .UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STR_EN(STAT_STR_EN),
.PREFIX_STR(STAT_PREFIX_STR)
) )
rx_stats_inst ( rx_stats_inst (
.clk(rx_clk), .clk(rx_clk),
@@ -364,6 +373,7 @@ rx_stats_inst (
*/ */
.stat_inc(rx_inc), .stat_inc(rx_inc),
.stat_valid('{RX_CNT{1'b1}}), .stat_valid('{RX_CNT{1'b1}}),
.stat_str(rx_str),
/* /*
* Statistics increment output * Statistics increment output

View File

@@ -47,7 +47,9 @@ module taxi_eth_mac_25g_us #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = 1, parameter STAT_RX_LEVEL = 1,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR[CNT] = '{CNT{"MAC"}}
) )
( (
input wire logic xcvr_ctrl_clk, input wire logic xcvr_ctrl_clk,
@@ -321,7 +323,9 @@ for (genvar n = 0; n < CNT; n = n + 1) begin : ch
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE + n*(STAT_TX_CNT+STAT_RX_CNT)), .STAT_ID_BASE(STAT_ID_BASE + n*(STAT_TX_CNT+STAT_RX_CNT)),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR[n])
) )
ch_inst ( ch_inst (
.xcvr_ctrl_clk(xcvr_ctrl_clk), .xcvr_ctrl_clk(xcvr_ctrl_clk),

View File

@@ -47,7 +47,9 @@ module taxi_eth_mac_25g_us_ch #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = 1, parameter STAT_RX_LEVEL = 1,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b0,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
) )
( (
input wire logic xcvr_ctrl_clk, input wire logic xcvr_ctrl_clk,
@@ -734,7 +736,9 @@ taxi_eth_mac_phy_10g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
eth_mac_phy_10g_inst ( eth_mac_phy_10g_inst (
.tx_clk(tx_clk), .tx_clk(tx_clk),

View File

@@ -43,6 +43,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
ifeq ($(SIM), icarus) ifeq ($(SIM), icarus)
PLUSARGS += -fst PLUSARGS += -fst

View File

@@ -757,6 +757,8 @@ def test_taxi_eth_mac_10g(request, data_w, dic_en, pfc_en):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()} extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()}

View File

@@ -32,7 +32,9 @@ module test_taxi_eth_mac_10g #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
/* verilator lint_on WIDTHTRUNC */ /* verilator lint_on WIDTHTRUNC */
) )
(); ();
@@ -178,7 +180,9 @@ taxi_eth_mac_10g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
uut ( uut (
.rx_clk(rx_clk), .rx_clk(rx_clk),

View File

@@ -42,6 +42,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
export PARAM_TX_FIFO_DEPTH := 16384 export PARAM_TX_FIFO_DEPTH := 16384
export PARAM_TX_FIFO_RAM_PIPELINE := 1 export PARAM_TX_FIFO_RAM_PIPELINE := 1
export PARAM_TX_FRAME_FIFO := 1 export PARAM_TX_FRAME_FIFO := 1

View File

@@ -357,6 +357,8 @@ def test_taxi_eth_mac_10g_fifo(request, data_w, dic_en):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
parameters['TX_FIFO_DEPTH'] = 16384 parameters['TX_FIFO_DEPTH'] = 16384
parameters['TX_FIFO_RAM_PIPELINE'] = 1 parameters['TX_FIFO_RAM_PIPELINE'] = 1
parameters['TX_FRAME_FIFO'] = 1 parameters['TX_FRAME_FIFO'] = 1

View File

@@ -32,6 +32,8 @@ module test_taxi_eth_mac_10g_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -107,6 +109,8 @@ taxi_eth_mac_10g_fifo #(
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD), .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR),
.TX_FIFO_DEPTH(TX_FIFO_DEPTH), .TX_FIFO_DEPTH(TX_FIFO_DEPTH),
.TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE), .TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE),
.TX_FRAME_FIFO(TX_FRAME_FIFO), .TX_FRAME_FIFO(TX_FRAME_FIFO),

View File

@@ -41,6 +41,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
ifeq ($(SIM), icarus) ifeq ($(SIM), icarus)
PLUSARGS += -fst PLUSARGS += -fst

View File

@@ -842,6 +842,8 @@ def test_taxi_eth_mac_1g(request, pfc_en):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()} extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()}

View File

@@ -30,7 +30,9 @@ module test_taxi_eth_mac_1g #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
/* verilator lint_on WIDTHTRUNC */ /* verilator lint_on WIDTHTRUNC */
) )
(); ();
@@ -179,7 +181,9 @@ taxi_eth_mac_1g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
uut ( uut (
.rx_clk(rx_clk), .rx_clk(rx_clk),

View File

@@ -38,6 +38,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
export PARAM_TX_FIFO_DEPTH := 16384 export PARAM_TX_FIFO_DEPTH := 16384
export PARAM_TX_FIFO_RAM_PIPELINE := 1 export PARAM_TX_FIFO_RAM_PIPELINE := 1
export PARAM_TX_FRAME_FIFO := 1 export PARAM_TX_FRAME_FIFO := 1

View File

@@ -260,6 +260,8 @@ def test_taxi_eth_mac_1g_fifo(request):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
parameters['TX_FIFO_DEPTH'] = 16384 parameters['TX_FIFO_DEPTH'] = 16384
parameters['TX_FIFO_RAM_PIPELINE'] = 1 parameters['TX_FIFO_RAM_PIPELINE'] = 1
parameters['TX_FRAME_FIFO'] = 1 parameters['TX_FRAME_FIFO'] = 1

View File

@@ -28,6 +28,8 @@ module test_taxi_eth_mac_1g_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -100,6 +102,8 @@ taxi_eth_mac_1g_fifo #(
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD), .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR),
.TX_FIFO_DEPTH(TX_FIFO_DEPTH), .TX_FIFO_DEPTH(TX_FIFO_DEPTH),
.TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE), .TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE),
.TX_FRAME_FIFO(TX_FRAME_FIFO), .TX_FRAME_FIFO(TX_FRAME_FIFO),

View File

@@ -43,6 +43,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
ifeq ($(SIM), icarus) ifeq ($(SIM), icarus)
PLUSARGS += -fst PLUSARGS += -fst

View File

@@ -693,6 +693,8 @@ def test_taxi_eth_mac_1g_gmii(request, pfc_en):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()} extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()}

View File

@@ -32,7 +32,9 @@ module test_taxi_eth_mac_1g_gmii #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
/* verilator lint_on WIDTHTRUNC */ /* verilator lint_on WIDTHTRUNC */
) )
(); ();
@@ -185,7 +187,9 @@ taxi_eth_mac_1g_gmii #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
uut ( uut (
.gtx_clk(gtx_clk), .gtx_clk(gtx_clk),

View File

@@ -40,6 +40,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
export PARAM_TX_FIFO_DEPTH := 16384 export PARAM_TX_FIFO_DEPTH := 16384
export PARAM_TX_FIFO_RAM_PIPELINE := 1 export PARAM_TX_FIFO_RAM_PIPELINE := 1
export PARAM_TX_FRAME_FIFO := 1 export PARAM_TX_FRAME_FIFO := 1

View File

@@ -215,6 +215,8 @@ def test_taxi_eth_mac_1g_gmii_fifo(request):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
parameters['TX_FIFO_DEPTH'] = 16384 parameters['TX_FIFO_DEPTH'] = 16384
parameters['TX_FIFO_RAM_PIPELINE'] = 1 parameters['TX_FIFO_RAM_PIPELINE'] = 1
parameters['TX_FRAME_FIFO'] = 1 parameters['TX_FRAME_FIFO'] = 1

View File

@@ -30,6 +30,8 @@ module test_taxi_eth_mac_1g_gmii_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -102,6 +104,8 @@ taxi_eth_mac_1g_gmii_fifo #(
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD), .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR),
.TX_FIFO_DEPTH(TX_FIFO_DEPTH), .TX_FIFO_DEPTH(TX_FIFO_DEPTH),
.TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE), .TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE),
.TX_FRAME_FIFO(TX_FRAME_FIFO), .TX_FRAME_FIFO(TX_FRAME_FIFO),

View File

@@ -44,6 +44,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
ifeq ($(SIM), icarus) ifeq ($(SIM), icarus)
PLUSARGS += -fst PLUSARGS += -fst

View File

@@ -698,6 +698,8 @@ def test_taxi_eth_mac_1g_rgmii(request, pfc_en):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()} extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()}

View File

@@ -33,7 +33,9 @@ module test_taxi_eth_mac_1g_rgmii #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
/* verilator lint_on WIDTHTRUNC */ /* verilator lint_on WIDTHTRUNC */
) )
(); ();
@@ -185,7 +187,9 @@ taxi_eth_mac_1g_rgmii #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
uut ( uut (
.gtx_clk(gtx_clk), .gtx_clk(gtx_clk),

View File

@@ -41,6 +41,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
export PARAM_TX_FIFO_DEPTH := 16384 export PARAM_TX_FIFO_DEPTH := 16384
export PARAM_TX_FIFO_RAM_PIPELINE := 1 export PARAM_TX_FIFO_RAM_PIPELINE := 1
export PARAM_TX_FRAME_FIFO := 1 export PARAM_TX_FRAME_FIFO := 1

View File

@@ -232,6 +232,8 @@ def test_taxi_eth_mac_1g_rgmii_fifo(request):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
parameters['TX_FIFO_DEPTH'] = 16384 parameters['TX_FIFO_DEPTH'] = 16384
parameters['TX_FIFO_RAM_PIPELINE'] = 1 parameters['TX_FIFO_RAM_PIPELINE'] = 1
parameters['TX_FRAME_FIFO'] = 1 parameters['TX_FRAME_FIFO'] = 1

View File

@@ -31,6 +31,8 @@ module test_taxi_eth_mac_1g_rgmii_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -102,6 +104,8 @@ taxi_eth_mac_1g_rgmii_fifo #(
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD), .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR),
.TX_FIFO_DEPTH(TX_FIFO_DEPTH), .TX_FIFO_DEPTH(TX_FIFO_DEPTH),
.TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE), .TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE),
.TX_FRAME_FIFO(TX_FRAME_FIFO), .TX_FRAME_FIFO(TX_FRAME_FIFO),

View File

@@ -43,6 +43,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
ifeq ($(SIM), icarus) ifeq ($(SIM), icarus)
PLUSARGS += -fst PLUSARGS += -fst

View File

@@ -656,6 +656,8 @@ def test_taxi_eth_mac_mii(request, pfc_en):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()} extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()}

View File

@@ -32,7 +32,9 @@ module test_taxi_eth_mac_mii #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
/* verilator lint_on WIDTHTRUNC */ /* verilator lint_on WIDTHTRUNC */
) )
(); ();
@@ -182,7 +184,9 @@ taxi_eth_mac_mii #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
uut ( uut (
.rst(rst), .rst(rst),

View File

@@ -40,6 +40,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
export PARAM_TX_FIFO_DEPTH := 16384 export PARAM_TX_FIFO_DEPTH := 16384
export PARAM_TX_FIFO_RAM_PIPELINE := 1 export PARAM_TX_FIFO_RAM_PIPELINE := 1
export PARAM_TX_FRAME_FIFO := 1 export PARAM_TX_FRAME_FIFO := 1

View File

@@ -191,6 +191,8 @@ def test_taxi_eth_mac_mii_fifo(request):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
parameters['TX_FIFO_DEPTH'] = 16384 parameters['TX_FIFO_DEPTH'] = 16384
parameters['TX_FIFO_RAM_PIPELINE'] = 1 parameters['TX_FIFO_RAM_PIPELINE'] = 1
parameters['TX_FRAME_FIFO'] = 1 parameters['TX_FRAME_FIFO'] = 1

View File

@@ -30,6 +30,8 @@ module test_taxi_eth_mac_mii_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -98,6 +100,8 @@ taxi_eth_mac_mii_fifo #(
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD), .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR),
.TX_FIFO_DEPTH(TX_FIFO_DEPTH), .TX_FIFO_DEPTH(TX_FIFO_DEPTH),
.TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE), .TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE),
.TX_FRAME_FIFO(TX_FRAME_FIFO), .TX_FRAME_FIFO(TX_FRAME_FIFO),

View File

@@ -52,6 +52,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
ifeq ($(SIM), icarus) ifeq ($(SIM), icarus)
PLUSARGS += -fst PLUSARGS += -fst

View File

@@ -830,6 +830,8 @@ def test_taxi_eth_mac_phy_10g(request, data_w, dic_en, pfc_en):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()} extra_env = {f'PARAM_{k}': str(v) for k, v in parameters.items()}

View File

@@ -41,7 +41,9 @@ module test_taxi_eth_mac_phy_10g #
parameter STAT_TX_LEVEL = 1, parameter STAT_TX_LEVEL = 1,
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024 parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC"
/* verilator lint_on WIDTHTRUNC */ /* verilator lint_on WIDTHTRUNC */
) )
(); ();
@@ -202,7 +204,9 @@ taxi_eth_mac_phy_10g #(
.STAT_TX_LEVEL(STAT_TX_LEVEL), .STAT_TX_LEVEL(STAT_TX_LEVEL),
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD) .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR)
) )
uut ( uut (
.rx_clk(rx_clk), .rx_clk(rx_clk),

View File

@@ -51,6 +51,8 @@ export PARAM_STAT_TX_LEVEL := 2
export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL) export PARAM_STAT_RX_LEVEL := $(PARAM_STAT_TX_LEVEL)
export PARAM_STAT_ID_BASE := 0 export PARAM_STAT_ID_BASE := 0
export PARAM_STAT_UPDATE_PERIOD := 1024 export PARAM_STAT_UPDATE_PERIOD := 1024
export PARAM_STAT_STR_EN := 1
export PARAM_STAT_PREFIX_STR := "\"MAC\""
export PARAM_TX_FIFO_DEPTH := 16384 export PARAM_TX_FIFO_DEPTH := 16384
export PARAM_TX_FIFO_RAM_PIPELINE := 1 export PARAM_TX_FIFO_RAM_PIPELINE := 1
export PARAM_TX_FRAME_FIFO := 1 export PARAM_TX_FRAME_FIFO := 1

View File

@@ -427,6 +427,8 @@ def test_taxi_eth_mac_phy_10g_fifo(request, data_w, dic_en):
parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL'] parameters['STAT_RX_LEVEL'] = parameters['STAT_TX_LEVEL']
parameters['STAT_ID_BASE'] = 0 parameters['STAT_ID_BASE'] = 0
parameters['STAT_UPDATE_PERIOD'] = 1024 parameters['STAT_UPDATE_PERIOD'] = 1024
parameters['STAT_STR_EN'] = 1
parameters['STAT_PREFIX_STR'] = "\"MAC\""
parameters['TX_FIFO_DEPTH'] = 16384 parameters['TX_FIFO_DEPTH'] = 16384
parameters['TX_FIFO_RAM_PIPELINE'] = 1 parameters['TX_FIFO_RAM_PIPELINE'] = 1
parameters['TX_FRAME_FIFO'] = 1 parameters['TX_FRAME_FIFO'] = 1

View File

@@ -41,6 +41,8 @@ module test_taxi_eth_mac_phy_10g_fifo #
parameter STAT_RX_LEVEL = STAT_TX_LEVEL, parameter STAT_RX_LEVEL = STAT_TX_LEVEL,
parameter STAT_ID_BASE = 0, parameter STAT_ID_BASE = 0,
parameter STAT_UPDATE_PERIOD = 1024, parameter STAT_UPDATE_PERIOD = 1024,
parameter logic STAT_STR_EN = 1'b1,
parameter logic [8*8-1:0] STAT_PREFIX_STR = "MAC",
parameter TX_FIFO_DEPTH = 4096, parameter TX_FIFO_DEPTH = 4096,
parameter TX_FIFO_RAM_PIPELINE = 1, parameter TX_FIFO_RAM_PIPELINE = 1,
parameter logic TX_FRAME_FIFO = 1'b1, parameter logic TX_FRAME_FIFO = 1'b1,
@@ -132,6 +134,8 @@ taxi_eth_mac_phy_10g_fifo #(
.STAT_RX_LEVEL(STAT_RX_LEVEL), .STAT_RX_LEVEL(STAT_RX_LEVEL),
.STAT_ID_BASE(STAT_ID_BASE), .STAT_ID_BASE(STAT_ID_BASE),
.STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD), .STAT_UPDATE_PERIOD(STAT_UPDATE_PERIOD),
.STAT_STR_EN(STAT_STR_EN),
.STAT_PREFIX_STR(STAT_PREFIX_STR),
.TX_FIFO_DEPTH(TX_FIFO_DEPTH), .TX_FIFO_DEPTH(TX_FIFO_DEPTH),
.TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE), .TX_FIFO_RAM_PIPELINE(TX_FIFO_RAM_PIPELINE),
.TX_FRAME_FIFO(TX_FRAME_FIFO), .TX_FRAME_FIFO(TX_FRAME_FIFO),