anchor.diff:  		reqState <= UpdateTail;
   	 end
   	 else begin
  -	    $display("receiveMessage tagged Invalid %x", maybedata);
  +	    //$display("receiveMessage tagged Invalid %x", maybedata);
  +	    reqState <= UpdateTail;
   	 end
         endrule
   
         rule updateTail if (reqState == UpdateTail);
  -	 $display("updateTail: tail=%d", reqTailReg);
  +	 //$display("updateTail: tail=%d", reqTailReg);
   	 // update the tail pointer
   	 writeEngine.writeServers[0].request.put(MemengineCmd {sglId: sglIdReg,
   							       base: 8,
  
positive.code:    MemreadEngineV#(64,2,2) readEngine <- mkMemreadEngine();
     MemwriteEngineV#(64,2,2) writeEngine <- mkMemwriteEngine();
  
     Reg#(Bit#(32)) sglIdReg <- mkReg(0);
     Reg#(Bool)     readyReg   <- mkReg(False);
  
     if (valueOf(numRequests) > 0) begin
        // read the head and tail pointers, if they are different, then read a request
        Reg#(Bit#(32)) limitReg <- mkReg(0);
        Reg#(Bit#(32)) reqHeadReg <- mkReg(0);
        Reg#(Bit#(32)) reqTailReg <- mkReg(0);
        Reg#(Bit#(16)) wordCountReg <- mkReg(0);
  
negative.code:       endrule
        rule waiting if (reqState == Waiting);
  	 let done <- writeEngine.writeServers[0].response.get();
  	 //$display("done waiting for write");
  	 reqState <= Idle;
        endrule
  
  