anchor.diff:     FIFOF#(void) aReady <- mkFIFOF;
      FIFOF#(void) bReady <- mkFIFOF;
      FIFOF#(void) mReady <- mkFIFOF;
  -   Stmt splice =
  +
  +   Stmt maxQuadratic =
      seq while(True)
      seq
         action
  
positive.code: 	 let rb <- bReady.deq();
  	 $display("Splice B Ready");
        endaction
        if (aLenReg > bLenReg)
  	 rLenReg <= aLenReg;
        else
  	 rLenReg <= bLenReg;
        for (ii <= 0; ii < rLenReg; ii <= ii + 1)
  	 seq
  	    $display("Splice ii %d ", ii);
  	    strA.portA.request.put(BRAMRequest{write: False, responseOnWrite: False, address: truncate(ii), datain: 0});
  	    strB.portA.request.put(BRAMRequest{write: False, responseOnWrite: False, address: truncate(ii), datain: 0});
  	    action
  	       let left <- strA.portA.response.get();
  	       let right <- strB.portA.response.get();
  	       aData <= left;
  	       bData <= right;
  	    endaction
  	    $display("aData %h bData %h", aData, bData);
  	    matL.portA.request.put(BRAMRequest{write: True, responseOnWrite: False, address: truncate(ii), datain: {aData, bData}});
  	 endseq
        indication.searchResult(unpack(rLenReg));
     endseq
     endseq;
     
     // create BRAM Write client for matL
  
  
negative.code:       indication.fetchComplete();
     endrule
  
     mkAutoFSM(maxQuadratic);
     
     method Action setupA(Bit#(32) strPointer, Bit#(32) strLen);
        aLenReg <= truncate(strLen);
        $display("setupA %h %d", strPointer, strLen);
        n2a.start(strPointer, 0, pack(truncate(strLen)), 0);
     endmethod
  
     method Action setupB(Bit#(32) strPointer, Bit#(32) strLen);
        bLenReg <= truncate(strLen);
        $display("setupB %h %d", strPointer, strLen);
        n2b.start(strPointer, 0, pack(truncate(strLen)), 0);
     endmethod
     
     method Action fetch(Bit#(32) strPointer, Bit#(32) dest, Bit#(32) src, Bit#(32) strLen);
        //rLenReg <= truncate(strLen);
        $display("fetch %h %h %h %h", strPointer, dest, src, strLen);
        l2n.start(strPointer, zeroExtend(dest), pack(truncate(strLen)), pack(truncate(src)));
     endmethod
  
     method Action start();
  