{-# 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