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
Barrel Shifter/Rotater for Vec #2518
Conversation
2e2c59a
to
8460584
Compare
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.
LGTM with some nitpicks on documentation and API decision.
I have been looking forward to a configurable Barrel Shifter implementation to have a fine granular control to dynamic shifting. Thanks @ZenithalHourlyRate
I like it, but I am wondering if this should be part of a new |
@ekiwi Agree, I also want this to live in the |
d670394
to
f71ff65
Compare
Fixed format issue |
@ZenithalHourlyRate I just helped you fix the |
@ekiwi Where should I put the test, in |
I tried to put the test in
but for
sbt would complain that I do not know how to fix this sbt issue. Is there any suggestion on this? |
This time all compile and test worked for sbt and mill
Test is in |
cb5fa87
to
efb2e59
Compare
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.
Small nitpick. Generally LGTM.
with squash and not backport, if any concerns, we can revert it. |
Contributor Checklist
docs/src
?Type of Improvement
API Impact
This does not affect the current API.
This adds
BarrelShifter
API for Vec. This reduces latency when shifting a whole UInt by byte/word instead of by bits. (e.g. aes32esi needs to select one byte among four bytes. This is used in chipsalliance/rocket-chip#2950)Backend Code Generation Impact
Does this change any generated Verilog? No
Desired Merge Strategy
Release Notes
BarrelShifter
APIReviewer Checklist (only modified by reviewer)
3.4.x
, [small] API extension:3.5.x
, API modification or big change:3.6.0
)?Please Merge
?