Skip to content

Releases: clash-lang/clash-compiler

v0.6.1

16 Oct 14:56
Compare
Choose a tag to compare
  • New features:
    • Support for clash-prelude 0.10.1

    • Transformation that lifts applications of the same function out of alternatives of case-statements. e.g.

      case x of
        A -> f 3 y
        B -> f x x
        C -> h x

      is transformed into:

      let f_arg0 = case x of {A -> 3; B -> x}
          f_arg1 = case x of {A -> y; B -> x}
          f_out  = f f_arg0 f_arg1
      in  case x of
            A -> f_out
            B -> f_out
            C -> h x
  • Fixes bugs:
    • clash won't run when not compiled with usual ghc #82
    • Fail to generate VHDL with blockRamFile' in clash-ghc 0.6 #85
    • Case-statements acting like normal decoder circuits are erroneously synthesised to priority decoder circuits.

v0.6

03 Oct 18:16
Compare
Choose a tag to compare
  • New features:
    • Support clash-prelude-0.10
    • Pattern matching on CLaSH.Sized.Vector's :> is now supported
    • Unroll "definitions" of the following primitives: fold, dfold, foldr

v0.5.9

28 Jun 08:54
Compare
Choose a tag to compare
  • New features:
    • Use new verilog backend which outputs Verilog-2001 instead of Verilog-2005: generated Verilog is now accepted by Altera/Quartus
  • Fixes bugs:
    • --systemverilog switch incorrectly generates verilog code instead of systemverilog code
    • Incorrect SV primitive for CLaSH.Prelude.Testbench.assert'
    • Incorrect SV primitive for CLaSH.Sized.Vec.index_int
    • Sometimes created incorrect nested generate statements in SV backend

v0.5.8

26 Jun 07:30
Compare
Choose a tag to compare
  • New features:
    • Support for copying string literals from Haskell to generated code
    • Support clash-prelude-0.9
    • Size at below which functions are always inlined is configurable, run with -clash-inline-below=N to set the size limit to N
    • Collect and copy data-files
  • Fixes bugs:
    • Signals declared twice when not using a clock-generating component #60
    • This piece of code eat up all CPU when generating verilog #62
    • Can not operate "shiftR" on Int #63
    • Fail to generate verilog when using "quot" and "div" on Index #64

v0.4.1

05 Feb 08:15
Compare
Choose a tag to compare
  • Fixes bugs:
    • Treat BlackBox expressions as declarations when DC args. #37
    • Don't inline recursive closed bindings

v0.4

17 Nov 17:32
Compare
Choose a tag to compare
  • New features:
    • Support for clash-prelude 0.6
  • Fixes bugs:
    • Ambiguous type: 'std_logic_vector' or 'std_ulogic_vector' #33
    • clash-ghc ignores "-package-db" flag #35

v0.3.3

12 Aug 08:06
Compare
Choose a tag to compare
  • Fixes bugs:
    • Compile with GHC 7.8.3 #31

v0.3.2

05 Jun 07:23
Compare
Choose a tag to compare

clash-lib

  • Fixes bugs:
    • VHDL array constant ambiguous #18
    • Exception: can't create selector #24
    • Calls to vhdlTypeMark don't result to inclusion of VHDL type in types.vhdl #28

clash-ghc

  • Fixes bugs:
    • Type synonym improperly expanded #17
    • BlackBox for Signed maxBound and minBound generate incorrect VHDL. #19
    • Generate failure code in the VHDL for recSelError #23

v0.3.1

15 May 19:23
Compare
Choose a tag to compare
Add changelog and up version number