anchor.diff:  	    ,Add#(1, a__, numServers)
   	    ,Add#(b__, TLog#(numServers), TAdd#(1, TLog#(TMul#(cmdQDepth,numServers))))
   	    ,Pipe::FunnelPipesPipelined#(1, numServers,Tuple2#(Bit#(TLog#(numServers)), MemTypes::MemengineCmd), TMin#(2,TLog#(numServers)))
  -	    ,Pipe::FunnelPipesPipelined#(1, numServers, Tuple2#(Bit#(dataWidth), Bool),TMin#(2, TLog#(numServers)))
   	    ,Add#(c__, TLog#(numServers), TLog#(TMul#(cmdQDepth, numServers)))
   	    ,Add#(d__, TLog#(numServers), 6)
   	    );
  
positive.code:       end
     endrule
     
     function MemreadServer#(dataWidth) toMemreadServer(Server#(MemengineCmd,Bool) cs, PipeOut#(Bit#(dataWidth)) p) =
        (interface MemreadServer;
  	  interface cmdServer = cs;
  
negative.code: 	     Add#(a__, serverIdxSz, cmdBuffAddrSz),
  	     Min#(2,TLog#(numServers),bpc),
  	     FunnelPipesPipelined#(1,numServers,Tuple2#(Bit#(serverIdxSz),MemengineCmd),bpc),
  	     Add#(d__, TLog#(numServers), TAdd#(1, serverIdxSz)),
  	     Add#(f__, serverIdxSz, 6));
     
  