Make vhdl generation and normalization lazy.
authorMatthijs Kooijman <matthijs@stdin.nl>
Wed, 5 Aug 2009 10:12:28 +0000 (12:12 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Wed, 5 Aug 2009 10:12:28 +0000 (12:12 +0200)
commitfcadaad2e47e5f6cba4b9f7d4341477b8fe74158
treefe8a2d2320e9ad9186685352389be895d376a379
parent294beb3d9709eed0b5facdd42b2c91b65805de4b
Make vhdl generation and normalization lazy.

Previously, first all function would be (recursively) normalized, and then
VHDL would be generated. Now, functions are normalized when needed, and
recursion is done while generating VHDL (so we know exactly which
components we are instantiating).

This disables the testbench and TFVec constructor for now, I'll fix that
in the next commits.

This also moves some code around, to prevent loops between Generate and
VHDL (again...).

The VHDLSession and NormalizeSession have been removed, and replaced with
the (previously unused) TranslatorSession. There are a few backward
compatibility aliases in place, so the next commit will probably remove
these and do a bunch of trivial replaces all over the code.
cλash/CLasH/Normalize.hs
cλash/CLasH/Normalize/NormalizeTools.hs
cλash/CLasH/Normalize/NormalizeTypes.hs
cλash/CLasH/Translator.hs
cλash/CLasH/Translator/TranslatorTypes.hs
cλash/CLasH/Utils.hs
cλash/CLasH/Utils/Pretty.hs
cλash/CLasH/VHDL.hs
cλash/CLasH/VHDL/Generate.hs
cλash/CLasH/VHDL/VHDLTools.hs
cλash/CLasH/VHDL/VHDLTypes.hs