anchor.diff:     Reg#(Bool) invalidSegment <- mkReg(False);
   
      Reg#(Bool) inited <- mkReg(False);
  -   FIFO#(MemMgmtAllocReq#(numAllocClients)) mallcRequestFifo <- mkSizedFIFO(16);
  +   FIFOF#(MemMgmtAllocReq#(numAllocClients)) mallcRequestFifo <- mkSizedFIFOF(16);
      FIFO#(MemMgmtAllocReq#(numAllocClients)) currRequestFIfo <- mkFIFO;
      FIFO#(MemMgmtAllocResp#(numAllocClients)) mallocDoneFifo <- mkFIFO;
      FIFOF#(PktId) freeRequestFifo <- mkFIFOF;
  
positive.code:    FIFO#(Bool) freeDoneFifo <- mkFIFO;
     FIFO#(MemMgmtError) memMgmtErrorFifo <- mkFIFO;
     FIFO#(Bit#(PageIdx)) pagePointerFifo <- mkFIFO;
  
     MMUIndicationProxy proxy <- mkMMUIndicationProxy(
  `ifdef DEBUG
  
negative.code:       $display("MemMgmt:: %d handle_malloc allocate nPage=%d", cycle, nPages);
        let hasSpace <- freePageCount.maybeDecrement(unpack(nPages));
        if (hasSpace) begin
           stage2Params.enq(Stage2Params{
              nPages : nPages,
              request : v,
              mask : mask,
              id : id });
        end
     endrule
  
     rule handle_alloc_req2;
        let params <- toGet(stage2Params).get;
        reqBurstLen <= params.nPages;
        reqSglIndex <= 0;
        lastSegment <= tagged Invalid;
        barr0 <= extend(((params.request.req + params.mask) & (~params.mask)) >> valueOf(PageAddrLen));
        packetId <= truncate(params.id); // MaxNumPkts defined in SharedBuffMMU;
        currRequestFIfo.enq(params.request);
     endrule
  
     rule generate_sglist if (reqBurstLen > 0);
  