anchor.diff:  import FIFOF::*;
   import SpecialFIFOs::*;
   import GetPutF::*;
  +import StmtFSM::*;
   //import Vector::*;
   import BRAM::*;
   //import Gearbox::*;
  
positive.code:    mkConnection(n2b.dmaClient, setupB_read_server);
     BRAMWriteClient#(LIdx, 16) l2n <- mkBRAMWriteClient(matL.portB);
  
     // create BRAM Write client for matL
  
     rule finish_setupA;
        $display("finish setupA");
        let x <- n2a.finish;
        indication.setupComplete;
     endrule
  
     rule finish_setupB;
        $display("finish setupB");
        let x <- n2b.finish;
        indication.setupComplete;
     endrule
  
  
negative.code:   Reg#(Bit#(32)) aLenReg <- mkReg(0);
    Reg#(Bit#(32)) bLenReg <- mkReg(0);
    Reg#(Bit#(32)) rLenReg <- mkReg(0);
    Reg#(Bit#(32)) copyCountReg <- mkReg(0);
    
     BRAM2Port#(StringIdx, Char) strA  <- mkBRAM2Server(defaultValue);
     BRAM2Port#(StringIdx, Char) strB <- mkBRAM2Server(defaultValue);
     
  
     BRAM2Port#(LIdx, Bit#(16)) matL <- mkBRAM2Server(defaultValue);
  
  