anchor.diff:              address:{ptr,p}, datain:?});
   	 offs1[i].enq(off);
         endrule
  -      rule stage5;
  +      rule stage5; // Concatenate page base address from sglist entry with LSB offset bits from request and return
   	 Page page <- portsel(pages, i).response.get;
   	 let offset <- toGet(offs1[i]).get();
   	 //$display("p ages[%d].response page=%h offset=%h", i, page, offset);
  
positive.code: 	 idxOffsets1[i].enq(idxOffset);
  	 ptrs1[i].enq(req.id);
        endrule
        rule stage4;
  	 let off <- toGet(offs0[i]).get();
  	 let pbase <- toGet(pbases[i]).get();
  	 let idxOffset <- toGet(idxOffsets1[i]).get();
  
negative.code:    endfunction
     
     for (Integer i = 0; i < 2; i=i+1)
        rule stage1;  // first read in the address cutoff values between regions
  	 ReqTup req <- toGet(incomingReqs[i]).get();
  	 portsel(regall, i).request.put(BRAMRequest{write:False, responseOnWrite:False,
              address:truncate(req.id), datain:?});
  	 reqs0[i].enq(req);
        endrule
  
     // pipeline the address lookup
     for(Integer i = 0; i < 2; i=i+1) begin
        rule stage2; // Now compare address cutoffs with requested offset
  	 ReqTup req <- toGet(reqs0[i]).get;
  	 Region regionall <- portsel(regall,i).response.get;
  	 
           Page off = truncate(req.off >> valueOf(SGListPageShift0));
           Page4 off4 = truncate(req.off >> valueOf(SGListPageShift4));
           Page4 off8 = truncate(req.off >> valueOf(SGListPageShift8));
  	 let cond8 = off8 < truncate(regionall.reg8.barrier);
  	 let cond4 = off4 < truncate(regionall.reg4.barrier);
  	 let cond0 = off < regionall.reg0.barrier;
  	 
  	 conds[i].enq(tuple3(cond8,cond4,cond0));
  	 idxOffsets0[i].enq(tuple3(regionall.reg8.idxOffset,regionall.reg4.idxOffset, regionall.reg0.idxOffset));
  	 reqs1[i].enq(req);
        endrule
        rule stage3; // Based on results of comparision, select a region, putting it into 'o.pageSize'.  idxOffset holds offset in sglist table of relevant entry
  	 ReqTup req <- toGet(reqs1[i]).get;
  	 Offset o = Offset{pageSize: 0, value: truncate(req.off)};
  	 Bit#(IndexWidth) pbase = 0;
  	 Bit#(IndexWidth) idxOffset = 0;
  