module top;
  import uvm_pkg::*;
  import ahb_pkg::*;
  ahb_if ahb_if1 ();

  dut dut1(._if1(ahb_if1));

  initial begin
    ahb_if1.hclk = 0;
    forever #5 ahb_if1.hclk = ~ahb_if1.hclk;
  end

  initial begin
    ahb_if1.hresetn = 0;
    #11 ahb_if1.hresetn = 1;
  end

  initial
  begin
    //the following is a command
    uvm_config_db #(virtual ahb_if)::set(null, "*","dut_vi_app_m0", ahb_if1);
    //             (type of value)      prefix  path           name/value pair

    run_test(); //this will create an instance of ahb_test class
  end

endmodule: top