Making the DCMAC example use the DCMAC IPs#87
Draft
JOOpdenhoevel wants to merge 1 commit into
Draft
Conversation
Signed-off-by: Jan-Oliver Opdenhövel <Jan-Oliver.Opdenhovel@amd.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The networking capabilities of the DCMAC cores in the service layer don't work currently, or at least they aren't used correctly. This draft PR explores what would be needed to make them work and what is needed to integrate them into the toolchain. At this point, this is just an exploration, the final implementation should look different and should be better integrated in VRT.
One thing that is missing on the software side is the setup and alignment of the DCMAC cores. The prototype driver in
linker/slashkit/resources/dcmac/driver/does this correctly by manually accessing the service layer (BAR 2) and reading and writing to its registers. VRT does not have this functionality, but VRTD allows you to access any BAR, and gives you a relatively nice API around it. I've therefore let Claude Code transfer this setup and alignment procedure to the DCMAC example app using the VRTD API. It appears to work correctly, but I haven't thoroughly verified it yet.However, the traffic producers and consumers in the user region appear to not be wired correctly, and the last refactor of slashkit's linking procedure apparently broke the service layer rebuild. If you therefore try to run the traffic producer and consumer kernels, the entire design blocks up. The next step would therefore be to fix the linker and wire the traffic producers and consumers up correctly.