anchor.diff:     Reg#(SharedMemoryPortalState) state <- mkReg(Idle);
      Reg#(Bit#(32)) sglIdReg <- mkReg(0);
      Reg#(Bool)     readyReg   <- mkReg(False);
  -   MIFO#(4,1,4,Bit#(32)) readMifo <- mkMIFO();
  +   MIMOConfiguration mimoConfig = defaultValue;
  +   MIMO#(4,1,4,Bit#(32)) readMimo <- mkMIMO(mimoConfig);
   
      let verbose = False;
   
  
positive.code:    endrule
  
     rule drain if (state == Drain);
        let vec <- toGet(readMifo).get();
        if (countReg == 1)
           state <= UpdateTail;
        countReg <= countReg - 1;
     endrule
  
     rule receiveMessage if (state == MessageRequested);
        let vec <- toGet(readMifo).get();
        let data = vec[0];
        if (verbose)
           $display("receiveMessage data=%x messageWords=%d wordCount=%d", data, messageWordsReg, countReg);
  
negative.code: import ClientServer::*;
  import Gearbox::*;
  import MIFO::*;
  import DefaultValue::*;
  import MIMO::*;
  import Pipe::*;
  import Portal::*;
  import MemTypes::*;
  