v0.7
版本发布时间: 2017-01-17 06:38:30
clash-lang/clash-compiler最新发布版本:v1.8.1(2023-11-11 06:13:10)
- New features:
-
CLaSH.XException
: a module defining an exception representing uninitialised values. Additionally adds theShowX
class which has methods that prints values as "X" where they would normally raise anXException
exception. - Add
BNat
(and supporting functions) toCLaSH.Promoted.Nat
: base-2 encoded natural numbers. - Add
divSNat
andlogBaseSNat
toCLaSH.Promoted.Nat
: division and logarithm for singleton natural numbers. - Add
predUNat
andsubUNat
toCLaSH.Promoted.Nat
: predecessor and subtraction for unary-encoded natural numbers. - Add
dtfold
toCLaSH.Sized.Vector
: a dependently-typed tree-fold overVec
. - Add the perfect-depth binary trees module
CLaSH.Sized.RTree
- Synthesisable definitions of
countLeadingZeros
andcountTrailingZeros
for:BitVector
,Signed
,Unsigned
, andFixed
- Add the
(:::)
type alias inCLaSH.NamedTypes
which allows you to annotate types with documentation
-
- Changes:
-
asyncRam
,blockRam
,blockRamFile
have aMaybe (addr,a)
as write input instead of three separateBool
,addr
, anda
inputs. -
asyncFIFOSynchronizer
has aMaybe a
as write-request instead of a separateBool
anda
input -
bundle'
andunbundle'
are removed;bundle
now has typeUnbundled' clk a -> Signal' clk a
,unbundle
now has typeSignal' clk a -> Unbundled' clk a
-
subSNat
now has the typeSNat (a+b) -> SNat b -> SNat a
(where it used to beSNat a -> SNat b -> SNat (a-b)
) - Renamed
multUNat
tomulUNat
to be in sync withmulSNat
andmulBNat
. - The function argument of
vfold
inCLaSH.Sized.Vector
is now(forall l . SNat l -> a -> Vec l b -> Vec (l + 1) b)
(where it used to be(forall l . a -> Vec l b -> Vec (l + 1) b)
) -
Cons
constructor ofVec
is no longer visible;(:>)
and(:<)
are now listed as constructors ofVec
- Simulation speed improvements for numeric types
-