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 +}