-
Notifications
You must be signed in to change notification settings - Fork 156
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
Bug: HDL generation failure with GHC 9.0.2, multiple hidden, synthesis attribute #2593
Comments
This issue prevents me from writing the code I want to write in the examples in #2592 (I need to add type signatures where they aren't needed). |
When run with
Some alternative workarounds you might like better:
|
Oh, such a |
1. Annotations are implemented as type synonyms. 2. GHC looks through type synonyms when matching type families 3. So Clash should do the same. Fixes #2593
1. Annotations are implemented as type synonyms. 2. GHC looks through type synonyms when matching type families 3. So Clash should do the same. Fixes #2593
1. Annotations are implemented as type synonyms. 2. GHC looks through type synonyms when matching type families 3. So Clash should do the same. Fixes #2593 (cherry picked from commit da6ee06) Co-authored-by: Christiaan Baaij <[email protected]>
We've released v1.8.2, which includes a fix for this issue. |
In Clash
master
and1.6
, there is a bug when generating HDL under very specific conditions. Only with GHC 9.0.2 (out of the versions we test in CI), with multiple hidden enabled, an annotation fromClash.Annotations.SynthesisAttributes
and the following reproducer:VHDL generation will produce the error:
Verilog and SystemVerilog instead say:
Each of the following is enough to make the code produce HDL again:
Annotate
clk
,rst
oren
exposeClockResetEnable
topEntity
(topEntity = exposeClockResetEnable ...
)Type-applying
register
, though, does not help.I created a branch issue-2593 which tests the reproducer in CI. The full file with the reproducer is T2593.hs
For 1.6, the branch is issue-2593-1.6.
The text was updated successfully, but these errors were encountered: