anchor.diff:  	     Add#(a__, serverIdxSz, cmdBuffAddrSz),
   	     Min#(2,TLog#(numServers),bpc),
   	     FunnelPipesPipelined#(1,numServers,Tuple2#(Bit#(serverIdxSz),MemengineCmd),bpc),
  -	     FunnelPipesPipelined#(1,numServers,Tuple2#(Bit#(dataWidth),Bool),bpc),
   	     Add#(d__, TLog#(numServers), TAdd#(1, serverIdxSz)),
   	     Add#(f__, serverIdxSz, 6));
      
  
positive.code:    Vector#(numServers, FIFOF#(Tuple2#(Bit#(serverIdxSz), MemengineCmd))) cmds_in <- replicateM(mkSizedFIFOF(1));
     FunnelPipe#(1, numServers, Tuple2#(Bit#(serverIdxSz), MemengineCmd),bpc) cmds_in_funnel <- mkFunnelPipesPipelined(map(toPipeOut,cmds_in));
  
     FIFOF#(Tuple2#(Bit#(TLog#(numServers)), Tuple2#(Bit#(dataWidth),Bool))) read_data <- mkFIFOF;
     UnFunnelPipe#(1, numServers, Tuple2#(Bit#(dataWidth),Bool),bpc) read_data_unfunnel <- mkUnFunnelPipesPipelined(cons(toPipeOut(read_data),nil));
     Vector#(numServers, FIFOF#(Tuple2#(Bit#(dataWidth),Bool)))  read_data_buffs <- replicateM(mkSizedBRAMFIFOF(bufferSizeBeats));
     Vector#(numServers, PipeIn#(Tuple2#(Bit#(dataWidth),Bool))) foo = map(toPipeIn, read_data_buffs); 
     zipWithM(mkConnection, read_data_unfunnel, foo);
     function PipeOut#(Bit#(dataWidth)) check_out(PipeOut#(Tuple2#(Bit#(dataWidth),Bool)) x, Integer i) = 
        (interface PipeOut;
  	  method Bit#(dataWidth) first;
  	     return tpl_1(x.first);
  	  endmethod
  	  method Action deq;
  	     x.deq;
  	     buffCap[i].increment(1);
  	     if (tpl_2(x.first)) 
  		outfs[i].enq(?);
  	  endmethod
  	  method Bool notEmpty = x.notEmpty;
         endinterface);
     Vector#(numServers, PipeOut#(Bit#(dataWidth))) read_data_pipes = zipWith(check_out, map(toPipeOut,read_data_buffs), genVector);
     
  
negative.code: 	    return MemRequest { sglId: cmd.sglId, offset: cmd.base, burstLen:bl, tag: (cmd.tag << valueOf(serverIdxSz)) | extend(idx)};
  	 endmethod
        endinterface
        interface Put readData = toPut(read_data);
     endinterface 
     interface dataPipes = read_data_pipes;
     interface read_servers = zipWith(toMemreadServer, rs, read_data_pipes);
  