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

axi_dw_downsizer writing data beats with wstrb == 0 #321

Open
Kevin99214 opened this issue Sep 15, 2023 · 0 comments
Open

axi_dw_downsizer writing data beats with wstrb == 0 #321

Kevin99214 opened this issue Sep 15, 2023 · 0 comments

Comments

@Kevin99214
Copy link

Kevin99214 commented Sep 15, 2023

Hello,

I am trying to use the axi_converter to downsize from a data width of 128 to 64 bits and then connected to an axi_to_reg so I can interface with the iDMA frontend.

When I do a 64 bit write, the Slave axi write writes one data beat with wstrb 0x00ff. The downsizer then translate that to a write with of burst length of 2 where the last data beat has a wstrb of 0x0.

Screenshot 2023-09-14 at 6 32 06 PM

I understand this can't be changed for burst writes where you can't see the last data beat's wstrb. But for a single data beat where you know the wstrb, this seems like a lot of overhead (half of my writes are not useful). For larger a conv_ratio, the percentage of not useful to useful writes would get even higher.

I have pushed an example of this change here. Please let me know if this is a feature worth considering.

Thanks

EDIT:
In release v0.4.2 of register interface, a new axi_to_reg_v2 was released to natively handle larger axi data widths.

This new module solves my issue specifically but I think this change is still applicable in other cases.

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

1 participant