Clash Formal
Ecosystem formally verifiable IT

Community

Communities

Repositories

  • ghc-typlits-proof-assist: A GHC plugin enabling the developer to rely on an external proof assistant (Agda, Rocq or Lean) to prove statements that are either impossible or too difficult to prove with the existing constraint solver of GHC.
  • clash-crypto: A hardware design library for cryptographic primitives written in Clash.

Talks

Challenges

  • The Clash UDBC Arbiter Verification Challenge: The challenge is to formally verify that the given implementation satisfies a given list of safety and security properties for any number of clients and all potential data types.

  • TSL Kitchen Timer Verification: The Clash hardware implementation of the timer has been claimed to satisfy the given temporal specification by construction, but the specification cannot be verified against the synthesized or any other manually given specification yet. The challenge is to connect the specification with a Clash implementation using a verification system that is capable of verifying the design against the specified properties.

Acknowledgements

This project would be impossible without the availability of a vast range of already existing open source software and hardware projects indirectly contributing to the success of the project as well. Some of the most influential projects are: