1 {-# LANGUAGE TemplateHaskell, DeriveDataTypeable #-}
3 module CLasH.HardwareTypes
5 , module Data.Param.TFVec
6 , module Data.RangedWord
8 , module Data.SizedWord
18 import qualified Prelude as P
19 import Prelude hiding (
20 null, length, head, tail, last, init, take, drop, (++), map, foldl, foldr,
21 zipWith, zip, unzip, concat, reverse, iterate )
23 import qualified Data.Param.TFVec as TFVec
24 import Data.Param.TFVec hiding (TFVec)
25 import Data.RangedWord
29 import Language.Haskell.TH.Lift
32 type Vector = TFVec.TFVec
36 deriving (P.Show, P.Eq, P.Read, Typeable)
40 hwand :: Bit -> Bit -> Bit
41 hwor :: Bit -> Bit -> Bit
42 hwxor :: Bit -> Bit -> Bit
45 High `hwand` High = High
52 High `hwxor` Low = High
53 Low `hwxor` High = High