@hackage clash-lib0.4

CAES Language for Synchronous Hardware - As a Library

CλaSH (pronounced ‘clash’) is a functional hardware description language that borrows both its syntax and semantics from the functional programming language Haskell. The merits of using a functional language to describe hardware comes from the fact that combinational circuits can be directly modelled as mathematical functions and that functional languages lend themselves very well at describing and (de-)composing mathematical functions.

This package provides:

  • The CoreHW internal language: SystemF + Letrec + Case-decomposition

  • The normalisation process that brings CoreHW in a normal form that can be converted to a netlist

  • VHDL Backend

  • Blackbox/Primitive Handling

Front-ends (for: parsing, typecheck, etc.) are provided by separate packages:

Prelude library: http://hackage.haskell.org/package/clash-prelude