Add a double invertor model.
[matthijs/master-project/cλash.git] / Adders.hs
index f29927ceac3fd6e0804ade47ca5974ccae5ae333..ec486e60afdb2e1f276a87a4b2336cd326f4ad84 100644 (file)
--- a/Adders.hs
+++ b/Adders.hs
@@ -10,6 +10,18 @@ show_add f = do print ("Sum:   " ++ (displaysigs s)); print ("Carry: " ++ (displ
     b = [Low, Low, Low, High]
     (s, c) = f (a, b)
 
+-- Not really an adder, but this is nice minimal hardware description
+wire :: Bit -> Bit
+wire a = a
+
+-- Not really an adder either, but a slightly more complex example
+inv :: Bit -> Bit
+inv a = hwnot a
+
+-- Not really an adder either, but a slightly more complex example
+invinv :: Bit -> Bit
+invinv a = hwnot (hwnot a)
+
 -- Combinatoric stateless no-carry adder
 -- A -> B -> S
 no_carry_adder :: (Bit, Bit) -> Bit