anchor.diff:  	 method Action put(PhysMemRequest#(busAddrWidth, busDataWidth) req);
   	    writeAddrGenerator.request.put(req);
               writeByteEnableFifo.enq(reqLastByteEnable(req));
  -            if (verbose) $display("%d write_server.writeAddr %h bc %d fbe %x lbe %x", cycles, req.addr, req.burstLen, req.firstbe, req.lastbe);
  +            if (verbose) $display("%d write_server.writeAddr %h bc %d fbe %x lbe %x", cycles, req.addr, req.burstLen
  +`ifdef BYTE_ENABLES
  +               , req.firstbe, req.lastbe
  +`endif
  +               );
   	 endmethod
         endinterface
         interface Put writeData;
   	 method Action put(MemData#(busDataWidth) resp);
   	    let addrBeat <- writeAddrGenerator.addrBeat.get();
   	    let addr = addrBeat.addr;
  -	    Bit#(bramAddrWidth) regFileAddr = truncate(addr/fromInteger(valueOf(TDiv#(busDataWidth,8))));
  -            let byteEnable <- toGet(writeByteEnableFifo).get();
  +	    Bit#(bramAddrWidth) regFileAddr = truncate(addr << fromInteger(valueOf(TLog#(TDiv#(busDataWidth,8)))));
  +            let writeBE = writeByteEnableFifo.first;
  +            Bit#(dataWidthBytes) byteEnable = addrBeat.last ? writeBE : maxBound;
               br.request.put(BRAMRequestBE{writeen:byteEnable, responseOnWrite:False, address:regFileAddr, datain:resp.data});
               if (verbose) $display("%d write_server.writeData %h %h %d", cycles, addr, resp.data, addrBeat.bc);
               if (addrBeat.last)
  +               writeByteEnableFifo.deq;
                  writeTagFifo.enq(addrBeat.tag);
   	 endmethod
         endinterface
  
positive.code:    interface PhysMemReadServer read_server;
        interface Put readReq;
  	 method Action put(PhysMemRequest#(busAddrWidth, busDataWidth) req);
              if (verbose) $display("%d read_server.readAddr %h bc %d fbe %x lbe %x", cycles, req.addr, req.burstLen, req.firstbe, req.lastbe);
  	    readAddrGenerator.request.put(req);
              readByteEnableFifo.enq(reqLastByteEnable(req));
  	 endmethod
  
negative.code: 	    readTagFifo.deq;
  	    readLastFifo.deq;
              let data <- br.response.get;
              let readBE = readByteEnableFifo.first;
              Bit#(dataWidthBytes) byteEnable = readLastFifo.first ? readBE : maxBound;
              let newdata = updateDataWithMask(0, data, byteEnable);
              if (verbose) $display("%d read_server.readData (b) %h, %h", cycles, data, newdata);
              if (readLastFifo.first) begin
                 readByteEnableFifo.deq;
              end
              return MemData { data: newdata, tag: tag, last: readLastFifo.first };
  	 endmethod
        endinterface
  