Hello,
I am randomizing address within available address ranges by using randomization constraints as mentioned below.
In some cases, this address is still generating out of region without any randomization error.
Constraint is as below,
This is based on axi protocol where start_addr and end_addr are the available ranges. sel_index is the range_num for selection i.e. if there are 5 ranges available, sel_index will select any one range out of it.constraint will work based on sel_index.
in some cases, the address is coming out of my regions. Any idea why its coming out of my regions?
You will need to post a complete example that runs which demonstrates your issue. There are too many variables to give an accurate assessment of your problem.
Hi,
below is the output of packet class where sel_index is set to 14 and address generated out of start_addr[14] and end_addr[14]
id integral 8 'h4b
addr integral 36 'h650fa80
burst_length integral 9 'h80
burst_size burst_size_enum 3 8BIT
burst_type burst_type_enum 2 INCR
xact_type xact_type_enum 3 READ
sel_index integral 32 'd14
item_name string 21 axi_random_trans_0_37
start_addr[0] integral 37 'h0
end_addr[0] integral 37 'h1db7740
start_addr[1] integral 37 'h1db779a
end_addr[1] integral 37 'h4a756ff
start_addr[2] integral 37 'h4a75740
end_addr[2] integral 37 'h4c7bb25
start_addr[3] integral 37 'h4c7bb28
end_addr[3] integral 37 'h541217f
start_addr[4] integral 37 'h5412200
end_addr[4] integral 37 'h546ea1f
start_addr[5] integral 37 'h546ea30
end_addr[5] integral 37 'h54b197f
start_addr[6] integral 37 'h54b19a0
end_addr[6] integral 37 'h54ef817
start_addr[7] integral 37 'h54eff08
end_addr[7] integral 37 'h5d1377f
start_addr[8] integral 37 'h5d13784
end_addr[8] integral 37 'h5e517fb
start_addr[9] integral 37 'h5e51866
end_addr[9] integral 37 'h60486ff
start_addr[10] integral 37 'h6048800
end_addr[10] integral 37 'h647be04
start_addr[11] integral 37 'h647be71
end_addr[11] integral 37 'h64e701f
start_addr[12] integral 37 'h64e7040
end_addr[12] integral 37 'h65009ff
start_addr[13] integral 37 'h6500a40
end_addr[13] integral 37 'h650f387
start_addr[14] integral 37 'h650faa8
end_addr[14] integral 37 'h650fbb9
start_addr[15] integral 37 'h650fdda
end_addr[15] integral 37 'h69cf93f
start_addr[16] integral 37 'h69cf960
end_addr[16] integral 37 'h6a50d55
start_addr[17] integral 37 'h6a50df6
end_addr[17] integral 37 'h6ae04fe
start_addr[18] integral 37 'h6ae0575
end_addr[18] integral 37 'h6b4166e
start_addr[19] integral 37 'h6b416ed
end_addr[19] integral 37 'h73bf0df
start_addr[20] integral 37 'h73bf310
end_addr[20] integral 37 'h1b7eb693
start_addr[21] integral 37 'h1b7eb698
end_addr[21] integral 37 'h1ba6ba48
start_addr[22] integral 37 'h1ba6bab3
end_addr[22] integral 37 'h1bab84ff
start_addr[23] integral 37 'h1bab8540
end_addr[23] integral 37 'h1bb56a0c
start_addr[24] integral 37 'h1bb56bfd
end_addr[24] integral 37 'h1be26d3b
start_addr[25] integral 37 'h1be26d48
end_addr[25] integral 37 'h1bf1420d
start_addr[26] integral 37 'h1bf143de
end_addr[26] integral 37 'h1ccb31bf
start_addr[27] integral 37 'h1ccb3200
end_addr[27] integral 37 'h2a3f1e47
start_addr[28] integral 37 'h2a3f1e4a
end_addr[28] integral 37 'h3171c5af
start_addr[29] integral 37 'h3171c5c0
end_addr[29] integral 37 'h337361d3
start_addr[30] integral 37 'h337362c4
end_addr[30] integral 37 'h399a9d1f
start_addr[31] integral 37 'h399a9d40
end_addr[31] integral 37 'h402cc134
start_addr[32] integral 37 'h402cc20d
end_addr[32] integral 37 'h4a9532ae
start_addr[33] integral 37 'h4a9532ef
end_addr[33] integral 37 'hc90514ff
start_addr[34] integral 37 'hc9051600
end_addr[34] integral 37 'he1001b26
start_addr[35] integral 37 'he1001c07
end_addr[35] integral 37 'hef139dd7
start_addr[36] integral 37 'hef139ddc
end_addr[36] integral 37 'hf249630d
start_addr[37] integral 37 'hf2496a6e
end_addr[37] integral 37 'hffffffff