Cross coverage with combination

a_cp   : coverpoint chk_a[0];
b_cp   : coverpoint chk_b[0];
c_cp   : coverpoint chk_c[0];
d_cp   : coverpoint chk_d[0];

abcd_cross : cross a_cp,b_cp,c_cp,d_cp ;

this is cross and coverpoint i have.
I want the cross to cover only patterns like { a_cp = 0,b_cp = 0, c_cp = 0 , d_cp = 0 and 1000,1100,1110,1111 }
so i want the cross to cover these patterns (0000,1000,1100,1110,1111}

Can anyone help me how to write the cross with these combinations

Thanks

In reply to VENKATA_SRINIVAS:
The easiest thing to do would be creating coverpoints with just the bins you want to cross (or create additional coverpoints)

a_cp   : coverpoint chk_a[0] {bins b = {0};}
b_cp   : coverpoint chk_b[0] {bins b = {0};}
c_cp   : coverpoint chk_c[0] {bins b = {0};}
d_cp   : coverpoint chk_d[0] {bins b[] = (4'b0000,4'b1000,4'b1100,4'b1110,4'b1111};}
 
abcd_cross : cross a_cp,b_cp,c_cp,d_cp ;

Otherwise, you can use your original coverpoints and in your cross, eliminate the patterns you do not want to cross

abcd_cross : cross a_cp,b_cp,c_cp,d_cp {
  ignore_bins b = abcd_cross with (a_cp != 0 || b_cp != 0 || c_cp != 0 || !(d_cp inside {4'b0000,4'b1000,4'b1100,4'b1110,4'b1111} ); }