-
Notifications
You must be signed in to change notification settings - Fork 7
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
Add AXI4 #22
Add AXI4 #22
Conversation
57012f0
to
ea5c5aa
Compare
@martijnbastiaan Hi Martijn! Thank you for working on this wonderful project. I wonder if this PR is going to be merged. I really wish to use Clash for a project with AXI4 and AXI4-Stream. (Unrelatedly, I also wonder if there is any documentation for this project. It seems the link in the README.md is broken.) |
type Data (Axi4ReadAddress dom kb ksz lw iw aw kr kbl kl kc kp kq) userType = | ||
M2S_ReadAddress kb ksz lw iw aw kr kbl kl kc kp kq userType | ||
|
||
type Payload userType = userType |
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.
After working some more with AXI, I don't think exposing userType
as the payload is a good idea. Perhaps we should define the address as the payload, so functions like map
operate on that instead.
type Data (Axi4ReadData dom kr iw dataType) userType = | ||
S2M_ReadData kr iw dataType userType | ||
|
||
type Payload userType = userType |
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.
Same comments as for ReadAddress
. dataType
probably makes more sense.
Hi @jeehoonkang, thanks for the kind words :). There's still some things missing in this PR:
clash-protocols/src/Protocols/Df.hs Lines 199 to 201 in 9795f14
|
I haven't uploaded the package to Hackage yet as I feel it isn't ready yet. The documentation is built on CI though, but it takes a bit of clicking (click green tick next to commit => details => haddock => browse job artifacts => docs => index.html). The rendered documentation for this PR can be found here. |
Also, AXI-Stream and AXI-Lite should definitely be added! Full-blown AXI is almost always overkill! :) I'm on another project that's draining all my energy for the next couple of months, so I doubt I'm going to have the energy to finish the PR :(. If you'd like to help finish this PR I'd be more than happy to help! |
Convenience functions have only been defined for the read data channel, as that is the only channel for which a field of kind Designing the FIFO is left as issue #23. Designing the interconnect is left as issue #24. |
71ef2ff
to
c45e0c3
Compare
Thanks @PietPtr ! |
TODO: