Help about if statement in constraint block

In reply to Reuben:

When “cmd == 0” data is not getting randomized. data is getting assigned with {td,addr_inc,num_rd};

I got following result when i generated 10 packets randomly.


DISP::: '{cmd:'h1, data:'h71, td:'h1, addr_inc:'h3, num_rd:'h5}
DISP::: '{cmd:'h1, data:'h60, td:'h3, addr_inc:'h0, num_rd:'he}
DISP::: '{cmd:'h0, data:'h81, td:'h2, addr_inc:'h0, num_rd:'h1}
DISP::: '{cmd:'h1, data:'h47, td:'h2, addr_inc:'h2, num_rd:'h1}
DISP::: '{cmd:'h0, data:'hff, td:'h3, addr_inc:'h3, num_rd:'hf}
DISP::: '{cmd:'h1, data:'h3a, td:'h1, addr_inc:'h0, num_rd:'h6}
DISP::: '{cmd:'h0, data:'haa, td:'h2, addr_inc:'h2, num_rd:'ha}
DISP::: '{cmd:'h0, data:'h5e, td:'h1, addr_inc:'h1, num_rd:'he}
DISP::: '{cmd:'h1, data:'h35, td:'h2, addr_inc:'h3, num_rd:'h2}
DISP::: '{cmd:'h1, data:'hba, td:'h1, addr_inc:'h3, num_rd:'h3}