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

pulsar_adc: add split transfer functionality #1474

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

Conversation

LBFFilho
Copy link
Contributor

@LBFFilho LBFFilho commented Sep 26, 2024

Add a parameter, SPLIT_TRANSFER SIZE to enable split transfers. If SPLIT_TRANSFER is set to 0, split transfers are disabled (previous behavior). If set to any other positive value =an asymetric fifo is used to stitch together 2 transfers before sending them to the DMA. In this case SPLIT_TRANSFER is used to indicate the size of each transfer in the split.

PR Type

  • Bug fix (change that fixes an issue)
  • New feature (change that adds new functionality)
  • Breaking change (has dependencies in other repos or will cause CI to fail)

PR Checklist

  • I have followed the code style guidelines
  • I have performed a self-review of changes
  • I have compiled all hdl projects and libraries affected by this PR
  • I have tested in hardware affected projects, at least on relevant boards
  • I have commented my code, at least hard-to-understand parts
  • I have signed off all commits from this PR
  • I have updated the documentation (wiki pages, ReadMe files, Copyright etc)
  • I have not introduced new Warnings/Critical Warnings on compilation
  • I have added new hdl testbenches or updated existing ones

@sarpadi
Copy link
Contributor

sarpadi commented Oct 2, 2024

Looks good. Should work as long as the software resets the FIFO properly. I would try using only one build parameter. Either use a fixed width value or use only the SPLIT_SIZE parameter. if SPLIT_SIZE = 0 (default) then the feature is not used at all, if SPLIT_SIZE != 0 then use the value as width or something similar.

add a parameter, SPLIT_TRANSFER_SIZE, to enable and control split transfers. If
SPLIT_TRANSFER_SIZE is set to 0 (default), the project behaves as usual (no
split transfers). Otherwise, an asymetric fifo is used to stitch together 2
transfers before sending them to the DMA, SPLIT_TRANSFER_SIZE being used to
indicate the size of each transfer in the split.

Signed-off-by: Laez Barbosa <[email protected]>
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.

2 participants