The kansas-lava package

[ Tags: bsd3, hardware, language, library ] [ Propose Tags ]

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 repo 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:
Executables kansas-lava-tbf2vcd, kansas-lava-testreport, kansas-lava-unittest
Downloads 1818 total (25 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-21 [all 3 reports]
Hackage Matrix CI


  • 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


Maintainer's Corner

For package maintainers and hackage trustees

Readme for kansas-lava-

[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