anchor.diff:  	 for(Integer i = 0; i < valueOf(NumEngineServers); i=i+1) begin
   	    iterCnts[i] <= ic;
   	    mismatchCounts[i] <= 0;
  -	    srcGens[i] <= fromInteger(i)*(nw/fromInteger(valueOf(NumEngineServers)));      
   	 end
         endmethod
      endinterface
  
positive.code: 	 mismatchFifos[i].enq(mismatchCounts[i]);
        endrule
        rule check;
  	 let v <- toGet(re.dataPipes[i]).get;
  	 let expectedV = {srcGens[i]+1,srcGens[i]};
  	 let misMatch = v != expectedV;
  	 mismatchCounts[i] <= mismatchCounts[i] + (misMatch ? 1 : 0);
  	 let new_srcGens = srcGens[i]+2;
  	 if (new_srcGens >= fromInteger(i+1)*truncate(chunk/4))
  	    new_srcGens = fromInteger(i)*truncate(chunk/4); 
  	 srcGens[i] <= new_srcGens;
        endrule
     end
     
  
negative.code: import GetPut::*;
  import ClientServer::*;
  
  import Arith::*;
  import Pipe::*;
  import MemTypes::*;
  import MemreadEngine::*;
  