From 06e9588609cd8866bb9cfe489755b65e11e1be4c Mon Sep 17 00:00:00 2001 From: Alex Forencich Date: Wed, 9 Apr 2025 00:08:16 -0700 Subject: [PATCH] axis: Fix parameter accesses in interface arrays Signed-off-by: Alex Forencich --- rtl/axis/taxi_axis_arb_mux.sv | 22 +++++++++++----------- rtl/axis/taxi_axis_broadcast.sv | 16 ++++++++-------- rtl/axis/taxi_axis_mux.sv | 22 +++++++++++----------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/rtl/axis/taxi_axis_arb_mux.sv b/rtl/axis/taxi_axis_arb_mux.sv index c72a215..6e88ffe 100644 --- a/rtl/axis/taxi_axis_arb_mux.sv +++ b/rtl/axis/taxi_axis_arb_mux.sv @@ -42,17 +42,17 @@ module taxi_axis_arb_mux # ); // extract parameters -localparam DATA_W = s_axis.DATA_W; -localparam logic KEEP_EN = s_axis.KEEP_EN && m_axis.KEEP_EN; -localparam KEEP_W = s_axis.KEEP_W; -localparam logic STRB_EN = s_axis.STRB_EN && m_axis.STRB_EN; -localparam logic LAST_EN = s_axis.LAST_EN && m_axis.LAST_EN; -localparam logic ID_EN = s_axis.ID_EN && m_axis.ID_EN; -localparam S_ID_W = s_axis.ID_W; -localparam logic DEST_EN = s_axis.DEST_EN && m_axis.DEST_EN; -localparam DEST_W = s_axis.DEST_W; -localparam logic USER_EN = s_axis.USER_EN && m_axis.USER_EN; -localparam USER_W = s_axis.USER_W; +localparam DATA_W = s_axis[0].DATA_W; +localparam logic KEEP_EN = s_axis[0].KEEP_EN && m_axis.KEEP_EN; +localparam KEEP_W = s_axis[0].KEEP_W; +localparam logic STRB_EN = s_axis[0].STRB_EN && m_axis.STRB_EN; +localparam logic LAST_EN = s_axis[0].LAST_EN && m_axis.LAST_EN; +localparam logic ID_EN = s_axis[0].ID_EN && m_axis.ID_EN; +localparam S_ID_W = s_axis[0].ID_W; +localparam logic DEST_EN = s_axis[0].DEST_EN && m_axis.DEST_EN; +localparam DEST_W = s_axis[0].DEST_W; +localparam logic USER_EN = s_axis[0].USER_EN && m_axis.USER_EN; +localparam USER_W = s_axis[0].USER_W; localparam M_ID_W = m_axis.ID_W; diff --git a/rtl/axis/taxi_axis_broadcast.sv b/rtl/axis/taxi_axis_broadcast.sv index 9a5ba91..c1babc7 100644 --- a/rtl/axis/taxi_axis_broadcast.sv +++ b/rtl/axis/taxi_axis_broadcast.sv @@ -37,22 +37,22 @@ module taxi_axis_broadcast # // extract parameters localparam DATA_W = s_axis.DATA_W; -localparam logic KEEP_EN = s_axis.KEEP_EN && m_axis.KEEP_EN; +localparam logic KEEP_EN = s_axis.KEEP_EN && m_axis[0].KEEP_EN; localparam KEEP_W = s_axis.KEEP_W; -localparam logic STRB_EN = s_axis.STRB_EN && m_axis.STRB_EN; -localparam logic LAST_EN = s_axis.LAST_EN && m_axis.LAST_EN; -localparam logic ID_EN = s_axis.ID_EN && m_axis.ID_EN; +localparam logic STRB_EN = s_axis.STRB_EN && m_axis[0].STRB_EN; +localparam logic LAST_EN = s_axis.LAST_EN && m_axis[0].LAST_EN; +localparam logic ID_EN = s_axis.ID_EN && m_axis[0].ID_EN; localparam ID_W = s_axis.ID_W; -localparam logic DEST_EN = s_axis.DEST_EN && m_axis.DEST_EN; +localparam logic DEST_EN = s_axis.DEST_EN && m_axis[0].DEST_EN; localparam DEST_W = s_axis.DEST_W; -localparam logic USER_EN = s_axis.USER_EN && m_axis.USER_EN; +localparam logic USER_EN = s_axis.USER_EN && m_axis[0].USER_EN; localparam USER_W = s_axis.USER_W; // check configuration -if (m_axis.DATA_W != DATA_W) +if (m_axis[0].DATA_W != DATA_W) $fatal(0, "Error: Interface DATA_W parameter mismatch (instance %m)"); -if (KEEP_EN && m_axis.KEEP_W != KEEP_W) +if (KEEP_EN && m_axis[0].KEEP_W != KEEP_W) $fatal(0, "Error: Interface KEEP_W parameter mismatch (instance %m)"); // datapath registers diff --git a/rtl/axis/taxi_axis_mux.sv b/rtl/axis/taxi_axis_mux.sv index 2b2a60a..4e8299c 100644 --- a/rtl/axis/taxi_axis_mux.sv +++ b/rtl/axis/taxi_axis_mux.sv @@ -43,17 +43,17 @@ module taxi_axis_mux # ); // extract parameters -localparam DATA_W = s_axis.DATA_W; -localparam logic KEEP_EN = s_axis.KEEP_EN && m_axis.KEEP_EN; -localparam KEEP_W = s_axis.KEEP_W; -localparam logic STRB_EN = s_axis.STRB_EN && m_axis.STRB_EN; -localparam logic LAST_EN = s_axis.LAST_EN && m_axis.LAST_EN; -localparam logic ID_EN = s_axis.ID_EN && m_axis.ID_EN; -localparam ID_W = s_axis.ID_W; -localparam logic DEST_EN = s_axis.DEST_EN && m_axis.DEST_EN; -localparam DEST_W = s_axis.DEST_W; -localparam logic USER_EN = s_axis.USER_EN && m_axis.USER_EN; -localparam USER_W = s_axis.USER_W; +localparam DATA_W = s_axis[0].DATA_W; +localparam logic KEEP_EN = s_axis[0].KEEP_EN && m_axis.KEEP_EN; +localparam KEEP_W = s_axis[0].KEEP_W; +localparam logic STRB_EN = s_axis[0].STRB_EN && m_axis.STRB_EN; +localparam logic LAST_EN = s_axis[0].LAST_EN && m_axis.LAST_EN; +localparam logic ID_EN = s_axis[0].ID_EN && m_axis.ID_EN; +localparam ID_W = s_axis[0].ID_W; +localparam logic DEST_EN = s_axis[0].DEST_EN && m_axis.DEST_EN; +localparam DEST_W = s_axis[0].DEST_W; +localparam logic USER_EN = s_axis[0].USER_EN && m_axis.USER_EN; +localparam USER_W = s_axis[0].USER_W; // check configuration if (m_axis.DATA_W != DATA_W)