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

Safe HaskellNone
LanguageHaskell2010

Language.KansasLava.Optimization

Description

The Optimization module performs a number of safe optimizations, such as copy elimination, CSE, and combinatorial identity artifacts: e.g. fst(x,y)-->x. The optimizer is *supposed* to be timing invariant; however, it may change circuit properties such as fanout.

Synopsis

Documentation

optimizeCircuit :: OptimizationOpts -> KLEG -> IO KLEG Source

Basic optimizations, and assumes reaching a fixpoint. Cleans things up, but does not work too hard, because the VHDL compiler get many of the combinatorial optimizations anyway.

data OptimizationOpts Source

Data structure for passing optimization parameters.

Constructors

OptimizationOpts 

Fields

optDebugLevel :: Int