anchor.diff:  import Dma::*;
   import DmaUtils::*;
   import Dma2BRAM::*;
  +
  +// algorithm
  +import HirschA::*;
   
   /* This module solves the maximum common subsequence problem.
    * It finds the longest subsequence of characters present in both input strings
  
positive.code:   Reg#(Bit#(7)) jj <- mkReg(0);
     Reg#(Char) aData <- mkReg(0);
     Reg#(Char) bData <- mkReg(0);
     Reg#(Bit#(16)) lim1jm1 <- mkReg(0);
     Reg#(Bit#(16)) lim1j <- mkReg(0);
     Reg#(Bit#(16)) lijm1 <- mkReg(0);
     BRAM2Port#(StringIdx, Char) strA  <- mkBRAM2Server(defaultValue);
     BRAM2Port#(StringIdx, Char) strB <- mkBRAM2Server(defaultValue);
     BRAM2Port#(LIdx, Bit#(16)) matL <- mkBRAM2Server(defaultValue);
  
negative.code:       indication.fetchComplete();
     endrule
  
     mkHirschA(strA.portA, strB.portA, matL.portA)
     mkFSM(hirschB);
     
     method Action setupA(Bit#(32) strPointer, Bit#(32) strLen);
        aLenReg <= truncate(strLen);
  