haskell-clash-lib-utils

Functional hardware description language - library

Description

Clash is a functional hardware description language that borrows both its syntax and semantics from the functional programming language Haskell. The Clash compiler transforms these high-level descriptions to low-level synthesizable VHDL, Verilog, or SystemVerilog.

Features of Clash:

 * Strongly typed, but with a very high degree of type inference, enabling both
safe and fast prototyping using concise descriptions.

 * Interactive REPL: load your designs in an interpreter and easily test all
your component without needing to setup a test bench.

 * Higher-order functions, with type inference, result in designs that are
fully parametric by default.

 * Synchronous sequential circuit design based on streams of values, called
@Signal@s, lead to natural descriptions of feedback loops.

 * Support for multiple clock domains, with type safe clock domain crossing.

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

 * Blackbox/Primitive Handling

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

 * <https://hackage.haskell.org/package/clash-ghc GHC/Haskell Frontend>

 * <https://github.com/christiaanb/Idris-dev Idris Frontend>

Prelude library: <https://hackage.haskell.org/package/clash-prelude>

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V


Homepage

https://clash-lang.org/


Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install haskell-clash-lib-utils