anchor.diff:        if (clientInFlight[loadIdx]) begin
   	 load_in_progress <= True;
   	 let cmd = clientCommand[loadIdx];
  -	 let first_burst = clientFirstBurst[loadIdx];
            let last_burst = cmd.len <= extend(cmd.burstLen);
            Bit#(BurstLenSize) cmd_len = cmd.burstLen;
   	 if (last_burst)
                cmd_len = truncate(cmd.len);
   	 let cond0 <- clientAvail[loadIdx].maybeDecrement(unpack(extend(cmd_len>>beat_shift)));
  -	 serverCheckAvail.enq(tuple5(cmd,cond0,first_burst,last_burst,cmd_len));
  +	 serverCheckAvail.enq(tuple4(cmd,cond0,last_burst,cmd_len));
   	 if (verbose) $display("mkMemReadEngineBuff::%d load_ctxt_b clientAvail[%d] %d burstLen %d cond0 %d last_burst %d", counter, loadIdx, clientAvail[loadIdx].read(), cmd_len>>beat_shift, cond0, last_burst);
         end
         else begin
  
positive.code:       else begin
  	 respCnt <= new_respCnt;
        end
        clientDataFifo[idx].enq(MemDataF { data: d.data, tag: d.tag,
           first: //first_burst && 
  (respCnt == 0), last: l});
     endrule
  
     Vector#(numServers, MemReadEngineServer#(userWidth)) rs;
  
negative.code:    rule load_ctxt_c if (load_in_progress);
        load_in_progress <= False;
        incr_loadIdx;
        match {.cmd,.cond0,.last_burst,.cmd_len} <- toGet(serverCheckAvail).get;
        if  (cond0) begin
  	 if (verbose) $display("mkMemReadEngineBuff::%d load_ctxt_c cmd.len %d idx %d cond0 %d last_burst %d", counter, cmd.len, loadIdx, cond0, last_burst);
  	 serverRequest.enq(tuple4(truncate(loadIdx),cmd,last_burst,cmd_len));
  	 if (last_burst) begin
  	    if (verbose) $display("mkMemReadEngineBuff::%d load_ctxt_b last_burst %d", counter, last_burst);
  	    clientInFlight[loadIdx] <= False;
  