In reply to Anudeep J:
You cannot randomize the value of a parameter because parameter values are set as part of the compilation and elaboration process before simulation starts.
What you can do is randomize N is a separate simulation run, and use that value to set the parameter override in your UVM testbench simulation.
Another option is to forget about randomizing the widths of data and addr and just declare them with a maximum width.