Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose AxiLookBits as a parameter in axi_burst_splitter #341

Open
jfornt-bsc opened this issue May 16, 2024 · 1 comment
Open

Expose AxiLookBits as a parameter in axi_burst_splitter #341

jfornt-bsc opened this issue May 16, 2024 · 1 comment

Comments

@jfornt-bsc
Copy link

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)

@micprog
Copy link
Member

micprog commented May 16, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants