-
Notifications
You must be signed in to change notification settings - Fork 1
Implement multi-precision #2
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
Open
sermazz
wants to merge
28
commits into
main
Choose a base branch
from
smazzola/multi-precision
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
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
Updated the packages with right register offsets for the configuration registers
A standalone testbench with configurations to the HWPE done from the testbench and a dummy simulation memory tb_dummy_memory to emulate TCDM transaction.
Enabled MISALIGNMENT in both source and sink Updated addresses to consecutive addresses Rectify the Byte Enable in the top wrapper. In theory it should be handled in the HCI
The datamover will likely be used with relatively fine-grained jobs. Therefore, this commit reduces the number of registers (from 14 to 11) and increases the number of contexts (from 2 to 4) to enable faster offload.
8dec1b6 to
a190203
Compare
It was easy to confuse the parameter BW (bandwidth) with the HCI parameter BW (byte width)
d9e896c to
420e305
Compare
420e305 to
effa4eb
Compare
…ulti-precision (still not supporting transpose modes)
8aff022 to
0f4d7ff
Compare
0f4d7ff to
1be72db
Compare
CycyXX
approved these changes
Oct 23, 2025
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.
Looks good!
I also tested it on my machine and the tests are successful.
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.
This PR builds on top of #1 (that can be closed).
It implements multi-precision (parametrizable number of elements in a word, and width of each element). Previously, the datamover was hardcoded to 4 elements of 8 bits each, i.e., the classical 32-bit word configuration.
For the current limitations of this work, refer to the README: https://github.com/pulp-platform/datamover/tree/smazzola/multi-precision?tab=readme-ov-file#on-the-parametrization
In particular, while the multi-precision features are tested and functional, the transpose functionalities from @FrancescoConti are still not integrated in the golden model and therefore not yet tested.