anchor.diff:        for (ii <= 1; ii <= aLenReg; ii <= ii + 1)
   	 seq
   	    //$display("hirschB ii = %d", ii);
  -	    /* Copy L[1] to L[0].  could pingpong instead, or unroll loop */
  -	    /* L[1] is stored in matL[0] and L[0] is stored in k0[1] so that the result is in the right place at the end */
  -	    for (jj <= 0; jj <= bLenReg; jj <= jj + 1)
  -	       seq
  -		  matL.request.put(BRAMRequest{write: False, responseOnWrite: False, address: rStartReg + zeroExtend(jj), datain: 0});
  -		  action
  -		     let ta <- matL.response.get();
  -		     k0.portA.request.put(BRAMRequest{write: True, responseOnWrite: False, address: rStartReg + zeroExtend(jj), datain: ta});
  -		  endaction
  -	       endseq
   	    /* initialize pipelining */
   	    k0j <= 0;
   	    k1j <= 0;
  
positive.code: 		     k0jm1 <= k0j;  /* pipeline from previous cycle */
  		     k1jm1 <= k1j;
  		     /* start read of k0j */
  		     k0.portA.request.put(BRAMRequest{write: False, responseOnWrite: False, address: zeroExtend(jj), datain: 0});
  		  endaction
  		  action
  		     let ta <- strA.response.get();
  		     let tb <- strB.response.get();
  		     let tk <- k0.portA.response.get();
  		     aData <= ta;
  		     bData <= tb;
  		     k0j <= tk;
  
negative.code: 		     k1j <= tmp;
  		  endaction
  		     //$display("     L[%d][%d] = %d ", ii, jj, k1j);
  	       endseq
  	 endseq
     endseq;
  