kansas-lava-0.2.4.5: 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