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

QDMA on UltraScale+ devices #323

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from
Draft

QDMA on UltraScale+ devices #323

wants to merge 2 commits into from

Conversation

tsmk94
Copy link
Contributor

@tsmk94 tsmk94 commented May 10, 2022

This feature adds support to use the Xilinx Queue DMA engine as an alternative to the BlueDMA engine on the Alveo cards.

tsmk94 added 2 commits May 10, 2022 10:11
This feature enables the Xilinx QDMA engine as alternative to BlueDMA.
If the feature is enabled, following changes are made to the standard HW design:
- Remove BlueDMA
- Replace MSIX interrupt controller with adjusted IRQ controller for QDMA
- Substitute PCIe DMA/Bridge with QDMA IP, and add specific IPs for control
- Add Dummy Master for in_ic for compatibility with other plugins (and to make Vivado happy)

No changes to the TLKM and API required since QDMA is used for the Versal platform as well.
@tsmk94 tsmk94 marked this pull request as ready for review May 10, 2022 15:14
@tsmk94 tsmk94 requested a review from cahz May 10, 2022 15:14
@cahz
Copy link
Member

cahz commented May 10, 2022

Thanks for adding the feature. However, I can see some problems which make it quite hard to maintain in the future:

  • deleting existing BD objects is not portable for changes in pcie_base
  • PCIe configuration should reuse existing board specific implementations

As discussed in person, here are some ideas for improvement:

  • add another platform similar to pcie_base (disadvantage: will lead to duplication in memory/clock infrastructure)
  • overwrite only specific subsystems through a plugin
  • extract all DMA specific parts in pcie_base and create a plugin for both QDMA and BlueDMA

@tsmk94 tsmk94 marked this pull request as draft May 10, 2022 15:42
@tsmk94 tsmk94 added the Algún dia Features currently not scheduled for implementation label Apr 18, 2024
@tsmk94 tsmk94 changed the title Feature/qdma QDMA on Ultra Apr 18, 2024
@tsmk94 tsmk94 changed the title QDMA on Ultra QDMA on UltraScale+ devices Apr 18, 2024
@tsmk94
Copy link
Contributor Author

tsmk94 commented Apr 18, 2024

This PR needs complete rework in the current state. If QDMA is required, use one of the Versal devices, which use QDMA as standard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Algún dia Features currently not scheduled for implementation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants