-
Notifications
You must be signed in to change notification settings - Fork 214
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
Records with 0 fields generate invalid verilog #41
Comments
Should it silently drop logic related to the |
Silently drop would be the preferred solution in my case, since I use it to build generic logic where the contents of the |
Hmm. That might lead to tough questions if the Record (or its raw_bits()) is used in expressions. What's the boolean of a zero length signal? Can it be signed? How does it extend? If you drop a zero length signal from an expression and nothing is left, do you drop entire assignment? It might need to be an error. |
* this might be debatable * may be relevant to m-labs#41
Triage: fixed in nMigen, where 0-bit signals are explicitly valid. |
When defining a record with no fields, as in
_layout = []
and then using
raw_bits()
, it will generate invalid verilog, e.g.:assign {} = x;
The text was updated successfully, but these errors were encountered: