mirror of
https://github.com/fpganinja/taxi.git
synced 2025-12-07 16:28:40 -08:00
axis: Fix parameter accesses in interface arrays
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user