anchor.diff:        match {.idx, .cmd} <- toGet(cmds_in_funnel[0]).get;
         outs1[idx] <= outs1[idx]+1;
         cmdBuf.enq(idx,cmd);
  +      //$display("store_cmd %d", idx);
      endrule
      
      rule load_ctxt_a;
  
positive.code: 	     Min#(2,TLog#(numServers),bpc),
  	     FunnelPipesPipelined#(1,numServers,Tuple2#(Bit#(serverIdxSz),MemengineCmd),bpc),
  	     FunnelPipesPipelined#(1,numServers,Tuple2#(Bit#(dataWidth),Bool),bpc));
     let rv <- mkMemreadEngineBuff(64, 2);
     return rv;
  endmodule
  
  
negative.code:       rs[i] = (interface Server#(MemengineCmd,Bool);
  		  interface Put request;
  		     method Action put(MemengineCmd c) if (outs0[i] < cmd_q_depth);
  			if(c.burstLen > fromInteger(maxBurstLen)) 
  			   $display("mkMemreadEngineV.store_cmd::unsupportedBurstLen");
  	 		outs0[i] <= outs0[i]+1;
  			cmds_in[i].enq(tuple2(fromInteger(i),c));
   		     endmethod
  		  endinterface
  		  interface Get response;
  