anchor.diff:     interface PipeOut#(Float) pipe;
   endinterface
   
  -(* synthesize *)
  +//(* synthesize *)
   module [Module] mkDotProdServer#(UInt#(TLog#(TMul#(J,K))) label)(DotProdServer#(N));
   
      let n = valueOf(N);
  
positive.code:    FloatAlu#(FP_MUL_DEPTH) mul   <- mkFloatMultiplier(defaultValue);
     FloatAlu#(FP_ADD_DEPTH) adder <- mkFloatAdder(defaultValue);
  
     FIFOF#(Float)                          afifo   <- mkFIFOF();
     PipeOut#(Float)                        aFunnel <- mkRepeat(repetitions, toPipeOut(afifo));
  
     Vector#(K, FIFOF#(Float))              bfifos <- replicateM(mkFIFOF());
     Vector#(K, PipeOut#(Float))            bPipes = map(toPipeOut,bfifos);
     PipeOut#(Float)                        bFunnel <- mkFunnelPipes1(bPipes);
  
  
negative.code:       for (Integer k = 0; k < kk; k = k + 1) begin
  	 startBOffset[k] <= fromInteger(k)*numColumnsB;
        end
  
        $dumpfile("test.vcd");
        $dumpvars();
     endmethod
     method ActionValue#(Bool) finish();
        if (verbose) $display("mm.finish()");
        doneFifo.deq();
        $dumpoff();
        return True;
     endmethod
  
  