-
Notifications
You must be signed in to change notification settings - Fork 154
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
-fclash-force-undefined produces invalid values for BitVector with undefined bits. #2360
Labels
Comments
lmbollen
added a commit
to bittide/bittide-hardware
that referenced
this issue
Nov 18, 2022
Partially undefined calendars do not synthesize and -fclash-force-undefined is broken for BitVectors clash-lang/clash-compiler#2360 .
martijnbastiaan
pushed a commit
to bittide/bittide-hardware
that referenced
this issue
Nov 21, 2022
Partially undefined calendars do not synthesize and `-fclash-force-undefined` is broken for `BitVector`s, see: clash-lang/clash-compiler#2360 .
martijnbastiaan
pushed a commit
to bittide/bittide-hardware
that referenced
this issue
Nov 21, 2022
Partially undefined calendars do not synthesize and `-fclash-force-undefined` is broken for `BitVector`s, see: clash-lang/clash-compiler#2360 .
martijnbastiaan
pushed a commit
to bittide/bittide-hardware
that referenced
this issue
Nov 21, 2022
Partially undefined calendars do not synthesize and `-fclash-force-undefined` is broken for `BitVector`s, see: clash-lang/clash-compiler#2360 .
hiddemoll
pushed a commit
to bittide/bittide-hardware
that referenced
this issue
Nov 21, 2022
Partially undefined calendars do not synthesize and `-fclash-force-undefined` is broken for `BitVector`s, see: clash-lang/clash-compiler#2360 .
alex-mckenna
added a commit
that referenced
this issue
Dec 17, 2022
When rendering bit literals, we use the `char` function from the prettyprinter in most cases. For undefined bits we were using the `int` function, and wrapping in single quotes. This is not the same: the `char` function prints a single Haskell `Char`, but does _not_ wrap that character in quotes. Simply removing the quote marks solves the issue. Fixes #2360.
alex-mckenna
added a commit
that referenced
this issue
Dec 17, 2022
When rendering bit literals, we use the `char` function from the prettyprinter in most cases. For undefined bits we were using the `int` function, and wrapping in single quotes. This is not the same: the `char` function prints a single Haskell `Char`, but does _not_ wrap that character in quotes. Simply removing the quote marks solves the issue. Fixes #2360.
2 tasks
alex-mckenna
added a commit
that referenced
this issue
Dec 18, 2022
When rendering bit literals, we use the `char` function from the prettyprinter in most cases. For undefined bits we were using the `int` function, and wrapping in single quotes. This is not the same: the `char` function prints a single Haskell `Char`, but does _not_ wrap that character in quotes. Simply removing the quote marks solves the issue. Fixes #2360.
martijnbastiaan
pushed a commit
that referenced
this issue
Dec 19, 2022
When rendering bit literals, we use the `char` function from the prettyprinter in most cases. For undefined bits we were using the `int` function, and wrapping in single quotes. This is not the same: the `char` function prints a single Haskell `Char`, but does _not_ wrap that character in quotes. Simply removing the quote marks solves the issue. Fixes #2360.
We've released v1.8.0, which includes a fix for this issue. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Title says it all I think.
Reproducer:
compiled with
cabal run -- clash --verilog Example.Project -fclash-force-undefined=0
, produces:HDL was generated with 1.6.4, but the problem was encountered with 1.7.0.
Problem also exists for systemverilog and vhdl.
The text was updated successfully, but these errors were encountered: