Skip to content

Making the DCMAC example use the DCMAC IPs#87

Draft
JOOpdenhoevel wants to merge 1 commit into
devfrom
exploration/dcmac_in_host_code
Draft

Making the DCMAC example use the DCMAC IPs#87
JOOpdenhoevel wants to merge 1 commit into
devfrom
exploration/dcmac_in_host_code

Conversation

@JOOpdenhoevel
Copy link
Copy Markdown
Collaborator

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.

Signed-off-by: Jan-Oliver Opdenhövel <Jan-Oliver.Opdenhovel@amd.com>
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

Successfully merging this pull request may close these issues.

1 participant