kansas-lava-0.2.4: Language/KansasLava.hs
{-# 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