{-# LANGUAGE TypeFamilies, FlexibleInstances, ScopedTypeVariables, GADTs, FlexibleContexts #-} -- | A top-level module that re-exports the relevent parts of the library's internal modules. module Language.KansasLava ( -- * Basic types in Kansas Lava module Language.KansasLava.Types, -- * Generating KLEG netlists Fabric, reifyFabric, inStdLogic, inStdLogicVector,inGeneric, outStdLogic, outStdLogicVector, theClk, theRst, theClkEn, -- * The CSeq and Seq types Signal, Seq, toS, toS', undefinedS, fromS, takeS, pureS, witnessS, commentS, pack, unpack, packMatrix, unpackMatrix, register, registers, delay, delays, -- * Rendering KLEG as a Graph writeDotCircuit, -- * Optimizing KLEG OptimizationOpts(..), optimizeCircuit, -- * Outputing VHDL writeVhdlCircuit, writeVhdlPrelude, -- * RTL sub-DSL module Language.KansasLava.RTL, -- * Probes module Language.KansasLava.Probes, -- * Protocols module Language.KansasLava.Protocols, -- * Rep module Language.KansasLava.Rep, -- * Kansas Lava User-level Utils module Language.KansasLava.Utils, -- * Version Change Dump VCD, writeVCDFile, readVCDFile ) where import Language.KansasLava.DOT import Language.KansasLava.Fabric import Language.KansasLava.Optimization import Language.KansasLava.Probes import Language.KansasLava.Protocols import Language.KansasLava.Rep import Language.KansasLava.RTL import Language.KansasLava.Signal import Language.KansasLava.Types import Language.KansasLava.Utils import Language.KansasLava.VCD import Language.KansasLava.VHDL