Skip to content

v1.6.0

Compare
Choose a tag to compare
@martijnbastiaan martijnbastiaan released this 10 Feb 14:49
· 180 commits to 1.6 since this release
f4851d5

With each release we're trying hard to improve the usability of Clash and this release is no different: we've made many small improvements, which you can all find in the full changelog. We'd like to highlight a few of the bigger changes:

  • From now on we'll be publishing clash-prelude-hedgehog containing generators for types in clash-prelude. For those unfamiliar, Hedgehog is a test framework that allows its users to quickly generate a large number of test inputs. It can often find bugs not easily found by humans alone. The new package allows Clash developers to quickly get started.
  • Clash now generates a Verilator shim when compiling to Verilog or SystemVerilog. As a result, Verilator has been added to the Clash testsuite, to ensure we continue to output Verilatable HDL.
  • We've added support for YAML blackboxes. Clash will now pickup on files with a .primitives.yaml extension. While we recommend upgrading your primitive files to the new format, old style primitives are still supported. We've included a utility to help you upgrade your blackboxes. See #2037 for more information.

We believe that the majority of users won't have to change anything to have their designs running on 1.6, when coming from 1.4. Any designs that use our clash-lib API need take care:

  • clash-lib now uses Data.Monoid.Ap instead of Data.Semigroup.Monad.Mon. This means users defining primitives with TemplateFunction will need to replace Mon/getMon with Ap/getAp. #1835

You can find the full release notes in CHANGELOG.md.