`ifndef TEST_SIMPLE_SV `define TEST_SIMPLE_SV class test_simple extends uvm_test; `uvm_component_utils(test_simple) virtual interface calc_if vif; function new(string name = "test_simple", uvm_component parent = null); super.new(name,parent); endfunction : new function void build_phase(uvm_phase phase); super.build_phase(phase); `uvm_info(get_type_name(), "Starting build phase...", UVM_LOW) // Preuzimanje virtuelnog interfejsa iz konfiguracione baze podataka. if (!uvm_config_db#(virtual calc_if)::get(null, "*", "calc_if", vif)) `uvm_fatal("NOVIF",{"virtual interface must be set:",get_full_name(),".vif"}) // ... endfunction : build_phase task main_phase(uvm_phase phase); super.main_phase(phase); phase.raise_objection(this); //objasnjenje u materijalu za vezbu 6 `uvm_info(get_type_name(), "Starting main phase...", UVM_LOW) //postavljanje komande vif.req1_cmd_in = 4'b0001; //postavljanje prvog podatka vif.req1_data_in = 32'h0001; //Cekanje 1 takt @(posedge vif.clk); //Uklanjanje komande vif.req1_cmd_in = 4'b0000; //Postavljanje drugog podatka vif.req1_data_in = 32'h0002; // ... #1000ns; phase.drop_objection(this); //objasnjenje u materijalu za vezbu 6 endtask : main_phase endclass : test_simple `endif