-
Notifications
You must be signed in to change notification settings - Fork 152
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
Remove KnowDomain #2589
base: master
Are you sure you want to change the base?
Remove KnowDomain #2589
Commits on Oct 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 02015b0 - Browse repository at this point
Copy the full SHA 02015b0View commit details
Commits on Oct 12, 2023
-
Improve blackbox error message
This changes the error when using non-existant arguments in blackboxes from: Blackbox required at least 32 arguments, but only 8 were passed. to the new error: Blackbox used "~ISSYNC[31]" , but only 8 arguments were passed.
Configuration menu - View commit details
-
Copy full SHA for 930f1ce - Browse repository at this point
Copy the full SHA 930f1ceView commit details -
So it'll be easier to keep the temp directory
Configuration menu - View commit details
-
Copy full SHA for 280dec1 - Browse repository at this point
Copy the full SHA 280dec1View commit details
Commits on Oct 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for b2d85eb - Browse repository at this point
Copy the full SHA b2d85ebView commit details
Commits on Oct 17, 2023
-
It now correctly "escapes" square brackets in the right places. And correctly brackets the second argument of ~SIGD
Configuration menu - View commit details
-
Copy full SHA for c5f2368 - Browse repository at this point
Copy the full SHA c5f2368View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e7a228 - Browse repository at this point
Copy the full SHA 8e7a228View commit details -
Add prim-yaml-to-inlineyaml tool
Utility that can convert blackboxes from clash-lib .primitives.yaml files to InlineYamlPrimitive ANNotations.
Configuration menu - View commit details
-
Copy full SHA for 25f21f2 - Browse repository at this point
Copy the full SHA 25f21f2View commit details -
Allow blackbox templates to get domain info from Clock,Reset,Enable,etc
You can now use ~PERIOD, ~ISSYNC, ~ISINITDEFINED and ~ACTIVEEDGE on arguments of type Clock,Reset,Enable,ClockN and DiffClock.
Configuration menu - View commit details
-
Copy full SHA for c6f7316 - Browse repository at this point
Copy the full SHA c6f7316View commit details -
Put a KnownDomain constraint inside of Clock and Reset
This allows the removal of the KnownDomain constraint on functions which take a Clock and/or a Reset/ Which is most of them. The only functions that still need a KnownDomain constraint should be the ones creating Clocks and/or Resets.
Configuration menu - View commit details
-
Copy full SHA for c08b624 - Browse repository at this point
Copy the full SHA c08b624View commit details -
Configuration menu - View commit details
-
Copy full SHA for 55b117e - Browse repository at this point
Copy the full SHA 55b117eView commit details -
Add ZKnownDomain dummy contraint
* ZKnownDomain is used only blackboxes, it used to replace the KnownDomain there, so we can postpone the renumbering of arguments
Configuration menu - View commit details
-
Copy full SHA for d9b940e - Browse repository at this point
Copy the full SHA d9b940eView commit details
Commits on Oct 19, 2023
-
Remove KnownDomain from clash-lib/prims
For the more complex ones I've replaced KnownDomain with the a dummy ZKnownDomain constraint, so the argument numbers stay the same for now.
Configuration menu - View commit details
-
Copy full SHA for bfe4968 - Browse repository at this point
Copy the full SHA bfe4968View commit details -
Configuration menu - View commit details
-
Copy full SHA for d52aef3 - Browse repository at this point
Copy the full SHA d52aef3View commit details -
Configuration menu - View commit details
-
Copy full SHA for b585e18 - Browse repository at this point
Copy the full SHA b585e18View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0df8aa5 - Browse repository at this point
Copy the full SHA 0df8aa5View commit details -
Remove now unused KnownDomain constraints
For some functions we add explicit foralls, so the order of the type arguments stays the same.
Configuration menu - View commit details
-
Copy full SHA for 1d3e7f7 - Browse repository at this point
Copy the full SHA 1d3e7f7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8d6c648 - Browse repository at this point
Copy the full SHA 8d6c648View commit details -
Simplify Clash.Primitives.DSL.unsafeToActive[High,Low]
You don't need to provide a KnownDomain anymore
Configuration menu - View commit details
-
Copy full SHA for 1902d62 - Browse repository at this point
Copy the full SHA 1902d62View commit details -
Configuration menu - View commit details
-
Copy full SHA for e98bbe9 - Browse repository at this point
Copy the full SHA e98bbe9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 133d6bb - Browse repository at this point
Copy the full SHA 133d6bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e352ab - Browse repository at this point
Copy the full SHA 7e352abView commit details -
Configuration menu - View commit details
-
Copy full SHA for ed8ade6 - Browse repository at this point
Copy the full SHA ed8ade6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5454fee - Browse repository at this point
Copy the full SHA 5454feeView commit details -
Move YAML prims with dummy ZKnownDomain constraints into inline yaml
The conversion was done automatically by running: cabal run -- prim-yaml-to-inlineyaml Clash.Explicit.BlockRam.blockRamU# Clash.Explicit.BlockRam.blockRam1# Clash.Explicit.BlockRam.blockRam# Clash.Explicit.BlockRam.Blob.blockRamBlob# Clash.Explicit.BlockRam.File.blockRamFile# Clash.Explicit.RAM.asyncRam# Clash.Explicit.ROM.rom# Clash.Explicit.ROM.Blob.romBlob# Clash.Explicit.ROM.File.romFile# Clash.Explicit.Testbench.assert Clash.Explicit.Testbench.assertBitVector Clash.Signal.Internal.delay# Clash.Signal.Internal.register# Clash.Signal.Internal.asyncRegister# Then the annotations were manually moved to be next to their haskell definitions.
Configuration menu - View commit details
-
Copy full SHA for f08bdc0 - Browse repository at this point
Copy the full SHA f08bdc0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c896f21 - Browse repository at this point
Copy the full SHA c896f21View commit details -
Apply CLASH_MULTIPLE_HIDDEN to clash-prelude:doctests
Current doctest(-parallel) can't pickup such defines automatically, so we have to do it manually. And also define CLASH_OPAQUE, to prevent a ton of warnings.
Configuration menu - View commit details
-
Copy full SHA for e28b372 - Browse repository at this point
Copy the full SHA e28b372View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8dae71e - Browse repository at this point
Copy the full SHA 8dae71eView commit details