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