34 lines
640 B
Haskell
34 lines
640 B
Haskell
package BusTypes(BusVal, TransactionSize) where
|
|
|
|
import Types
|
|
|
|
data BusError
|
|
= UnMapped
|
|
| UnAligned
|
|
deriving (Bits, Eq, FShow)
|
|
|
|
data TransactionSize
|
|
= SizeByte
|
|
| SizeHalfWord
|
|
| SizeFullWord
|
|
| SizeDoubleWord
|
|
| SizeQuadWord
|
|
deriving (Bits, Eq, FShow)
|
|
|
|
data BusVal
|
|
= BusByte Byte
|
|
| BusHalfWord HalfWord
|
|
| BusFullWord FullWord
|
|
| BusDoubleWord DoubleWord
|
|
| BusQuadWord QuadWord
|
|
deriving (Bits, Eq, FShow)
|
|
|
|
data ReadRequest = ReadRequest Addr TransactionSize
|
|
deriving (Bits, Eq, FShow)
|
|
|
|
data WriteRequest = WriteRequest Addr BusVal
|
|
deriving (Bits, Eq, FShow)
|
|
|
|
a :: UInt 5
|
|
a = 3
|