------------------------------------------------------------------------------
--- $Id: Adder.hs#1 2010/10/01 19:10:34 REDMOND\\satnams $
-------------------------------------------------------------------------------

module Lava.Adder
where
import Lava
import Lava.Virtex6
import Lava.OneBitAdder

------------------------------------------------------------------------------

adderWithCarry n (cin, (a,b))
  = col oneBitAdder (cin, zip a b)

-------------------------------------------------------------------------------

adder :: Int -> ([Bit], [Bit]) -> Out [Bit]
adder n (a,b)
  = do (c, _) <- adderWithCarry n (zero, (a,b))
       return c

-------------------------------------------------------------------------------