anchor.diff:     rule sinkDone;
         // each time we write a burst of k values via sinkC
         let b <- sinkC.vector.finish();
  -      let c = dpCount-fromInteger(k);
  -      $display("sinkDone c=%d k=%d", c, k);
  -      dpCount <= c;
  +      let c = dotprodCount-fromInteger(n);
  +      $display($format(fshow(cycles)+fshow("    sinkDone c")+fshow(c)));
  +      dotprodCount <= c;
         if (c == 0) begin
   	 running <= False;
   	 doneFifo.enq(?);
  
positive.code: 
     method Action start(ObjectPointer pointerA, UInt#(addrwidth) numRowsA, UInt#(addrwidth) numColumnsA,
  		       ObjectPointer pointerB, UInt#(addrwidth) numRowsB, UInt#(addrwidth) numColumnsB,
  		       ObjectPointer pointerC) if (dpCount == 0);
        XYRangeConfig#(UInt#(addrwidth)) xycfg = XYRangeConfig {xbase: 0, xlimit: numRowsA, xstep: 1,
  							      ybase: 0, ylimit: numRowsB, ystep: fromInteger(n) };
        descriptorA <= MatrixDescriptor { pointer: pointerA, base: 0, numRows: numRowsA, numColumns: numColumnsA};
        descriptorB <= MatrixDescriptor { pointer: pointerB, base: 0, numRows: numRowsB, numColumns: numColumnsB};
        descriptorC <= MatrixDescriptor { pointer: pointerC, base: 0, numRows: numRowsA, numColumns: numRowsB};
        dpCount <= numRowsA*numRowsB;
  
        $display("mm pointerA=%d pointerB=%d pointerC=%d\n", pointerA, pointerB, pointerC);
        if (verbose) $display("mm.start ra=%d ca=%d rb=%d cb=%d dpCount=%d", numRowsA, numColumnsA, numRowsB, numColumnsB, dpCount);
        if (verbose) $display($format(fshow("mm.start ")+fshow(xycfg)));
        xypipeifc.start(xycfg);
     endmethod
  
negative.code: 	    accum = accumFifo[i].first();
  	    accumFifo[i].deq();
  	 end
  	 if (verbose) $display($format(fshow("label=")+fshow(label)+fshow(" dotprod x=") + fshow(x) + fshow(" y=") + fshow(y) + fshow(" accum=")+fshow(pack(accum))));
           macs[i].request.put(tuple4(accum, x[i], y[i], defaultValue));
  	 if (i == 0) begin
  	    let c = countInReg + fromInteger(valueOf(n));
  	    if (c >= numElts)
  	       c = 0;
  	    countInReg <= c;
  	 end
  