Mercurial > pygar
annotate core/sim/bdir_dut/BranchPred.bi @ 8:74716e9a81cc pygar svn.9
[svn r9] Pygar now has the proper directory structure to play nicely with awb. Also, the apm file for audio-core willcompile successfully.
author | rlm |
---|---|
date | Fri, 23 Apr 2010 02:32:05 -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 } |