view core/sim/bdir_dut/BranchPred.bi @ 1:91a1f76ddd62 pygar svn.2

[svn r2] Adding initial lab 5 source
author punk
date Tue, 13 Apr 2010 17:34:33 -0400
parents
children
line wrap: on
line source
1 signature BranchPred where {
2 import ¶Counter®¶;
4 import ¶FIFOF_®¶;
6 import ¶FIFOF®¶;
8 import ¶FIFO®¶;
10 import ¶Inout®¶;
12 import ¶List®¶;
14 import ¶Clocks®¶;
16 import ¶ListN®¶;
18 import ¶PrimArray®¶;
20 import ¶RegFile®¶;
22 import ¶Vector®¶;
24 import ¶Connectable®¶;
26 import ¶GetPut®¶;
28 import ¶ClientServer®¶;
30 import Trace;
32 import ProcTypes;
34 type (BranchPred.BrPred :: *) = ¶Prelude®¶.¶Maybe®¶ ProcTypes.Addr;
36 type (BranchPred.BPindx :: *) = ¶Prelude®¶.¶Bit®¶ 4;
38 struct (BranchPred.BrPair :: *) = {
39 BranchPred.brpc :: ProcTypes.Addr;
40 BranchPred.nextpc :: ProcTypes.Addr
41 };
43 instance BranchPred ¶Prelude®¶.¶PrimMakeUndefined®¶ BranchPred.BrPair;
45 instance BranchPred ¶Prelude®¶.¶PrimDeepSeqCond®¶ BranchPred.BrPair;
47 instance BranchPred ¶Prelude®¶.¶PrimMakeUninitialized®¶ BranchPred.BrPair;
49 instance BranchPred ¶Prelude®¶.¶Bits®¶ BranchPred.BrPair 64;
51 instance BranchPred ¶Prelude®¶.¶Eq®¶ BranchPred.BrPair;
53 data (BranchPred.CBranchPath :: *) = BranchPred.Valid BranchPred.BrPair | BranchPred.Invalid ();
55 instance BranchPred ¶Prelude®¶.¶PrimMakeUndefined®¶ BranchPred.CBranchPath;
57 instance BranchPred ¶Prelude®¶.¶PrimDeepSeqCond®¶ BranchPred.CBranchPath;
59 instance BranchPred ¶Prelude®¶.¶PrimMakeUninitialized®¶ BranchPred.CBranchPath;
61 instance BranchPred ¶Prelude®¶.¶Bits®¶ BranchPred.CBranchPath 65;
63 instance BranchPred ¶Prelude®¶.¶Eq®¶ BranchPred.CBranchPath;
65 interface (BranchPred.BranchPred :: *) = {
66 BranchPred.get :: ProcTypes.Addr -> BranchPred.BrPred {-# arg_names = [pres] #-};
67 BranchPred.upd :: ProcTypes.Addr -> ProcTypes.Addr -> ¶Prelude®¶.¶Action®¶ {-# arg_names = [pres,
68 next] #-}
69 };
71 instance BranchPred ¶Prelude®¶.¶PrimMakeUndefined®¶ BranchPred.BranchPred;
73 instance BranchPred ¶Prelude®¶.¶PrimDeepSeqCond®¶ BranchPred.BranchPred;
75 instance BranchPred ¶Prelude®¶.¶PrimMakeUninitialized®¶ BranchPred.BranchPred;
77 BranchPred.mkBranchPred :: (¶Prelude®¶.¶IsModule®¶ _m__ _c__) => _m__ BranchPred.BranchPred
78 }