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