mirror of
https://github.com/fpganinja/taxi.git
synced 2025-12-09 17:08:38 -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
|
// extract parameters
|
||||||
localparam DATA_W = s_axis.DATA_W;
|
localparam DATA_W = s_axis[0].DATA_W;
|
||||||
localparam logic KEEP_EN = s_axis.KEEP_EN && m_axis.KEEP_EN;
|
localparam logic KEEP_EN = s_axis[0].KEEP_EN && m_axis.KEEP_EN;
|
||||||
localparam KEEP_W = s_axis.KEEP_W;
|
localparam KEEP_W = s_axis[0].KEEP_W;
|
||||||
localparam logic STRB_EN = s_axis.STRB_EN && m_axis.STRB_EN;
|
localparam logic STRB_EN = s_axis[0].STRB_EN && m_axis.STRB_EN;
|
||||||
localparam logic LAST_EN = s_axis.LAST_EN && m_axis.LAST_EN;
|
localparam logic LAST_EN = s_axis[0].LAST_EN && m_axis.LAST_EN;
|
||||||
localparam logic ID_EN = s_axis.ID_EN && m_axis.ID_EN;
|
localparam logic ID_EN = s_axis[0].ID_EN && m_axis.ID_EN;
|
||||||
localparam S_ID_W = s_axis.ID_W;
|
localparam S_ID_W = s_axis[0].ID_W;
|
||||||
localparam logic DEST_EN = s_axis.DEST_EN && m_axis.DEST_EN;
|
localparam logic DEST_EN = s_axis[0].DEST_EN && m_axis.DEST_EN;
|
||||||
localparam DEST_W = s_axis.DEST_W;
|
localparam DEST_W = s_axis[0].DEST_W;
|
||||||
localparam logic USER_EN = s_axis.USER_EN && m_axis.USER_EN;
|
localparam logic USER_EN = s_axis[0].USER_EN && m_axis.USER_EN;
|
||||||
localparam USER_W = s_axis.USER_W;
|
localparam USER_W = s_axis[0].USER_W;
|
||||||
|
|
||||||
localparam M_ID_W = m_axis.ID_W;
|
localparam M_ID_W = m_axis.ID_W;
|
||||||
|
|
||||||
|
|||||||
@@ -37,22 +37,22 @@ module taxi_axis_broadcast #
|
|||||||
|
|
||||||
// extract parameters
|
// extract parameters
|
||||||
localparam DATA_W = s_axis.DATA_W;
|
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 KEEP_W = s_axis.KEEP_W;
|
||||||
localparam logic STRB_EN = s_axis.STRB_EN && m_axis.STRB_EN;
|
localparam logic STRB_EN = s_axis.STRB_EN && m_axis[0].STRB_EN;
|
||||||
localparam logic LAST_EN = s_axis.LAST_EN && m_axis.LAST_EN;
|
localparam logic LAST_EN = s_axis.LAST_EN && m_axis[0].LAST_EN;
|
||||||
localparam logic ID_EN = s_axis.ID_EN && m_axis.ID_EN;
|
localparam logic ID_EN = s_axis.ID_EN && m_axis[0].ID_EN;
|
||||||
localparam ID_W = s_axis.ID_W;
|
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 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;
|
localparam USER_W = s_axis.USER_W;
|
||||||
|
|
||||||
// check configuration
|
// 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)");
|
$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)");
|
$fatal(0, "Error: Interface KEEP_W parameter mismatch (instance %m)");
|
||||||
|
|
||||||
// datapath registers
|
// datapath registers
|
||||||
|
|||||||
@@ -43,17 +43,17 @@ module taxi_axis_mux #
|
|||||||
);
|
);
|
||||||
|
|
||||||
// extract parameters
|
// extract parameters
|
||||||
localparam DATA_W = s_axis.DATA_W;
|
localparam DATA_W = s_axis[0].DATA_W;
|
||||||
localparam logic KEEP_EN = s_axis.KEEP_EN && m_axis.KEEP_EN;
|
localparam logic KEEP_EN = s_axis[0].KEEP_EN && m_axis.KEEP_EN;
|
||||||
localparam KEEP_W = s_axis.KEEP_W;
|
localparam KEEP_W = s_axis[0].KEEP_W;
|
||||||
localparam logic STRB_EN = s_axis.STRB_EN && m_axis.STRB_EN;
|
localparam logic STRB_EN = s_axis[0].STRB_EN && m_axis.STRB_EN;
|
||||||
localparam logic LAST_EN = s_axis.LAST_EN && m_axis.LAST_EN;
|
localparam logic LAST_EN = s_axis[0].LAST_EN && m_axis.LAST_EN;
|
||||||
localparam logic ID_EN = s_axis.ID_EN && m_axis.ID_EN;
|
localparam logic ID_EN = s_axis[0].ID_EN && m_axis.ID_EN;
|
||||||
localparam ID_W = s_axis.ID_W;
|
localparam ID_W = s_axis[0].ID_W;
|
||||||
localparam logic DEST_EN = s_axis.DEST_EN && m_axis.DEST_EN;
|
localparam logic DEST_EN = s_axis[0].DEST_EN && m_axis.DEST_EN;
|
||||||
localparam DEST_W = s_axis.DEST_W;
|
localparam DEST_W = s_axis[0].DEST_W;
|
||||||
localparam logic USER_EN = s_axis.USER_EN && m_axis.USER_EN;
|
localparam logic USER_EN = s_axis[0].USER_EN && m_axis.USER_EN;
|
||||||
localparam USER_W = s_axis.USER_W;
|
localparam USER_W = s_axis[0].USER_W;
|
||||||
|
|
||||||
// check configuration
|
// check configuration
|
||||||
if (m_axis.DATA_W != DATA_W)
|
if (m_axis.DATA_W != DATA_W)
|
||||||
|
|||||||
Reference in New Issue
Block a user