anchor.diff:  endinterface
   
   typedef struct {
  +   DmaErrorType error;
      Bit#(3) pageSize;
      Bit#(SGListPageShift12) value;
   } Offset deriving (Eq,Bits,FShow);
  
positive.code: 	    3: rv = {b8,truncate(offset.value)};
  	    4: rv = {b12,truncate(offset.value)};
  	 endcase
  	 pageResponseFifos[i].enq(AddrTransResponse { error: DmaErrorNone, physAddr: truncate(rv) });
        endrule
     end
  
  
negative.code:       rule stage3; // Based on results of comparision, select a region, putting it into 'o.pageSize'.  idxOffset holds offset in sglist table of relevant entry
  	 let params <- toGet(stage3Params[i]).get();
  	 AddrTransRequest req = params.req;
  	 Offset o = Offset { error: DmaErrorNone, pageSize: 0, value: truncate(req.off)};
  	 Bit#(IndexWidth) pbase = 0;
  	 Bit#(IndexWidth) idxOffset = 0;
  
  