OVM/UVM: A Practical
          Tutorial Using System Verilog
    
    
    -Aviral Mittal
    
    
    Test Class.
    An test class is derived from the uvm base class 'uvm_test'.
    By the UVM standard definition, the test class is the one which will
    have all the envs instantiated in it.
    A test class is also the one which will actually run a test.
    However, we would write a basic test class first, which wont
    actually run any test, it will only instantiate
    the env class, and do some configuration settings.
    More about configuration will be explained later.
    Then we will write our actual test classes, which will correspond to
    1 test on the DUT each, which will
    be derived from this test class.
    
    class ahb_test extends
          uvm_test;
            `uvm_component_utils(ahb_test)
            ahb_env ahb_env_h; //handle to env
            my_dut_config my_dut_config_test_0;
          
            function new(string name, uvm_component parent);
              super.new(name,parent);
            endfunction: new
          
            function void build_phase(uvm_phase phase);
              ahb_env_h =
          ahb_env::type_id::create("ahb_env_h",this);
              my_dut_config_test_0 = new();
              //get the virtual interface from the top
          module, and put it in config object my_dut_config_test_0.
              assert (uvm_config_db #(virtual
ahb_if)::get(this,"","dut_vi_app_m0",my_dut_config_test_0.dut_config_vi_0));
              uvm_config_db
          #(my_dut_config)::set(this,"*","dut_config",my_dut_config_test_0);
            endfunction: build_phase
          endclass: ahb_test
        
    
    Save the above as ahb_test.svh
    
    This completes this Test Class Chapter.
    
     <- Previous(Env
      Class)         
               
               
               
               
                  
           Next -> (Top Test
      Class) 
    
      KeyWords: OVM, UVM, SystemVerilog, Constrained Random
      Verification, Transaction Level Modelling.