initial support for Bus types

This commit is contained in:
Yehowshua Immanuel 2025-03-14 19:46:08 -04:00
parent 66464daf0c
commit 21a3ee7f7a
4 changed files with 59 additions and 3 deletions

33
bs/BusTypes.bs Normal file
View file

@ -0,0 +1,33 @@
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