Parametrized virtual interface in UVM 1.2

Hi all,

I’m struggling with parametrized virtual interfaces… :(
I want to use the same parametrized interface (traffic_interface) to different, but same type, agents (traffic_driver for example).

Here an example of my traffic interface:

interface traffic_if #(int data_width = 32)
                      (input wire  clk, reset_n);

  logic[data_width-1:0] data_1;
  logic[data_width-1:0] data_2;
  logic                 data_en;

endinterface

I tried also with the abstract class (taken from this paper “http://verificationhorizons.verificationacademy.com/volume-7_issue-3/articles/stream/polymorphic-interfaces-an-alternative-for-systemverilog-interfaces_vh-v7-i3.pdf”), but set_config_object is deprecated in UVM 1.2; so I have to use uvm_config_db().
If I try with this code
uvm_config_db#(virtual traffic_if#(.data_width (data_width))::set(uvm_root::get(), "", “dut_traffic_if”, dut_traffic_if.get_concrete_traffic_if());*

the parametrized interface problem still remains.

Have anyone got any ideas?
Thanks to all

In reply to alexkidd84:

Please use code tags when posting your code and provide more descriptive error messages that describe the problems you are facing.