clash-compiler
clash-compiler copied to clipboard
Haskell to VHDL/Verilog/SystemVerilog compiler
[comment]: # (Thank you for contributing to Clash. Please fill out this template to describe your contribution and any outstanding tasks / questions.) [comment]: # (External PRs will not automatically...
I have a use case where `Overflowing Bit`, and thus a `SaturatingNum Bit` instance, would be useful. I see no reason `Bit` couldn't be made into `SaturatingNum`. Sketch(y) implementation: ```...
Functions that construct vectors with a known length should be able to produce the spine fully lazily. For example, I don't think there's a good reason why `map (const 0)...
This enables us to deal with undefined BitVectors using the currently derived `ensureSpine`. To satisfy `ensureSpine (errorX "Undefined BitVector") == deepErrorX "Undefined BitVector"` This is an automatic copy of pull...
The following reproducer ```haskell {-# LANGUAGE AllowAmbiguousTypes #-} {-# OPTIONS_GHC -fconstraint-solver-iterations=20 #-} module Top where import Clash.Prelude import Data.Proxy import Data.Type.Bool data T = A type family TF (t ::...
There was confusion between the size in bits and the type level argument to Index. Causing it to use way too big numbers in the overflow calculation. Fixes #2813 ##...
Instead of rendering them in `inst_`. I noticed that while creating a primitive that when I used a combination of `compInBlock` and `instDecl Empty` that the entire block declaration and...
I'm running into an error when trying to compile clash-ghc 1.8.1 on Debian with GHC 9.6.6: ``` Building library for clash-ghc-1.8.1.. [ 1 of 23] Compiling Clash.GHC.ClashFlags ( src-ghc/Clash/GHC/ClashFlags.hs, dist-ghc/build/Clash/GHC/ClashFlags.o,...
I've found myself writing both `bitToBool . reduceOr` and `And . reduceAnd` a lot, so I realized what I probably want is a combination of the two: ``` reduceAll ::...