Add the VHDLTypes module
authorMatthijs Kooijman <m.kooijman@student.utwente.nl>
Fri, 13 Feb 2009 11:39:29 +0000 (12:39 +0100)
committerMatthijs Kooijman <m.kooijman@student.utwente.nl>
Fri, 13 Feb 2009 11:39:29 +0000 (12:39 +0100)
This file should have been added a few commits back already...

VHDLTypes.hs [new file with mode: 0644]

diff --git a/VHDLTypes.hs b/VHDLTypes.hs
new file mode 100644 (file)
index 0000000..34a2b50
--- /dev/null
@@ -0,0 +1,19 @@
+--
+-- Some types used by the VHDL module.
+--
+module VHDLTypes where
+
+import qualified ForSyDe.Backend.VHDL.AST as AST
+
+import FlattenTypes
+
+type VHDLSignalMap = SignalMap AST.VHDLId
+
+-- A description of a VHDL entity. Contains both the entity itself as well as
+-- info on how to map a haskell value (argument / result) on to the entity's
+-- ports.
+data Entity = Entity {
+  ent_args   :: [VHDLSignalMap],      -- A mapping of each function argument to port names
+  ent_res    :: VHDLSignalMap,        -- A mapping of the function result to port names
+  ent_decl   :: Maybe AST.EntityDec   -- The actual entity declaration. Can be empty for builtin functions.
+}