{-# OPTIONS_GHC -Wno-unrecognised-pragmas #-} module BusTypes( BusError(..), TransactionSize(..), ReadRequest(..), WriteRequest(..), BusVal(..), ) where import Clash.Prelude import Types(Addr, Byte, HalfWord, FullWord, DoubleWord, QuadWord) import Util((|>)) data BusError = UnMapped | UnAligned deriving (Generic, Show, Eq, NFDataX) data TransactionSize = SizeByte | SizeHalfWord | SizeFullWord | SizeDoubleWord | SizeQuadWord deriving (Generic, Show, Eq, NFDataX) data ReadRequest = ReadRequest Addr TransactionSize deriving (Generic, Show, Eq, NFDataX) data WriteRequest = WriteRequest Addr BusVal deriving (Generic, Show, Eq, NFDataX) -- data WriteRequest data BusVal = BusByte Byte | BusHalfWord HalfWord | BusFullWord FullWord | BusDoubleWord DoubleWord | BusQuadWord QuadWord deriving (Generic, Show, Eq, NFDataX)