import List::*; // List::select; import UBit::*; interface SFIFO #(type t); method Action enq(t val); method t first(); method Action deq(); method Action clear(); method Bool isFull(); method Bool isEmpty(); endinterface // Max size of the module mkSFIFO #(Integer size) (SFIFO#(t)) provisos (Bits#(t, ts)); List#(Reg#(t)) rs = replicate(size, ?); Integer i; for (i=0; i