anchor.diff:        while(True) seq
   	 if (statusRing.notFull() && copyEngine.response.notEmpty())
   	    for (ii <= 1; ii < 8; ii <= ii + 1)
  -	       action;
  +	       action
   		  status_write_chan.writeReq.put(statusRing.expBufferFirst);
  -		  status_write_chan.writeDataq.put(copyEngine.get());
  +		  status_write_chan.writeData.put(copyEngine.get());
   		  statusRing.push(8);
   	       endaction
   	 if (statusRing.notFull() && echoEngine.response.notEmpty())
   	    for (ii <= 1; ii < 8; ii <= ii + 1)
  -	       action;
  +	       action
   		  status_write_chan.writeReq.put(statusRing.expBufferFirst);
  -		  status_write_chan.writeDataq.put(ehoEngine.get());
  +		  status_write_chan.writeData.put(echoEngine.get());
   		  statusRing.push(8);
   	       endaction
         endseq
      endseq;
      
  -   
      rule copyCompletion;
         let v <- ce.response.get();
  -      indication.coreIndication.completion(1, v);
  +      indication.ringIndication.completion(1, v);
      endrule
   
      mkAutoFSM (cmdFetch);
      mkAutoFSM (cmdDispatch);
      mkAutoFSM (cmdCompletion);
   
  -   interface CoreRequest coreRequest;
  +   interface RingRequest ringRequest;
   
         // to start a command, doCommand fires off a memory read to the
         // specified address. when it comes back, the doCommandRule will
  
positive.code:        
     endinterface
  
  `ifndef BSIM
     interface Axi3Master m_axi = dma.m_axi;
  `endif
     interface DMARequest dmaRequest = dma.request;
  endmodule
negative.code: import StmtFSM::*;
  import ClientServer::*;
  
  import PortalMemory::*;
  import PortalRMemory::*;
  import GetPutF::*;
  