anchor.diff:        rStartReg <= start;
      endmethod
   
  -   method Action start();
  -      docall(HCS1, HCSComplere, {aStart: 0, aLen: aLenReg,
  -	 bStart: 0, bLen: bLenReg}, {0, 0})
  -   endmethod
      
  -   interface FSM fsm = hC;
  +   interface FSM fsm;
  +      method Action start();
  +         $display("HirschC running");
  +	 fr.docall(HCS1, HCSComplete, CArgs{aStart: 0, aLen: aLenReg,
  +	    bStart: 0, bLen: bLenReg}, CVars {midi: 0, maxj: 0});
  +      endmethod
  +      method Bool done();
  +	 return(fr.pc == HCSIdle);
  +      endmethod
  +      method Action waitTillDone();
  +      endmethod
  +      method Action abort();
  +      endmethod
  +   endinterface: fsm
   
   endmodule
  
positive.code:    Reg#(Bit#(8)) aData <- mkReg(0);
     Reg#(Bit#(8)) bData <- mkReg(0);
     Reg#(Bit#(14)) outcounter <- mkReg(0);
  
  /*
   * HirschC(Astart, Alen, Bstart, Blen, output fifo)
  
negative.code:  */
     
    // This FSM searches string B looking for the first char of string A
     Stmt hirschC2Stmt =
     seq
        $display("hirschC2Stmt running ");
        // read A[0]
        strA.request.put(BRAMRequest{write: False, responseOnWrite: False, address: fr.args.aStart, datain: ?});
        action
  