This repository has been archived by the owner on Sep 7, 2018. It is now read-only.
Releases: clash-lang/clash-prelude
Releases · clash-lang/clash-prelude
0.11.2
- New features:
- Add
riseEvery
: Give a pulse everyn
clock cycles. (Thanks to @thoughtpolice) - Add
oscillate
: Oscillate aBool
with a given half-period of cycles. (Thanks to @thoughtpolice)
- Add
- Fixes bugs:
v0.11.1
v0.11
- 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
inputbundle'
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
v0.10.11
- New features:
- Add strict version of:
sample
,sampleN
,fromList
, andsimulate
- Make
Signal
s<*>
slightly stricter:- Feedback loops still work with this new implementation
- No more space-leaks when used in combination with the strict version of
sample
,sampleN
, andsimulate
- Add
NFData
instances for the numeric types
- Add strict version of:
- Speed up arithmetic operations of
Signed
,Unsigned
andBitVector
- Fixes bugs:
- CLaSH compiler sees internals of numeric types in their
Lift
functions
- CLaSH compiler sees internals of numeric types in their
v0.10.10
v0.10.6
- Fixes bugs:
CLaSH.Prelude.DataFlow.parNDF
is not lazy enough
v0.10.5
- New features:
- Add
readNew
toCLaSH.Prelude.BlockRam
: create a read-after-write blockRAM from a read-before-write blockRAM. popCount
functions forBitVector
,Signed
, andUnsigned
are now synthesisable.- Add
parNDF
toCLaSH.Prelude.DataFlow
: compose N dataflow circuits in parallel. - Add and instance
Vec n a
forLockStep
inCLaSH.Prelude.DataFlow
: have N dataflow circuits operate in lock-step.
- Add
v0.10.4
- New features:
- Add
pureDF
toCLaSH.Prelude.DataFlow
: lift combinational circuits toDataFlow
circuits. - Add
fifoDF
toCLaSH.Prelude.DataFlow
: a simple FIFO buffer adhering to theDataFlow
protocol. loopDF
no longer uses thelockStep
andstepLock
automatically, and now includes a FIFO buffer on the feedback path.- Add
loopDF_nobuf
toCLaSH.Prelude.DataFlow
: a version ofloopDF
with no FIFO buffer on the feedback path. - Add
boolToBV
toCLaSH.CLass.BitPack
: convertBool
eans ton
-bitBitVector
s. ClockSource
inCLaSH.Annotations.TopEntity
can now have multiple clock inputs #33
- Add
- Bug fixes:
asyncRomFile
reads file multiple times.
v0.10.3
- Disable CPR analysis (See clash-lang/clash-compiler@721fcfa):
- GHC < 7.11: In all modules using
-fcpr-off
- GHC >= 7.11: In
CLaSH.Signal.Internal
andCLaSH.Prelude.RAM
using-fno-cpr-anal
- GHC < 7.11: In all modules using
v0.10.2
- New features
ExtendingNum
,BitPack
, andResize
instance forIndex
- Add
bv2i
: convertBitVector n
toIndex (2^n)
- Export type-level operations from ghc-typelits-extra