annotate core/sim/bdir_dut/BranchPred.bi @ 23:90197e3375e2 pygar svn.24

[svn r24] added testing, but something is wrong with our c++ file.
author rlm
date Wed, 28 Apr 2010 08:19:09 -0400
parents 91a1f76ddd62
children
rev   line source
punk@1 1 signature BranchPred where {
punk@1 2 import ¶Counter®¶;
punk@1 3
punk@1 4 import ¶FIFOF_®¶;
punk@1 5
punk@1 6 import ¶FIFOF®¶;
punk@1 7
punk@1 8 import ¶FIFO®¶;
punk@1 9
punk@1 10 import ¶Inout®¶;
punk@1 11
punk@1 12 import ¶List®¶;
punk@1 13
punk@1 14 import ¶Clocks®¶;
punk@1 15
punk@1 16 import ¶ListN®¶;
punk@1 17
punk@1 18 import ¶PrimArray®¶;
punk@1 19
punk@1 20 import ¶RegFile®¶;
punk@1 21
punk@1 22 import ¶Vector®¶;
punk@1 23
punk@1 24 import ¶Connectable®¶;
punk@1 25
punk@1 26 import ¶GetPut®¶;
punk@1 27
punk@1 28 import ¶ClientServer®¶;
punk@1 29
punk@1 30 import Trace;
punk@1 31
punk@1 32 import ProcTypes;
punk@1 33
punk@1 34 type (BranchPred.BrPred :: *) = ¶Prelude®¶.¶Maybe®¶ ProcTypes.Addr;
punk@1 35
punk@1 36 type (BranchPred.BPindx :: *) = ¶Prelude®¶.¶Bit®¶ 4;
punk@1 37
punk@1 38 struct (BranchPred.BrPair :: *) = {
punk@1 39 BranchPred.brpc :: ProcTypes.Addr;
punk@1 40 BranchPred.nextpc :: ProcTypes.Addr
punk@1 41 };
punk@1 42
punk@1 43 instance BranchPred ¶Prelude®¶.¶PrimMakeUndefined®¶ BranchPred.BrPair;
punk@1 44
punk@1 45 instance BranchPred ¶Prelude®¶.¶PrimDeepSeqCond®¶ BranchPred.BrPair;
punk@1 46
punk@1 47 instance BranchPred ¶Prelude®¶.¶PrimMakeUninitialized®¶ BranchPred.BrPair;
punk@1 48
punk@1 49 instance BranchPred ¶Prelude®¶.¶Bits®¶ BranchPred.BrPair 64;
punk@1 50
punk@1 51 instance BranchPred ¶Prelude®¶.¶Eq®¶ BranchPred.BrPair;
punk@1 52
punk@1 53 data (BranchPred.CBranchPath :: *) = BranchPred.Valid BranchPred.BrPair | BranchPred.Invalid ();
punk@1 54
punk@1 55 instance BranchPred ¶Prelude®¶.¶PrimMakeUndefined®¶ BranchPred.CBranchPath;
punk@1 56
punk@1 57 instance BranchPred ¶Prelude®¶.¶PrimDeepSeqCond®¶ BranchPred.CBranchPath;
punk@1 58
punk@1 59 instance BranchPred ¶Prelude®¶.¶PrimMakeUninitialized®¶ BranchPred.CBranchPath;
punk@1 60
punk@1 61 instance BranchPred ¶Prelude®¶.¶Bits®¶ BranchPred.CBranchPath 65;
punk@1 62
punk@1 63 instance BranchPred ¶Prelude®¶.¶Eq®¶ BranchPred.CBranchPath;
punk@1 64
punk@1 65 interface (BranchPred.BranchPred :: *) = {
punk@1 66 BranchPred.get :: ProcTypes.Addr -> BranchPred.BrPred {-# arg_names = [pres] #-};
punk@1 67 BranchPred.upd :: ProcTypes.Addr -> ProcTypes.Addr -> ¶Prelude®¶.¶Action®¶ {-# arg_names = [pres,
punk@1 68 next] #-}
punk@1 69 };
punk@1 70
punk@1 71 instance BranchPred ¶Prelude®¶.¶PrimMakeUndefined®¶ BranchPred.BranchPred;
punk@1 72
punk@1 73 instance BranchPred ¶Prelude®¶.¶PrimDeepSeqCond®¶ BranchPred.BranchPred;
punk@1 74
punk@1 75 instance BranchPred ¶Prelude®¶.¶PrimMakeUninitialized®¶ BranchPred.BranchPred;
punk@1 76
punk@1 77 BranchPred.mkBranchPred :: (¶Prelude®¶.¶IsModule®¶ _m__ _c__) => _m__ BranchPred.BranchPred
punk@1 78 }