diff --git a/src/eth/rtl/taxi_eth_mac_10g.sv b/src/eth/rtl/taxi_eth_mac_10g.sv index 1935fe1..b31fcda 100644 --- a/src/eth/rtl/taxi_eth_mac_10g.sv +++ b/src/eth/rtl/taxi_eth_mac_10g.sv @@ -26,6 +26,7 @@ module taxi_eth_mac_10g # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic PFC_EN = 1'b0, @@ -277,9 +278,9 @@ if (PTP_TS_EN && PTP_TD_EN) begin : ptp taxi_ptp_td_leaf #( .TS_REL_EN(!PTP_TS_FMT_TOD), .TS_TOD_EN(PTP_TS_FMT_TOD), - .TS_FNS_W(16), - .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-16), - .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-16 : 48), + .TS_FNS_W(PTP_TS_FNS_W), + .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-PTP_TS_FNS_W), + .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-PTP_TS_FNS_W : 48), .TS_REL_W(PTP_TS_W), .TS_TOD_W(PTP_TS_W), .TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE) @@ -328,9 +329,9 @@ if (PTP_TS_EN && PTP_TD_EN) begin : ptp taxi_ptp_td_leaf #( .TS_REL_EN(!PTP_TS_FMT_TOD), .TS_TOD_EN(PTP_TS_FMT_TOD), - .TS_FNS_W(16), - .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-16), - .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-16 : 48), + .TS_FNS_W(PTP_TS_FNS_W), + .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-PTP_TS_FNS_W), + .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-PTP_TS_FNS_W : 48), .TS_REL_W(PTP_TS_W), .TS_TOD_W(PTP_TS_W), .TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE) diff --git a/src/eth/rtl/taxi_eth_mac_10g_fifo.sv b/src/eth/rtl/taxi_eth_mac_10g_fifo.sv index 591619c..2d975cb 100644 --- a/src/eth/rtl/taxi_eth_mac_10g_fifo.sv +++ b/src/eth/rtl/taxi_eth_mac_10g_fifo.sv @@ -26,6 +26,7 @@ module taxi_eth_mac_10g_fifo # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic STAT_EN = 1'b0, @@ -271,6 +272,7 @@ taxi_eth_mac_10g #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .PFC_EN(1'b0), diff --git a/src/eth/rtl/taxi_eth_mac_phy_10g.sv b/src/eth/rtl/taxi_eth_mac_phy_10g.sv index 06ff976..945a45d 100644 --- a/src/eth/rtl/taxi_eth_mac_phy_10g.sv +++ b/src/eth/rtl/taxi_eth_mac_phy_10g.sv @@ -26,6 +26,7 @@ module taxi_eth_mac_phy_10g # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic BIT_REVERSE = 1'b0, @@ -273,9 +274,9 @@ if (PTP_TS_EN && PTP_TD_EN) begin : ptp taxi_ptp_td_leaf #( .TS_REL_EN(!PTP_TS_FMT_TOD), .TS_TOD_EN(PTP_TS_FMT_TOD), - .TS_FNS_W(16), - .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-16), - .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-16 : 48), + .TS_FNS_W(PTP_TS_FNS_W), + .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-PTP_TS_FNS_W), + .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-PTP_TS_FNS_W : 48), .TS_REL_W(PTP_TS_W), .TS_TOD_W(PTP_TS_W), .TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE) @@ -324,9 +325,9 @@ if (PTP_TS_EN && PTP_TD_EN) begin : ptp taxi_ptp_td_leaf #( .TS_REL_EN(!PTP_TS_FMT_TOD), .TS_TOD_EN(PTP_TS_FMT_TOD), - .TS_FNS_W(16), - .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-16), - .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-16 : 48), + .TS_FNS_W(PTP_TS_FNS_W), + .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-PTP_TS_FNS_W), + .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-PTP_TS_FNS_W : 48), .TS_REL_W(PTP_TS_W), .TS_TOD_W(PTP_TS_W), .TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE) diff --git a/src/eth/rtl/taxi_eth_mac_phy_10g_fifo.sv b/src/eth/rtl/taxi_eth_mac_phy_10g_fifo.sv index 50a3180..286f29a 100644 --- a/src/eth/rtl/taxi_eth_mac_phy_10g_fifo.sv +++ b/src/eth/rtl/taxi_eth_mac_phy_10g_fifo.sv @@ -26,6 +26,7 @@ module taxi_eth_mac_phy_10g_fifo # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic BIT_REVERSE = 1'b0, @@ -327,6 +328,7 @@ taxi_eth_mac_phy_10g #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .BIT_REVERSE(BIT_REVERSE), diff --git a/src/eth/rtl/taxi_eth_mac_phy_1g_basex.sv b/src/eth/rtl/taxi_eth_mac_phy_1g_basex.sv index 00d1e83..ca7b626 100644 --- a/src/eth/rtl/taxi_eth_mac_phy_1g_basex.sv +++ b/src/eth/rtl/taxi_eth_mac_phy_1g_basex.sv @@ -27,6 +27,7 @@ module taxi_eth_mac_phy_1g_basex # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic BIT_REVERSE = 1'b0, @@ -274,9 +275,9 @@ if (PTP_TS_EN && PTP_TD_EN) begin : ptp taxi_ptp_td_leaf #( .TS_REL_EN(!PTP_TS_FMT_TOD), .TS_TOD_EN(PTP_TS_FMT_TOD), - .TS_FNS_W(16), - .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-16), - .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-16 : 48), + .TS_FNS_W(PTP_TS_FNS_W), + .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-PTP_TS_FNS_W), + .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-PTP_TS_FNS_W : 48), .TS_REL_W(PTP_TS_W), .TS_TOD_W(PTP_TS_W), .TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE) @@ -325,9 +326,9 @@ if (PTP_TS_EN && PTP_TD_EN) begin : ptp taxi_ptp_td_leaf #( .TS_REL_EN(!PTP_TS_FMT_TOD), .TS_TOD_EN(PTP_TS_FMT_TOD), - .TS_FNS_W(16), - .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-16), - .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-16 : 48), + .TS_FNS_W(PTP_TS_FNS_W), + .TS_REL_NS_W(PTP_TS_FMT_TOD ? 48 : PTP_TS_W-PTP_TS_FNS_W), + .TS_TOD_S_W(PTP_TS_FMT_TOD ? PTP_TS_W-32-PTP_TS_FNS_W : 48), .TS_REL_W(PTP_TS_W), .TS_TOD_W(PTP_TS_W), .TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE) @@ -596,7 +597,6 @@ taxi_eth_mac_phy_1g_basex_tx #( .AN_EN(AN_EN), .DIC_EN(DIC_EN), .PTP_TS_EN(PTP_TS_EN), - .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), .PTP_TS_W(PTP_TS_W), .TX_CPL_CTRL_IN_TUSER(MAC_CTRL_EN), .BIT_REVERSE(BIT_REVERSE), diff --git a/src/eth/rtl/taxi_eth_mac_phy_1g_basex_fifo.sv b/src/eth/rtl/taxi_eth_mac_phy_1g_basex_fifo.sv index 7cc1b1c..40985ce 100644 --- a/src/eth/rtl/taxi_eth_mac_phy_1g_basex_fifo.sv +++ b/src/eth/rtl/taxi_eth_mac_phy_1g_basex_fifo.sv @@ -27,6 +27,7 @@ module taxi_eth_mac_phy_1g_basex_fifo # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic BIT_REVERSE = 1'b0, @@ -329,6 +330,7 @@ taxi_eth_mac_phy_1g_basex #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .BIT_REVERSE(BIT_REVERSE), diff --git a/src/eth/rtl/taxi_eth_mac_phy_1g_basex_tx.sv b/src/eth/rtl/taxi_eth_mac_phy_1g_basex_tx.sv index 558e74d..36e7c07 100644 --- a/src/eth/rtl/taxi_eth_mac_phy_1g_basex_tx.sv +++ b/src/eth/rtl/taxi_eth_mac_phy_1g_basex_tx.sv @@ -24,8 +24,7 @@ module taxi_eth_mac_phy_1g_basex_tx # parameter logic AN_EN = SGMII_EN, parameter logic DIC_EN = 1'b1, parameter logic PTP_TS_EN = 1'b0, - parameter logic PTP_TS_FMT_TOD = 1'b1, - parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, + parameter PTP_TS_W = 96, parameter logic TX_CPL_CTRL_IN_TUSER = 1'b0, parameter logic BIT_REVERSE = 1'b0, parameter logic ENC_8B10B_EN = 1'b0, diff --git a/src/eth/rtl/us/taxi_eth_mac_100g_us.sv b/src/eth/rtl/us/taxi_eth_mac_100g_us.sv index 2995429..53d4779 100644 --- a/src/eth/rtl/us/taxi_eth_mac_100g_us.sv +++ b/src/eth/rtl/us/taxi_eth_mac_100g_us.sv @@ -53,6 +53,7 @@ module taxi_eth_mac_100g_us # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter TX_SERDES_PIPELINE = 1, diff --git a/src/eth/rtl/us/taxi_eth_mac_1g_basex_us.sv b/src/eth/rtl/us/taxi_eth_mac_1g_basex_us.sv index d4983a5..d4b5702 100644 --- a/src/eth/rtl/us/taxi_eth_mac_1g_basex_us.sv +++ b/src/eth/rtl/us/taxi_eth_mac_1g_basex_us.sv @@ -59,6 +59,7 @@ module taxi_eth_mac_1g_basex_us # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic PRBS31_EN = 1'b0, @@ -454,6 +455,7 @@ for (genvar n = 0; n < CNT; n = n + 1) begin : ch .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .PRBS31_EN(PRBS31_EN), diff --git a/src/eth/rtl/us/taxi_eth_mac_1g_basex_us_ch.sv b/src/eth/rtl/us/taxi_eth_mac_1g_basex_us_ch.sv index 542d830..7f47774 100644 --- a/src/eth/rtl/us/taxi_eth_mac_1g_basex_us_ch.sv +++ b/src/eth/rtl/us/taxi_eth_mac_1g_basex_us_ch.sv @@ -58,6 +58,7 @@ module taxi_eth_mac_1g_basex_us_ch # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic PRBS31_EN = 1'b0, @@ -587,6 +588,7 @@ if (COMBINED_MAC_PCS) begin : mac .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .BIT_REVERSE(1'b0), diff --git a/src/eth/rtl/us/taxi_eth_mac_25g_us.sv b/src/eth/rtl/us/taxi_eth_mac_25g_us.sv index b67d5bc..2c59164 100644 --- a/src/eth/rtl/us/taxi_eth_mac_25g_us.sv +++ b/src/eth/rtl/us/taxi_eth_mac_25g_us.sv @@ -59,6 +59,7 @@ module taxi_eth_mac_25g_us # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic PRBS31_EN = 1'b0, @@ -452,6 +453,7 @@ for (genvar n = 0; n < CNT; n = n + 1) begin : ch .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .PRBS31_EN(PRBS31_EN), diff --git a/src/eth/rtl/us/taxi_eth_mac_25g_us_ch.sv b/src/eth/rtl/us/taxi_eth_mac_25g_us_ch.sv index 9a5ab51..16c1832 100644 --- a/src/eth/rtl/us/taxi_eth_mac_25g_us_ch.sv +++ b/src/eth/rtl/us/taxi_eth_mac_25g_us_ch.sv @@ -58,6 +58,7 @@ module taxi_eth_mac_25g_us_ch # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter logic PRBS31_EN = 1'b0, @@ -911,6 +912,7 @@ if (COMBINED_MAC_PCS) begin : mac .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .BIT_REVERSE(1'b1), @@ -1230,6 +1232,7 @@ end else begin : mac .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .PFC_EN(PFC_EN), diff --git a/src/eth/tb/taxi_eth_mac_10g/Makefile b/src/eth/tb/taxi_eth_mac_10g/Makefile index 3424c9b..7639f3d 100644 --- a/src/eth/tb/taxi_eth_mac_10g/Makefile +++ b/src/eth/tb/taxi_eth_mac_10g/Makefile @@ -40,6 +40,7 @@ export PARAM_DIC_EN := 1 export PARAM_PTP_TS_EN := 1 export PARAM_PTP_TD_EN := $(PARAM_PTP_TS_EN) export PARAM_PTP_TS_FMT_TOD := 1 +export PARAM_PTP_TS_FNS_W := 16 export PARAM_PTP_TS_W := $(if $(filter-out 1,$(PARAM_PTP_TS_FMT_TOD)),64,96) export PARAM_PTP_TD_SDI_PIPELINE := 2 export PARAM_TX_TAG_W := 16 diff --git a/src/eth/tb/taxi_eth_mac_10g/test_taxi_eth_mac_10g.py b/src/eth/tb/taxi_eth_mac_10g/test_taxi_eth_mac_10g.py index 04ee878..3396595 100644 --- a/src/eth/tb/taxi_eth_mac_10g/test_taxi_eth_mac_10g.py +++ b/src/eth/tb/taxi_eth_mac_10g/test_taxi_eth_mac_10g.py @@ -821,6 +821,7 @@ def test_taxi_eth_mac_10g(request, data_w, ptp_td_en, dic_en, pfc_en): parameters['PTP_TS_EN'] = 1 parameters['PTP_TD_EN'] = ptp_td_en parameters['PTP_TS_FMT_TOD'] = 1 + parameters['PTP_TS_FNS_W'] = 16 parameters['PTP_TS_W'] = 96 if parameters['PTP_TS_FMT_TOD'] else 64 parameters['PTP_TD_SDI_PIPELINE'] = 2 parameters['TX_TAG_W'] = 16 diff --git a/src/eth/tb/taxi_eth_mac_10g/test_taxi_eth_mac_10g.sv b/src/eth/tb/taxi_eth_mac_10g/test_taxi_eth_mac_10g.sv index 720f4cb..d2a4c44 100644 --- a/src/eth/tb/taxi_eth_mac_10g/test_taxi_eth_mac_10g.sv +++ b/src/eth/tb/taxi_eth_mac_10g/test_taxi_eth_mac_10g.sv @@ -26,6 +26,7 @@ module test_taxi_eth_mac_10g # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter TX_TAG_W = 16, @@ -196,6 +197,7 @@ taxi_eth_mac_10g #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .PFC_EN(PFC_EN), diff --git a/src/eth/tb/taxi_eth_mac_10g_fifo/Makefile b/src/eth/tb/taxi_eth_mac_10g_fifo/Makefile index 3ad84b7..2dc73bc 100644 --- a/src/eth/tb/taxi_eth_mac_10g_fifo/Makefile +++ b/src/eth/tb/taxi_eth_mac_10g_fifo/Makefile @@ -41,6 +41,7 @@ export PARAM_DIC_EN := 1 export PARAM_PTP_TS_EN := 1 export PARAM_PTP_TD_EN := $(PARAM_PTP_TS_EN) export PARAM_PTP_TS_FMT_TOD := 1 +export PARAM_PTP_TS_FNS_W := 16 export PARAM_PTP_TS_W := $(if $(filter-out 1,$(PARAM_PTP_TS_FMT_TOD)),64,96) export PARAM_PTP_TD_SDI_PIPELINE := 2 export PARAM_TX_TAG_W := 16 diff --git a/src/eth/tb/taxi_eth_mac_10g_fifo/test_taxi_eth_mac_10g_fifo.py b/src/eth/tb/taxi_eth_mac_10g_fifo/test_taxi_eth_mac_10g_fifo.py index 8257340..567cf96 100644 --- a/src/eth/tb/taxi_eth_mac_10g_fifo/test_taxi_eth_mac_10g_fifo.py +++ b/src/eth/tb/taxi_eth_mac_10g_fifo/test_taxi_eth_mac_10g_fifo.py @@ -380,6 +380,7 @@ def test_taxi_eth_mac_10g_fifo(request, data_w, dic_en): parameters['PTP_TS_EN'] = 1 parameters['PTP_TD_EN'] = parameters['PTP_TS_EN'] parameters['PTP_TS_FMT_TOD'] = 1 + parameters['PTP_TS_FNS_W'] = 16 parameters['PTP_TS_W'] = 96 if parameters['PTP_TS_FMT_TOD'] else 64 parameters['PTP_TD_SDI_PIPELINE'] = 2 parameters['TX_TAG_W'] = 16 diff --git a/src/eth/tb/taxi_eth_mac_10g_fifo/test_taxi_eth_mac_10g_fifo.sv b/src/eth/tb/taxi_eth_mac_10g_fifo/test_taxi_eth_mac_10g_fifo.sv index f3bd3a5..3fcbba4 100644 --- a/src/eth/tb/taxi_eth_mac_10g_fifo/test_taxi_eth_mac_10g_fifo.sv +++ b/src/eth/tb/taxi_eth_mac_10g_fifo/test_taxi_eth_mac_10g_fifo.sv @@ -27,6 +27,7 @@ module test_taxi_eth_mac_10g_fifo # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter TX_TAG_W = 16, @@ -124,6 +125,7 @@ taxi_eth_mac_10g_fifo #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .STAT_EN(STAT_EN), diff --git a/src/eth/tb/taxi_eth_mac_25g_us/Makefile b/src/eth/tb/taxi_eth_mac_25g_us/Makefile index d635fa0..d92b658 100644 --- a/src/eth/tb/taxi_eth_mac_25g_us/Makefile +++ b/src/eth/tb/taxi_eth_mac_25g_us/Makefile @@ -49,6 +49,7 @@ export PARAM_DIC_EN := 1 export PARAM_PTP_TS_EN := 1 export PARAM_PTP_TD_EN := $(PARAM_PTP_TS_EN) export PARAM_PTP_TS_FMT_TOD := 1 +export PARAM_PTP_TS_FNS_W := 16 export PARAM_PTP_TS_W := $(if $(filter-out 1,$(PARAM_PTP_TS_FMT_TOD)),64,96) export PARAM_PTP_TD_SDI_PIPELINE := 2 export PARAM_TX_TAG_W := 16 diff --git a/src/eth/tb/taxi_eth_mac_25g_us/test_taxi_eth_mac_25g_us.py b/src/eth/tb/taxi_eth_mac_25g_us/test_taxi_eth_mac_25g_us.py index cc2ec09..943d04a 100644 --- a/src/eth/tb/taxi_eth_mac_25g_us/test_taxi_eth_mac_25g_us.py +++ b/src/eth/tb/taxi_eth_mac_25g_us/test_taxi_eth_mac_25g_us.py @@ -1226,6 +1226,7 @@ def test_taxi_eth_mac_25g_us(request, data_w, combined_mac_pcs, low_latency, dic parameters['PTP_TS_EN'] = 1 parameters['PTP_TD_EN'] = parameters['PTP_TS_EN'] parameters['PTP_TS_FMT_TOD'] = 1 + parameters['PTP_TS_FNS_W'] = 16 parameters['PTP_TS_W'] = 96 if parameters['PTP_TS_FMT_TOD'] else 64 parameters['PTP_TD_SDI_PIPELINE'] = 2 parameters['TX_TAG_W'] = 16 diff --git a/src/eth/tb/taxi_eth_mac_25g_us/test_taxi_eth_mac_25g_us.sv b/src/eth/tb/taxi_eth_mac_25g_us/test_taxi_eth_mac_25g_us.sv index f75d933..7c9b1d2 100644 --- a/src/eth/tb/taxi_eth_mac_25g_us/test_taxi_eth_mac_25g_us.sv +++ b/src/eth/tb/taxi_eth_mac_25g_us/test_taxi_eth_mac_25g_us.sv @@ -48,6 +48,7 @@ module test_taxi_eth_mac_25g_us # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter TX_TAG_W = 16, @@ -289,6 +290,7 @@ taxi_eth_mac_25g_us #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .PRBS31_EN(PRBS31_EN), diff --git a/src/eth/tb/taxi_eth_mac_phy_10g/Makefile b/src/eth/tb/taxi_eth_mac_phy_10g/Makefile index d10f942..8c2bad8 100644 --- a/src/eth/tb/taxi_eth_mac_phy_10g/Makefile +++ b/src/eth/tb/taxi_eth_mac_phy_10g/Makefile @@ -41,6 +41,7 @@ export PARAM_DIC_EN := 1 export PARAM_PTP_TS_EN := 1 export PARAM_PTP_TD_EN := $(PARAM_PTP_TS_EN) export PARAM_PTP_TS_FMT_TOD := 1 +export PARAM_PTP_TS_FNS_W := 16 export PARAM_PTP_TS_W := $(if $(filter-out 1,$(PARAM_PTP_TS_FMT_TOD)),64,96) export PARAM_PTP_TD_SDI_PIPELINE := 2 export PARAM_TX_TAG_W := 16 diff --git a/src/eth/tb/taxi_eth_mac_phy_10g/test_taxi_eth_mac_phy_10g.py b/src/eth/tb/taxi_eth_mac_phy_10g/test_taxi_eth_mac_phy_10g.py index 2994934..28c43b0 100644 --- a/src/eth/tb/taxi_eth_mac_phy_10g/test_taxi_eth_mac_phy_10g.py +++ b/src/eth/tb/taxi_eth_mac_phy_10g/test_taxi_eth_mac_phy_10g.py @@ -1121,6 +1121,7 @@ def test_taxi_eth_mac_phy_10g(request, data_w, ptp_td_en, gbx_en, dic_en, pfc_en parameters['PTP_TS_EN'] = 1 parameters['PTP_TD_EN'] = ptp_td_en parameters['PTP_TS_FMT_TOD'] = 1 + parameters['PTP_TS_FNS_W'] = 16 parameters['PTP_TS_W'] = 96 if parameters['PTP_TS_FMT_TOD'] else 64 parameters['PTP_TD_SDI_PIPELINE'] = 2 parameters['TX_TAG_W'] = 16 diff --git a/src/eth/tb/taxi_eth_mac_phy_10g/test_taxi_eth_mac_phy_10g.sv b/src/eth/tb/taxi_eth_mac_phy_10g/test_taxi_eth_mac_phy_10g.sv index 2dfe9d1..f8f8b68 100644 --- a/src/eth/tb/taxi_eth_mac_phy_10g/test_taxi_eth_mac_phy_10g.sv +++ b/src/eth/tb/taxi_eth_mac_phy_10g/test_taxi_eth_mac_phy_10g.sv @@ -27,6 +27,7 @@ module test_taxi_eth_mac_phy_10g # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter TX_TAG_W = 16, @@ -232,6 +233,7 @@ taxi_eth_mac_phy_10g #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .BIT_REVERSE(BIT_REVERSE), diff --git a/src/eth/tb/taxi_eth_mac_phy_10g_fifo/Makefile b/src/eth/tb/taxi_eth_mac_phy_10g_fifo/Makefile index be18a51..08771cc 100644 --- a/src/eth/tb/taxi_eth_mac_phy_10g_fifo/Makefile +++ b/src/eth/tb/taxi_eth_mac_phy_10g_fifo/Makefile @@ -42,6 +42,7 @@ export PARAM_DIC_EN := 1 export PARAM_PTP_TS_EN := 1 export PARAM_PTP_TD_EN := $(PARAM_PTP_TS_EN) export PARAM_PTP_TS_FMT_TOD := 1 +export PARAM_PTP_TS_FNS_W := 16 export PARAM_PTP_TS_W := $(if $(filter-out 1,$(PARAM_PTP_TS_FMT_TOD)),64,96) export PARAM_PTP_TD_SDI_PIPELINE := 2 export PARAM_TX_TAG_W := 16 diff --git a/src/eth/tb/taxi_eth_mac_phy_10g_fifo/test_taxi_eth_mac_phy_10g_fifo.py b/src/eth/tb/taxi_eth_mac_phy_10g_fifo/test_taxi_eth_mac_phy_10g_fifo.py index ee3f860..5205320 100644 --- a/src/eth/tb/taxi_eth_mac_phy_10g_fifo/test_taxi_eth_mac_phy_10g_fifo.py +++ b/src/eth/tb/taxi_eth_mac_phy_10g_fifo/test_taxi_eth_mac_phy_10g_fifo.py @@ -659,6 +659,7 @@ def test_taxi_eth_mac_phy_10g_fifo(request, data_w, gbx_en, dic_en): parameters['PTP_TS_EN'] = 1 parameters['PTP_TD_EN'] = parameters['PTP_TS_EN'] parameters['PTP_TS_FMT_TOD'] = 1 + parameters['PTP_TS_FNS_W'] = 16 parameters['PTP_TS_W'] = 96 if parameters['PTP_TS_FMT_TOD'] else 64 parameters['PTP_TD_SDI_PIPELINE'] = 2 parameters['TX_TAG_W'] = 16 diff --git a/src/eth/tb/taxi_eth_mac_phy_10g_fifo/test_taxi_eth_mac_phy_10g_fifo.sv b/src/eth/tb/taxi_eth_mac_phy_10g_fifo/test_taxi_eth_mac_phy_10g_fifo.sv index f9909ef..83a0bd4 100644 --- a/src/eth/tb/taxi_eth_mac_phy_10g_fifo/test_taxi_eth_mac_phy_10g_fifo.sv +++ b/src/eth/tb/taxi_eth_mac_phy_10g_fifo/test_taxi_eth_mac_phy_10g_fifo.sv @@ -28,6 +28,7 @@ module test_taxi_eth_mac_phy_10g_fifo # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter TX_TAG_W = 16, @@ -161,6 +162,7 @@ taxi_eth_mac_phy_10g_fifo #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .BIT_REVERSE(BIT_REVERSE), diff --git a/src/eth/tb/taxi_eth_mac_phy_1g_basex/Makefile b/src/eth/tb/taxi_eth_mac_phy_1g_basex/Makefile index b845e3c..ce2ca3c 100644 --- a/src/eth/tb/taxi_eth_mac_phy_1g_basex/Makefile +++ b/src/eth/tb/taxi_eth_mac_phy_1g_basex/Makefile @@ -41,6 +41,7 @@ export PARAM_DIC_EN := 1 export PARAM_PTP_TS_EN := 1 export PARAM_PTP_TD_EN := $(PARAM_PTP_TS_EN) export PARAM_PTP_TS_FMT_TOD := 1 +export PARAM_PTP_TS_FNS_W := 16 export PARAM_PTP_TS_W := $(if $(filter-out 1,$(PARAM_PTP_TS_FMT_TOD)),64,96) export PARAM_PTP_TD_SDI_PIPELINE := 2 export PARAM_TX_TAG_W := 16 diff --git a/src/eth/tb/taxi_eth_mac_phy_1g_basex/test_taxi_eth_mac_phy_1g_basex.py b/src/eth/tb/taxi_eth_mac_phy_1g_basex/test_taxi_eth_mac_phy_1g_basex.py index 5236042..804a232 100644 --- a/src/eth/tb/taxi_eth_mac_phy_1g_basex/test_taxi_eth_mac_phy_1g_basex.py +++ b/src/eth/tb/taxi_eth_mac_phy_1g_basex/test_taxi_eth_mac_phy_1g_basex.py @@ -1002,6 +1002,7 @@ def test_taxi_eth_mac_phy_1g_basex(request, data_w, ptp_td_en, gbx_en, dic_en, p parameters['PTP_TS_EN'] = 1 parameters['PTP_TD_EN'] = ptp_td_en parameters['PTP_TS_FMT_TOD'] = 1 + parameters['PTP_TS_FNS_W'] = 16 parameters['PTP_TS_W'] = 96 if parameters['PTP_TS_FMT_TOD'] else 64 parameters['PTP_TD_SDI_PIPELINE'] = 2 parameters['TX_TAG_W'] = 16 diff --git a/src/eth/tb/taxi_eth_mac_phy_1g_basex/test_taxi_eth_mac_phy_1g_basex.sv b/src/eth/tb/taxi_eth_mac_phy_1g_basex/test_taxi_eth_mac_phy_1g_basex.sv index f8643d3..a2c1c2a 100644 --- a/src/eth/tb/taxi_eth_mac_phy_1g_basex/test_taxi_eth_mac_phy_1g_basex.sv +++ b/src/eth/tb/taxi_eth_mac_phy_1g_basex/test_taxi_eth_mac_phy_1g_basex.sv @@ -28,6 +28,7 @@ module test_taxi_eth_mac_phy_1g_basex # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter TX_TAG_W = 16, @@ -234,6 +235,7 @@ taxi_eth_mac_phy_1g_basex #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .BIT_REVERSE(BIT_REVERSE), diff --git a/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/Makefile b/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/Makefile index 5b79b30..42d12c6 100644 --- a/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/Makefile +++ b/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/Makefile @@ -42,6 +42,7 @@ export PARAM_DIC_EN := 1 export PARAM_PTP_TS_EN := 1 export PARAM_PTP_TD_EN := $(PARAM_PTP_TS_EN) export PARAM_PTP_TS_FMT_TOD := 1 +export PARAM_PTP_TS_FNS_W := 16 export PARAM_PTP_TS_W := $(if $(filter-out 1,$(PARAM_PTP_TS_FMT_TOD)),64,96) export PARAM_PTP_TD_SDI_PIPELINE := 2 export PARAM_TX_TAG_W := 16 diff --git a/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/test_taxi_eth_mac_phy_1g_basex_fifo.py b/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/test_taxi_eth_mac_phy_1g_basex_fifo.py index 89c0159..7dad144 100644 --- a/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/test_taxi_eth_mac_phy_1g_basex_fifo.py +++ b/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/test_taxi_eth_mac_phy_1g_basex_fifo.py @@ -539,6 +539,7 @@ def test_taxi_eth_mac_phy_1g_basex_fifo(request, data_w, gbx_en, dic_en): parameters['PTP_TS_EN'] = 1 parameters['PTP_TD_EN'] = parameters['PTP_TS_EN'] parameters['PTP_TS_FMT_TOD'] = 1 + parameters['PTP_TS_FNS_W'] = 16 parameters['PTP_TS_W'] = 96 if parameters['PTP_TS_FMT_TOD'] else 64 parameters['PTP_TD_SDI_PIPELINE'] = 2 parameters['TX_TAG_W'] = 16 diff --git a/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/test_taxi_eth_mac_phy_1g_basex_fifo.sv b/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/test_taxi_eth_mac_phy_1g_basex_fifo.sv index f93439c..3cc296a 100644 --- a/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/test_taxi_eth_mac_phy_1g_basex_fifo.sv +++ b/src/eth/tb/taxi_eth_mac_phy_1g_basex_fifo/test_taxi_eth_mac_phy_1g_basex_fifo.sv @@ -29,6 +29,7 @@ module test_taxi_eth_mac_phy_1g_basex_fifo # parameter logic PTP_TS_EN = 1'b0, parameter logic PTP_TD_EN = PTP_TS_EN, parameter logic PTP_TS_FMT_TOD = 1'b1, + parameter PTP_TS_FNS_W = 16, parameter PTP_TS_W = PTP_TS_FMT_TOD ? 96 : 64, parameter PTP_TD_SDI_PIPELINE = 2, parameter TX_TAG_W = 16, @@ -163,6 +164,7 @@ taxi_eth_mac_phy_1g_basex_fifo #( .PTP_TS_EN(PTP_TS_EN), .PTP_TD_EN(PTP_TD_EN), .PTP_TS_FMT_TOD(PTP_TS_FMT_TOD), + .PTP_TS_FNS_W(PTP_TS_FNS_W), .PTP_TS_W(PTP_TS_W), .PTP_TD_SDI_PIPELINE(PTP_TD_SDI_PIPELINE), .BIT_REVERSE(BIT_REVERSE),