In reply to Anudeep J:
You pass a parameterized interface instance through the uvm_config_db the same way you pass an unparameterized interface.
// in top module
uvm_config_db#(intf#(N))::set(null, "*", "intf", intf_inst);
// in driver class
class driver;
virtual intf#(N) v_intf;
...
if (!uvm_config_db #(intf#(N)))::get(this, "", "", v_intf)) // get config
The problem is N has to be set with the same value at compilation. You get get N from a common package by everywhere replacing N with my_params::N
package my_params;
parameter N = 5;
endpackage