axi icon indicating copy to clipboard operation
axi copied to clipboard

Expose `AxiLookBits` as a parameter in `axi_burst_splitter`

Open jfornt-bsc opened this issue 1 year ago • 1 comments

The module axi_burst_splitter instantiates an axi_demux and sets its AxiLookBits to the full ID width of the bus:

  axi_demux #(
    .AxiIdWidth   ( IdWidth     ),
    .aw_chan_t    ( aw_chan_t   ),
    .w_chan_t     ( w_chan_t    ),
    .b_chan_t     ( b_chan_t    ),
    .ar_chan_t    ( ar_chan_t   ),
    .r_chan_t     ( r_chan_t    ),
    .axi_req_t    ( axi_req_t   ),
    .axi_resp_t   ( axi_resp_t  ),
    .NoMstPorts   ( 2           ),
    .MaxTrans     ( MaxTxns     ),
    .AxiLookBits  ( IdWidth     ),    // !!!!
    .SpillAw      ( 1'b0        ),
    .SpillW       ( 1'b0        ),
    .SpillB       ( 1'b0        ),
    .SpillAr      ( 1'b0        ),
    .SpillR       ( 1'b0        )

This makes the module unusable with AXI buses that have a large ID width, since the logic on axi_demux_simple (instantiated by axi_demux) explodes due to this parameter:

localparam int unsigned NoCounters = 2**AxiIdBits;

(AxiIdBits is set to AxiLookBits)

Could you expose AxiLookBits as a parameter of axi_burst_splitter? (and other modules that depend on it, e.g. axi_to_axi_lite)

jfornt-bsc avatar May 16 '24 06:05 jfornt-bsc

I think this is a good idea, happy to review a PR with this change!

micprog avatar May 16 '24 08:05 micprog