23 lines
623 B
Haskell
23 lines
623 B
Haskell
{-# LANGUAGE DataKinds #-}
|
|
{-# LANGUAGE NumericUnderscores #-}
|
|
|
|
module Execute(execute) where
|
|
|
|
import Clash.Prelude
|
|
import Decode(DecodeResult(..))
|
|
import DecodeTypes(Opcode(..))
|
|
|
|
import Types(Addr, DoubleWord)
|
|
import BusTypes(
|
|
WriteRequest(..),
|
|
ReadRequest(..),
|
|
)
|
|
import RegFiles(RegFileIdx)
|
|
import Util((|>))
|
|
|
|
data ExecuteResult = ReadRequest {readRequest :: ReadRequest, insnAddr :: Addr}
|
|
| WriteRequest {writeRequest :: WriteRequest, insnAddr :: Addr}
|
|
| WriteBackGPR {idx :: RegFileIdx, val :: DoubleWord}
|
|
|
|
execute :: DecodeResult -> ExecuteResult
|
|
execute = undefined |