Mercurial > pygar
comparison core/sim/bdir_dut/BRegFile.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 |
comparison
equal
deleted
inserted
replaced
0:6d1ff93e3afa | 1:91a1f76ddd62 |
---|---|
1 signature BRegFile where { | |
2 import ¶Counter®¶; | |
3 | |
4 import ¶FIFOF_®¶; | |
5 | |
6 import ¶FIFOF®¶; | |
7 | |
8 import ¶FIFO®¶; | |
9 | |
10 import ¶Inout®¶; | |
11 | |
12 import ¶List®¶; | |
13 | |
14 import ¶Clocks®¶; | |
15 | |
16 import ¶ListN®¶; | |
17 | |
18 import ¶PrimArray®¶; | |
19 | |
20 import ¶RWire®¶; | |
21 | |
22 import ¶RegFile®¶; | |
23 | |
24 import ¶Vector®¶; | |
25 | |
26 import ¶Connectable®¶; | |
27 | |
28 import ¶GetPut®¶; | |
29 | |
30 import ¶ClientServer®¶; | |
31 | |
32 import Trace; | |
33 | |
34 import ProcTypes; | |
35 | |
36 interface (BRegFile.BRegFile :: * -> * -> *) index_t data_t = { | |
37 BRegFile.upd :: index_t -> data_t -> ¶Prelude®¶.¶Action®¶ {-# arg_names = [addr, ¡data¡] #-}; | |
38 BRegFile.sub :: index_t -> data_t {-# arg_names = [addr] #-} | |
39 }; | |
40 | |
41 instance BRegFile (¶Prelude®¶.¶PrimMakeUndefined®¶ data_t) => | |
42 ¶Prelude®¶.¶PrimMakeUndefined®¶ (BRegFile.BRegFile index_t data_t); | |
43 | |
44 instance BRegFile ¶Prelude®¶.¶PrimDeepSeqCond®¶ (BRegFile.BRegFile index_t data_t); | |
45 | |
46 instance BRegFile ¶Prelude®¶.¶PrimMakeUninitialized®¶ (BRegFile.BRegFile index_t data_t); | |
47 | |
48 BRegFile.mkBRegFile :: (¶Prelude®¶.¶Bounded®¶ index_t, | |
49 ¶Prelude®¶.¶Eq®¶ index_t, | |
50 ¶Prelude®¶.¶Bits®¶ data_t size_data, | |
51 ¶Prelude®¶.¶Bits®¶ index_t size_index, | |
52 ¶Prelude®¶.¶IsModule®¶ _m__ _c__) => | |
53 _m__ (¶RegFile®¶.¶RegFile®¶ index_t data_t) | |
54 } |