anchor.diff:  	 let col <- toGet(colFifo).get();
   	 if (i == 0) begin
   	    let startC <- toGet(startCFifo).get();
  -	    startC = startC + col;
   	    sinkC.vector.start(descriptorC.pointer, pack(extend(startC>>nshift)), fromInteger(k/n));
   	    if (verbose || verbose1) $display($format(fshow(cycles)+fshow("      sinkC[")+fshow(in)+fshow("].start")+fshow(startC)));
   	 end
  
positive.code: 	    sourceA[0].start(descriptorA.pointer, pack(extend(startA>>nshift)), pack(extend(descriptorA.numColumns>>nshift)));
  	    if (verbose || verbose1) $display($format(fshow(cycles)+fshow("    sourceA[0].start")+fshow(startA)));
  	 end
  	 let startB = col*descriptorB.numColumns; // col major layout (pre-transposed)
  	 sourceB[i].start(descriptorB.pointer, pack(extend(startB>>nshift)), pack(extend(descriptorB.numColumns>>nshift)));
        endrule
        if (i == 0)
  
negative.code: 	    startAFifo.enq(startA);
  	 end
  	 colFifo.enq(col);
  	 startBFifo.enq(startB);
  	 if (verbose || verbose1) $display($format(fshow(cycles)+fshow("    sourceB[")+fshow(in)+fshow("].start")+fshow(startB)));
        endrule
        rule startDotProd2;
  