Shockwaves: Typed waveforms for Clash
Introducing checked-literals: compile-time bounds checking for numeric literals
checked-literals, that rewrites numeric literals so that out-of-range values are rejected at compile time. It works in monomorphic and polymorphic contexts, supports integer and rational literals, and produces actionable error messages – including suggested type-level constraints.
Putting a Clash Coat of Paint on Rust
clash-protocols-memmap and clash-bitpackc, it seemed a good idea to create matching BitVec<N>, Unsigned<N>, Signed<N>, and Index<N> types in Rust. Let’s talk about how we can make this happen.
Tricking Haskell into state: how Clash's Signal type works
Signal.
Getting started with Clash on the Arrow DECA devkit
Clash 1.4 released
Clash 1.2.2 and future plans
Clash 1.2 released
As promised when releasing 1.0, we’ve tried our best to keep the API stable. We think most designs will continue to compile with this new version, although special care needs to be taken when using:
-
..inline blackboxes. Instead of taking a single HDL, inline primitives now take multiple. For example,
InlinePrimitive VHDL ".."must now be written asInlinePrimitive [VHDL] "..". -
..the
Enuminstance forBitVector,Index,Signed, orUnsigned, as they now respect theirmaxBound. See #1089.
Clash 1.0 released!
It’s here! Clash 1.0 is finally released! And it has a binary release for the very first time! Check out the install instructions instructions on how to get it!
10 years old
First a short retrospective: the very first demonstration of the Clash compiler was given on the 3rd of September 2009 at the Haskell'09 Symposium in Edinburgh:
We were planning the 1.0 release of Clash for some time now, but decided that such a momentous occasion should coincide with the 10 year anniversary of Clash (+1 day due to release engineering mishaps). We really want to thank all of our contributors for their continued support of Clash. The code contributors that invest their time to create new features and fix bugs, and the financial contributors that enable the core Clash developers to work on Clash as their day job. Much praise for our users as well, who’ve struggled through our API changes over the years (which should happen much, much, less from now on), who helped us pinpoint many bugs and thus making Clash a more stable piece of software.