punk@1: signature Core where { punk@1: import ¶Assert®¶; punk@1: punk@1: import ¶ConfigReg®¶; punk@1: punk@1: import ¶Counter®¶; punk@1: punk@1: import ¶FIFOF_®¶; punk@1: punk@1: import ¶FIFOF®¶; punk@1: punk@1: import ¶FIFO®¶; punk@1: punk@1: import ¶Inout®¶; punk@1: punk@1: import ¶List®¶; punk@1: punk@1: import BFIFO; punk@1: punk@1: import ¶Clocks®¶; punk@1: punk@1: import ¶ListN®¶; punk@1: punk@1: import ¶Monad®¶; punk@1: punk@1: import ¶PrimArray®¶; punk@1: punk@1: import ¶RWire®¶; punk@1: punk@1: import ¶RegFile®¶; punk@1: punk@1: import SFIFO; punk@1: punk@1: import ¶Vector®¶; punk@1: punk@1: import ¶Connectable®¶; punk@1: punk@1: import ¶GetPut®¶; punk@1: punk@1: import ¶ClientServer®¶; punk@1: punk@1: import Trace; punk@1: punk@1: import MemTypes; punk@1: punk@1: import MemArb; punk@1: punk@1: import ProcTypes; punk@1: punk@1: import BRegFile; punk@1: punk@1: import BranchPred; punk@1: punk@1: import DataCacheBlocking; punk@1: punk@1: import InstCacheBlocking; punk@1: punk@1: import Processor; punk@1: punk@1: interface (Core.CoreStats :: *) = { punk@1: Core.dcache :: DataCacheBlocking.DCacheStats; punk@1: Core.icache :: InstCacheBlocking.ICacheStats; punk@1: Core.proc :: Processor.ProcStats punk@1: }; punk@1: punk@1: instance Core ¶Prelude®¶.¶PrimMakeUndefined®¶ Core.CoreStats; punk@1: punk@1: instance Core ¶Prelude®¶.¶PrimDeepSeqCond®¶ Core.CoreStats; punk@1: punk@1: instance Core ¶Prelude®¶.¶PrimMakeUninitialized®¶ Core.CoreStats; punk@1: punk@1: interface (Core.Core :: *) = { punk@1: Core.mmem_client :: ¶ClientServer®¶.¶Client®¶ MemTypes.MainMemReq MemTypes.MainMemResp; punk@1: Core.stats :: Core.CoreStats; punk@1: Core.tohost :: Processor.CPUToHost punk@1: }; punk@1: punk@1: instance Core ¶Prelude®¶.¶PrimMakeUndefined®¶ Core.Core; punk@1: punk@1: instance Core ¶Prelude®¶.¶PrimDeepSeqCond®¶ Core.Core; punk@1: punk@1: instance Core ¶Prelude®¶.¶PrimMakeUninitialized®¶ Core.Core; punk@1: punk@1: Core.mkCore :: (¶Prelude®¶.¶IsModule®¶ _m__ _c__) => _m__ Core.Core punk@1: }