From 0b54fb07697815cb343e7f217b1bd8362365f22d Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Wed, 21 Jan 2009 13:37:56 +0100 Subject: [PATCH] Add a haskell model for a half adder. --- Adders.hs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Adders.hs b/Adders.hs index c49ba81..2e8cf35 100644 --- a/Adders.hs +++ b/Adders.hs @@ -15,6 +15,12 @@ show_add f = do print ("Sum: " ++ (displaysigs s)); print ("Carry: " ++ (displ no_carry_adder :: (Bit, Bit) -> Bit no_carry_adder (a, b) = a `hwxor` b +-- Combinatoric half adder +-- A -> B -> (S, C) +half_adder :: (Bit, Bit) -> (Bit, Bit) +half_adder (a, b) = + ( a `hwxor` b, a `hwand` b ) + -- Combinatoric (one-bit) full adder -- (A, B, C) -> (S, C) full_adder :: (Bit, Bit, Bit) -> (Bit, Bit) -- 2.30.2