All Versions
Latest Version
Avg Release Cycle
45 days
Latest Release
2162 days ago

Changelog History
Page 1

  • v0.99.1

    May 12, 2018
  • v0.99

    March 31, 2018
  • v0.11.2 Changes

    April 25, 2017
    • ๐Ÿ†• New features:
      • Add riseEvery: Give a pulse every n clock cycles. (Thanks to @thoughtpolice)
      • Add oscillate: Oscillate a Bool with a given half-period of cycles. (Thanks to @thoughtpolice)
    • ๐Ÿ›  Fixes bugs:
  • v0.11.1 Changes

    April 10, 2017
    • ๐Ÿ”„ Changes:
      • Bundle instance for () behaves like a product-type instance #96
    • ๐Ÿ›  Fixes bugs:
      • Ensure that fold gets correctly type-applied in Vec.== #202
  • v0.11 Changes

    January 16, 2017
    • ๐Ÿ†• New features:
      • CLaSH.XException: a module defining an exception representing uninitialised values. Additionally adds the ShowX class which has methods that prints values as "X" where they would normally raise an XException exception.
      • Add BNat (and supporting functions) to CLaSH.Promoted.Nat: base-2 encoded natural numbers.
      • Add divSNat and logBaseSNat to CLaSH.Promoted.Nat: division and logarithm for singleton natural numbers.
      • Add predUNat and subUNat to CLaSH.Promoted.Nat: predecessor and subtraction for unary-encoded natural numbers.
      • Add dtfold to CLaSH.Sized.Vector: a dependently-typed tree-fold over Vec.
      • Add the perfect-depth binary trees module CLaSH.Sized.RTree
      • Synthesisable definitions of countLeadingZeros and countTrailingZeros for: BitVector, Signed, Unsigned, and Fixed
      • Add the (:::) type alias in CLaSH.NamedTypes which allows you to annotate types with documentation
    • ๐Ÿ”„ Changes:
      • asyncRam, blockRam, blockRamFile have a Maybe (addr,a) as write input instead of three separate Bool, addr, and a inputs.
      • asyncFIFOSynchronizer has a Maybe a as write-request instead of a separate Bool and a input
      • bundle' and unbundle' are removed; bundle now has type Unbundled' clk a -> Signal' clk a, unbundle now has type Signal' clk a -> Unbundled' clk a
      • subSNat now has the type SNat (a+b) -> SNat b -> SNat a (where it used to be SNat a -> SNat b -> SNat (a-b))
      • Renamed multUNat to mulUNat to be in sync with mulSNat and mulBNat.
      • The function argument of vfold in CLaSH.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 of Vec is no longer visible; (:>) and (:<) are now listed as constructors of Vec
      • Simulation speed improvements for numeric types
  • v0.10.12 Changes

    • ๐Ÿ›  Fixes bugs:
      • Vecs unbundle is too strict, i.e. register (undefined :: Vec 2 Int) /= bundle . unbundle . register (undefined :: Vec 2 Int)
  • v0.10.11 Changes

    August 03, 2016
    • ๐Ÿ†• New features:
      • Add strict version of: sample, sampleN, fromList, and simulate
      • Make Signals <*> 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, and simulate
      • Add NFData instances for the numeric types
    • Speed up arithmetic operations of Signed, Unsigned and BitVector
    • ๐Ÿ›  Fixes bugs:
      • CLaSH compiler sees internals of numeric types in their Lift functions
  • v0.10.10 Changes

    July 15, 2016
    • ๐Ÿ›  Fixes bugs:
      • shrink functions for numeric types throw exceptions #153
      • CLaSH compiler sees internals of numeric types in their Show functions
  • v0.10.9 Changes

    June 09, 2016
    • ๐Ÿ›  Fixes bugs:
      • Eq instance of Vec sometimes not synthesisable
  • v0.10.8 Changes

    June 07, 2016
    • ๐Ÿ†• New features:
      • Instances of Data for numeric types.
      • Instances of Read for {Index, Signed, Unsigned, Fixed}
      • Instances of BitPack for 3-8 tuples