The kansas-lava package

[Tags:bsd3, library]

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]


Versions 0.2.4,,,
Dependencies base (==4.*), bytestring, cmdargs, 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 && <0.4), strict, template-haskell (==2.11.*) [details]
License BSD3
Copyright (c) 2009-2011 The University of Kansas
Author Andy Gill
Maintainer Andy Gill <>
Category Language, Hardware
Home page
Source repository head: git clone git://
this: git clone git:// -b kansas-lava-0.2.4(tag
Uploaded Wed Dec 21 11:04:58 UTC 2016 by GergoErdi
Distributions NixOS:
Downloads 764 total (11 in the last 30 days)
0 []
Status Docs not available [build log]
All reported builds failed as of 2016-12-21 [all 3 reports]


  • 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


allEnable full development treeDisabledAutomatic
unitEnable unit testing binaryDisabledAutomatic
toolsEnable extra tool binaryDisabledAutomatic

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


Maintainer's Corner

For package maintainers and hackage trustees

Readme for kansas-lava

Readme for kansas-lava-

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