anchor.diff:  	    Bit#(TLog#(numIfcs)) wsv = truncate(psel(req.addr));
   	    if (wsv > fromInteger(valueOf(numInputs)))
   	       wsv = fromInteger(valueOf(numInputs));
  -	    ifcs[wsv].write_server.writeReq.put(MemRequest{addr:asel(req.addr), burstLen:req.burstLen, tag:req.tag});
  +	    req_aws.enq(MemRequest{addr:asel(req.addr), burstLen:req.burstLen, tag:req.tag});
  +	    req_aw_fifo.enq(?);
   	    ws <= wsv;
  -	    req_aw_fifo.enq(?);
   	 endmethod
         endinterface
         interface Put writeData;
  
positive.code:       return a[(port_sel_low-1):0];
     endfunction
     
     FIFO#(void) req_ar_fifo <- mkSizedFIFO(1);
     Reg#(Bit#(TLog#(numIfcs))) rs <- mkReg(0);
     
     FIFO#(void) req_aw_fifo <- mkSizedFIFO(1);
     Reg#(Bit#(TLog#(numIfcs))) ws <- mkReg(0);
     
     interface MemWriteServer write_server;
        interface Put writeReq;
  
negative.code: 	    Bit#(TLog#(numIfcs)) rsv = truncate(psel(req.addr)); 
  	    if (rsv > fromInteger(valueOf(numInputs)))
  	       rsv = fromInteger(valueOf(numInputs));
  	    req_ars.enq(MemRequest{addr:asel(req.addr), burstLen:req.burstLen, tag:req.tag});
  	    req_ar_fifo.enq(?);
  	    rs <= rsv;
  	 endmethod
  