anchor.diff:     FloatAlu#(FP_MUL_DEPTH) mul   <- mkFloatMultiplier(defaultValue);
      FloatAlu#(FP_ADD_DEPTH) adder <- mkFloatAdder(defaultValue);
   
  -   FIFOF#(Float)                          afifo   <- mkFIFOF();
  +   FIFOF#(Float)                          afifo   <- mkFIFOF1();
      PipeOut#(Float)                        aFunnel <- mkRepeat(repetitions, toPipeOut(afifo));
   
  -   Vector#(K, FIFOF#(Float))              bfifos <- replicateM(mkFIFOF());
  +   Vector#(K, FIFOF#(Float))              bfifos <- replicateM(mkFIFOF1());
      Vector#(K, PipeOut#(Float))            bPipes = map(toPipeOut,bfifos);
      PipeOut#(Float)                        bFunnel <- mkFunnelPipes1(bPipes);
   
  
positive.code: 	 lastMulin[chan] <= cycles;
        end
  
        for (Integer i = 0; i < 2; i=i+1)
  	 chanFifos[i].enq(chan);
        chanReg <= (chan + 1);
        let a <- toGet(aFunnel).get();
        let b <- toGet(bFunnel).get();
  
negative.code:    interface PipeOut#(Float) pipe;
  endinterface
  
  //(* synthesize *)
  module [Module] mkDotProdServer#(UInt#(TLog#(TMul#(J,K))) label)(DotProdServer#(N));
  
     let n = valueOf(N);
  