Distributed weightage constraint

randc bit [2:0] delay_set;
rand  bit[3:0]  ack_delay;
constraint delay_set_limit { delay_set < 3 }
constraint ack_delay_constr { 
delay_set==0 -> ack_delay ==1;
delay_set==1 -> ack_delay inside {[2:5]};
delay_set==2 -> ack_delay inside {[6:15]};
}

Hello Dave, don’t you need solve delay_set before ack_delay to get an uniform distribution of
0 = 1/3, 1 = 1/3, 2 = 1/3