anchor.diff:  
      rule sinkDone;
         // each time we write a burst of k values via sinkC
  -      let xy = xypipes[k+1].first;
  -      xypipes[k+1].deq;
  +      let xy = indexpipes[k+1].first;
  +      indexpipes[k+1].deq;
         let b <- sinkC.vector.finish();
         let c = dotprodCount-fromInteger(k);
         if (verbose) $display($format(fshow(cycles)+fshow("    sinkDone c")+fshow(c)+fshow("    xy=")+fshow(xy)));
  
positive.code:       FIFO#(UInt#(addrwidth)) startCFifo <- mkFIFO();
        FIFO#(UInt#(addrwidth))    colFifo <- mkFIFO();
        rule startDotProd1;
  	 Tuple2#(UInt#(addrwidth),UInt#(addrwidth)) xy = xypipes[i].first;
  	 xypipes[i].deq();
  	 
  	 let row = tpl_1(xy);
  	 let col = tpl_2(xy)+fromInteger(i);
  
negative.code:    end
  
     rule dotProdValue;
        Tuple2#(UInt#(addrwidth),UInt#(addrwidth)) xy = indexpipes[k].first;
        indexpipes[k].deq;
        Vector#(K,Float) vs;
        for (Integer i = 0; i < k; i = i + 1) begin
  	 let v = fxdotprods[i].pipe.first;
  