Mercurial > pygar
diff core/sim/bdir_dut/SFIFO.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 diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/core/sim/bdir_dut/SFIFO.bi Tue Apr 13 17:34:33 2010 -0400 1.3 @@ -0,0 +1,51 @@ 1.4 +signature SFIFO where { 1.5 +import ¶ConfigReg®¶; 1.6 + 1.7 +import ¶FIFOF_®¶; 1.8 + 1.9 +import ¶FIFOF®¶; 1.10 + 1.11 +import ¶FIFO®¶; 1.12 + 1.13 +import ¶List®¶; 1.14 + 1.15 +import ¶Monad®¶; 1.16 + 1.17 +import ¶RWire®¶; 1.18 + 1.19 +interface (SFIFO.SFIFO :: * -> * -> *) alpha_T search_T = { 1.20 + SFIFO.enq :: alpha_T -> ¶Prelude®¶.¶Action®¶ {-# arg_names = [x] #-}; 1.21 + SFIFO.deq :: ¶Prelude®¶.¶Action®¶ {-# arg_names = [] #-}; 1.22 + SFIFO.first :: alpha_T {-# arg_names = [] #-}; 1.23 + SFIFO.clear :: ¶Prelude®¶.¶Action®¶ {-# arg_names = [] #-}; 1.24 + SFIFO.find :: search_T -> ¶Prelude®¶.¶Bool®¶ {-# arg_names = [x] #-}; 1.25 + SFIFO.find2 :: search_T -> ¶Prelude®¶.¶Bool®¶ {-# arg_names = [x] #-} 1.26 +}; 1.27 + 1.28 +instance SFIFO (¶Prelude®¶.¶PrimMakeUndefined®¶ alpha_T) => 1.29 + ¶Prelude®¶.¶PrimMakeUndefined®¶ (SFIFO.SFIFO alpha_T search_T); 1.30 + 1.31 +instance SFIFO (¶Prelude®¶.¶PrimDeepSeqCond®¶ alpha_T) => 1.32 + ¶Prelude®¶.¶PrimDeepSeqCond®¶ (SFIFO.SFIFO alpha_T search_T); 1.33 + 1.34 +instance SFIFO (¶Prelude®¶.¶PrimMakeUninitialized®¶ alpha_T) => 1.35 + ¶Prelude®¶.¶PrimMakeUninitialized®¶ (SFIFO.SFIFO alpha_T search_T); 1.36 + 1.37 +SFIFO.mkSFIFO :: (¶Prelude®¶.¶Bits®¶ alpha_T asz, ¶Prelude®¶.¶IsModule®¶ _m__ _c__) => 1.38 + (search_T -> alpha_T -> ¶Prelude®¶.¶Bool®¶) -> _m__ (SFIFO.SFIFO alpha_T search_T); 1.39 + 1.40 +SFIFO.mkSFIFO1 :: (¶Prelude®¶.¶Eq®¶ alpha_T, 1.41 + ¶Prelude®¶.¶Bits®¶ alpha_T asz, 1.42 + ¶Prelude®¶.¶IsModule®¶ _m__ _c__) => 1.43 + (search_T -> alpha_T -> ¶Prelude®¶.¶Bool®¶) -> _m__ (SFIFO.SFIFO alpha_T search_T); 1.44 + 1.45 +SFIFO.mkSizedSFIFOInternal :: (¶Prelude®¶.¶Bits®¶ alpha_T alpha_SZ, 1.46 + ¶Prelude®¶.¶IsModule®¶ _m__ _c__) => 1.47 + ¶Prelude®¶.¶Integer®¶ -> 1.48 + (search_T -> alpha_T -> ¶Prelude®¶.¶Bool®¶) -> 1.49 + (search_T -> alpha_T -> ¶Prelude®¶.¶Bool®¶) -> _m__ (SFIFO.SFIFO alpha_T search_T); 1.50 + 1.51 +SFIFO.mkSizedSFIFO :: (¶Prelude®¶.¶Bits®¶ alpha_T asz, ¶Prelude®¶.¶IsModule®¶ _m__ _c__) => 1.52 + ¶Prelude®¶.¶Integer®¶ -> 1.53 + (search_T -> alpha_T -> ¶Prelude®¶.¶Bool®¶) -> _m__ (SFIFO.SFIFO alpha_T search_T) 1.54 +}