Applications and libraries/Hardware verification
(Redirected from Libraries and tools/Hardware verification)
Applications[edit]
- ForSyDe
- The ForSyDe (Formal System Design) methodology is implemented as a Haskell-based DSL. ForSyDe's embedded compiler is capable of translating system models to synthesizable VHDL. Moreover it is able to interface with third party EDA tools such as Altera's Modelsim and Quartus II.
- Atom
- Atom is a hardware description language embedded in Haskell. Atom compiles conditional term rewriting systems to Verilog and VHDL for IC simulation, verification, and synthesis.
- Circuit Simulator
- David J. King and John O'Donnell's digital circuit simulator
- Hawk---Specifying and Prototyping Microprocessors
- The goal of the Hawk project is to develop a language for expressing highly abstracted specifications of modern microprocessor designs, to provide design teams with the ability to dynamically explore a wide range of design choices. The Hawk language is Haskell plus the Hawk library. The original link at http://www.cse.ogi.edu/PacSoft/projects/Hawk/ seems to be no longer live.
- Chortl
- Chortl is an extremely simple Haskell EDSL for hardware description. Chortl supports multiple backends. The current backend generates Verilog, and is intended for FPGA designs; near-future intent is to implement backends to generate C, and to provide graphical circuit diagrams. Chortl features include simplicity, a notation reasonably comprehensible by HW folks, the ability to define custom "components" such as adder trees in full Haskell, simplicity, and simplicity. Chortl is in a very early stage of development, so feedback and help are greatly appreciated.
- CλaSH
- CλaSH abstractly interprets (and optimizes) Haskell to netlists (and outputs them as VHDL code).
- Lava, Lava for Xilinx
- Lava is a hardware description language based upon Haskell.
- Conal Elliott's Work
- CCC-HDL is described in his blog posts.
This page contains a list of libraries and tools in a certain category. For a comprehensive list of such pages, see Applications and libraries.