anchor.diff:                interface Put readData = null_put;
              endinterface);
   endfunction
  -
  -function  MemWriteClient#(busWidth) null_mem_write_client();
  -   return (interface MemWriteClient;
  -              interface Get writeReq = null_get;
  -              interface Get writeData = null_get;
  -              interface Put writeDone = null_put;
  -           endinterface);
  -endfunction
  -
  -function  MemReadClient#(busWidth) null_mem_read_client();
  -   return (interface MemReadClient;
  -              interface Get readReq = null_get;
  -              interface Put readData = null_put;
  -           endinterface);
  -endfunction
  
positive.code:    Bool last;
     } MemDataF#(numeric type dsz) deriving (Bits);
  
  typedef struct {
     Bit#(MemTagSize) tag;
     Bit#(32)         cycles;
     } MemRequestCycles deriving (Bits);
  
  //
  ///////////////////////////////////////////////////////////////////////////////////
  
  
  ///////////////////////////////////////////////////////////////////////////////////
  //
  
  interface MemReadClient#(numeric type dsz);
     interface Get#(MemRequest)    readReq;
     interface Put#(MemData#(dsz)) readData;
  endinterface
  
  interface MemWriteClient#(numeric type dsz);
     interface Get#(MemRequest)    writeReq;
     interface Get#(MemData#(dsz)) writeData;
     interface Put#(Bit#(MemTagSize))       writeDone;
  endinterface
  
  interface MemReadServer#(numeric type dsz);
     interface Put#(MemRequest) readReq;
     interface Get#(MemData#(dsz))     readData;
  endinterface
  
  interface MemWriteServer#(numeric type dsz);
     interface Put#(MemRequest) writeReq;
     interface Put#(MemData#(dsz))     writeData;
     interface Get#(Bit#(MemTagSize))           writeDone;
  endinterface
  
  interface MemServer#(numeric type dataWidth);
     interface MemReadServer#(dataWidth) readServer;
     interface MemWriteServer#(dataWidth) writeServer;
  endinterface
  
  //
  ///////////////////////////////////////////////////////////////////////////////////
  
negative.code: 
  `include "ProjectConfig.bsv"
  
  typedef 44 MemOffsetSize;
  `ifdef MemTagSize
  typedef `MemTagSize MemTagSize;
  