Constrain block to allocate dedicated non over-lapping address range space for 16 masters

In reply to sruthikrapa:

Try this

class address;
   int N = 16;
   int memRange = 'h1000;
   int memLimit = 'h400_0000;
   rand bit [26:0] addrs[];
   function new;
      addrs = new[N];
   endfunction

   constraint c{
		foreach(addrs[S]) if (S != N-1)
		   addrs[S] + memRange < addrs[S+1];
		else
		   addrs[S] + memRange < memLimit;
		}
		
endclass