Constraint for memories

In reply to kernalmode1:

class address;
   int N = 3;
   int memLimit = 8192;
   rand bit [15:0] addrs[];
   rand bit [15:0] sizes[]
   function new;
      addrs = new[N];
      sizes = new[N]
   endfunction
 
   constraint c{
		foreach(addrs[Range]) {if (Range != N-1)
		   addrs[Range] + sizes[Range] < addrs[Range+1];
		else
		   addrs[Range] + sizes[Range] < memLimit;
               sizes[Range] inside {[1:memLimit-1]};
		}
 
endclass