-
Notifications
You must be signed in to change notification settings - Fork 597
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
[RFC] More Consistent Notion of "Infinite Width" Values #867
Milestone
Comments
jackkoenig
added a commit
that referenced
this issue
Jul 31, 2018
See #867 for future API discussion
This issue has been around for a while now, with no real resolution, and keeps popping up at the dev meetings. I'm going to try to summarize all the positions here so we can try to make some progress on this. There are several possible resolutions:
|
Resolution: add |
jackkoenig
added a commit
that referenced
this issue
Feb 28, 2023
#867) Instead, just forward the exception
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Discussion originated in #857. The motivating example is bit extraction for literals of unspecified width. For example:
Here I'm using the literal
5.U
as a numerical value, I don't care about the width. However, without the special-case support in #857 this would result in an out-of-bounds indexing error. A more consistent notion would be helpful because the existing implementation that works for literals does not work for other Chisel values like Wires, Registers, nor Ports.Sketch of Proposal
As discussed in the Chisel developers meeting on July 27th, we could create a new Chisel API (and corresponding FIRRTL primop) that does something like
padToInfinity
orpadUnbounded
. The full implications of such an operation are not clear, but at least in the case of bit select, the argument would be treated as if it were zero- or sign-extended to infinity. I imagine we need to think through exactly how this influences width inference (if at all).PR Template
Type of issue: feature request
Impact: API modification*
It's hard for me to see how we do this in a principled way without some sort of API modification. The extend of it remains to be seen.
Development Phase: request
The text was updated successfully, but these errors were encountered: