Constrain a 2D matrix in diamond fashion

I just gave a try. Feel free to optimize this code as much you want


class test;
  
  rand bit arr[8][8];
  bit [8:0] N = 3;
  constraint c1 {
     foreach(arr[i,j]) 
       arr[i][j] inside {[0:512]};}
    
   constraint c2 {
     foreach(arr[i]) {       // begin of parent foreach loop
       if((i==0) || (i==7)) {
         foreach(arr[j])
           if(j==3 || j==4)
             arr[i][j] ==1;
         else arr[i][j] ==0;
         
       }
            
         if((i==1) || (i==6)) {
         foreach(arr[j])
           if(j== 0 || j==1 || j==6 || j==7)
             arr[i][j] ==0;
           else arr[i][j] ==1;
         
       }
           
           if((i==2) || (i==5)) {
         foreach(arr[j])
           if(j== 0 || j==7)
             arr[i][j] ==0;
           else arr[i][j] ==1;
         
       }
             
             if((i==3) || (i==4)) {
               foreach(arr[j])
               arr[i][j]==1;         
       }
     
             }    // end of parent foreach loop
         
  }
  
  
endclass

module top();
  
  test c1;
  
  initial begin
    c1 =new();
    repeat(5) begin
    assert(c1.randomize());
      $display("c1.arr=%p",c1.arr);
    end
    
  end
endmodule