anchor.diff:        endrule
         rule waiting if (reqState == Waiting);
   	 let done <- writeEngine.writeServers[0].response.get();
  -	 $display("done waiting for write");
  +	 //$display("done waiting for write");
   	 reqState <= Idle;
         endrule
   
  
positive.code: 		reqState <= MessageRequested;
  	 end
  	 else begin
  	    $display("receiveMessageHeader tagged invalid %x", maybehdr);
  	 end
        endrule
  
  
negative.code: 	 let w1 = data[63:32];
  	 let head = reqHeadReg;
  	 let tail = reqTailReg;
  	 if (reqState == HeadRequested) begin
  	    reqLimitReg <= w0;
  	    reqHeadReg <= w1;
  	    head = w1;
  	    reqState <= TailRequested;
  	 end
  	 else begin
  	    if (reqTailReg == 0) begin
  	       tail = w0;
  	       reqTailReg <= tail;
  	    end
  	    if (tail != reqHeadReg)
  	       reqState <= RequestMessage;
  	    else
  	       reqState <= Idle;
  	 end
  	 if (head != tail)
  	    $display("receiveReqHeadTail state=%d w0=%x w1=%x", reqState, w0, w1);
        endrule
  
        rule requestMessage if (reqState == RequestMessage);
  	 Bit#(32) wordCount = reqHeadReg - reqTailReg;
  	 if ((reqTailReg & 1) == 1) begin
  	    $display("WARNING requestMessage: reqTail=%d is odd.", reqTailReg);
  	 end
  	 let tail = reqTailReg + wordCount;
  	 if (reqHeadReg < reqTailReg) begin
  	    $display("requestMessage wrapped: head=%d tail=%d", reqHeadReg, reqTailReg);
  	    wordCount = reqLimitReg - reqTailReg;
  	    tail = 4;
  	 end
  	 //$display("requestMessage id=%d tail=%h wordCount=%d", sglIdReg, reqTailReg, wordCount);
  
  	 reqTailReg <= tail;
  	 wordCountReg <= truncate(wordCount);
  	 demuxCountReg <= truncate(wordCount);
  	 let fetchCount = wordCount;
  