-
Notifications
You must be signed in to change notification settings - Fork 265
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 Conversion #43
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All in all very nice work!
I added some minor nitpicks.
The thing about elaboration time asserts maybe needs some more discussing. I know Manuel used them quite extensively.
I'd like to point out that since v0.8.0 the default of describing the AXI ports has changed to use structs as defined in include/axi/typedef.svh instead of interfaces. The reason is that not all tools are capable of handling interfaces and that interfaces can lead to unintended behaviour when there is a mismatch in the interface definitions. I would recommend adding |
Thanks, everyone for the review. I pushed a few commits handling the issues that were raised. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the latest updates, @suehtamacv!
Just to be sure, this represents the latest code from the 'dwc' branch, right? Are there any limitations that are not usual in AXI?
84a78ee
to
9784f36
Compare
Yes, @accuminium, these changes correspond to the latest code from the The DW converters do not serialize/pack This version also includes the commits you did to support atomics transactions. Are they ready to be merged? |
Okay, I agree to leave it at this for the moment. However, please add a short documentation header to the
What is the behavior of the upsizer upon a fixed burst? Raising an
Yes. |
b45247e
to
1a1e412
Compare
Needs a rebase |
Blocking issue #57 |
399907e
to
d6a1602
Compare
2aed2f3
to
9901b49
Compare
Thanks @suehtamacv, this looks very good now! Now that the generalized error slave is available on How about issue #57, has that been addressed? |
55d1925
to
0024909
Compare
Done.
Yes, via a spill register, although further restructuring of the DWC might desirable to break the dependency between the channels without the extra latency. |
664886b
to
69118dd
Compare
Please implement #63 and let's get this released 🙂 |
…ction wider than the master port
…d WRAP transactions
19b5519
to
8ef8799
Compare
Ensure that the AxiMst/SlvDataWidth parameters describe properties of the ports of the modules.
8ef8799
to
ca2ae5a
Compare
Great, thanks! I am waiting for benches to complete so this can be merged. |
This PR proposes two modules,
axi_dw_upsizer
andaxi_dw_downsizer
, for data with conversion, together with a thirdaxi_dw_converter
module that instantiates one of the previous depending on the relationship betweenAxiMstDataWidth
andAxiSlvDataWidth
.Given the growing divergence between the
axi_dwc
branch andmaster
, instead of rebasing, I considered that it was easier to clean up the work previously hosted there, and create a new branch altogether.