kansas-lava: Kansas Lava is a hardware simulator and VHDL generator.

[ bsd3, hardware, language, library ] [ Propose Tags ]
Versions 0.2.4,,,
Dependencies base (>=4 && <4.3), bytestring, cmdargs (==0.8), containers, data‑default, data‑reify (==0.6), directory, dotgen (>=0.4.1), filepath, netlist (>=0.3.1), netlist‑to‑vhdl (>=0.3.1), process, random, sized‑types (>=0.3.4), strict, template‑haskell [details]
License BSD-3-Clause
Copyright (c) 2009-2011 The University of Kansas
Author Andy Gill
Maintainer Andy Gill <andygill@ku.edu>
Revised Revision 1 made by AdamBergmark at Sun Jun 21 00:31:52 UTC 2015
Category Language, Hardware
Home page http://ittc.ku.edu/csdl/fpg/Tools/KansasLava
Source repo head: git clone git://github.com/ku-fpg/kansas-lava.git
Uploaded by AndyGill at Mon Nov 7 15:11:27 UTC 2011
Distributions NixOS:
Executables kansas-lava-tbf2vcd, kansas-lava-testreport, kansas-lava-unittest
Downloads 1839 total (21 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-08 [all 7 reports]
Hackage Matrix CI

Kansas Lava is a Domain Specific Language (DSL) for expressing hardware-oriented descriptions of computations, and is hosted inside the language Haskell. Kansas Lava programs are descriptions of specific hardware entities, the connections between them, and other computational abstractions that can compile down to these entities.

[Skip to Readme]


  • Language
    • Language.KansasLava
      • Language.KansasLava.DOT
      • Language.KansasLava.Dynamic
      • Language.KansasLava.Entity
      • Language.KansasLava.Fabric
      • Language.KansasLava.Optimization
      • Language.KansasLava.Probes
      • Language.KansasLava.Protocols
      • Language.KansasLava.RTL
      • Language.KansasLava.Rep
      • Language.KansasLava.Signal
      • Language.KansasLava.Stream
      • Language.KansasLava.Test
      • Language.KansasLava.Types
      • Language.KansasLava.Utils
      • Language.KansasLava.VCD
      • Language.KansasLava.VHDL



Enable full development tree


Enable unit testing binary


Enable extra tool binary


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for kansas-lava-0.2.4

[back to package description]
Kansas Lava

Kansas Lava is a Haskell library which allows the specification and
simulation of hardware, and hardware level concerns.  Haskell
functions written in Kansas Lava can be interpreted as having the
semantics of a specific circuit, or compiled into VHDL, for
compilation and synthesis using standard HDL tools.

To run tests

% cabal configure -fall
% cabal build
% cd tests
% make test	   	-- use 'make test ARGS=--gensim' if you want to generate VHDL
% make simulate	-- [optional] if you want to test the VHDL using modelsim
% make report		-- generate test report