Code Browser Pages:
| //////////////////////////////////////////////// ////s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s//// ////s www.testbench.in s//// ////s s//// ////s VMM Tutorial s//// ////s gopi@testbench.in s//// ////s~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~s//// //////////////////////////////////////////////// `ifndef GUARD_ENV `define GUARD_ENV class Environment extends vmm_env; virtual mem_interface.MEM mem_intf ; virtual input_interface.IP input_intf ; virtual output_interface.OP output_intf[4] ; function new(virtual mem_interface.MEM mem_intf_new , virtual input_interface.IP input_intf_new , virtual output_interface.OP output_intf_new[4] ); super.new("Environemnt"); this.mem_intf = mem_intf_new ; this.input_intf = input_intf_new ; this.output_intf = output_intf_new ; `vmm_note(this.log, "Created env object"); endfunction : new virtual function void gen_cfg(); super.gen_cfg(); `vmm_note(this.log,"Start of gen_cfg() method "); `vmm_note(this.log,"End of gen_cfg() method "); endfunction virtual function void build(); super.build(); `vmm_note(this.log,"Start of build() method "); `vmm_note(this.log,"End of build() method "); endfunction virtual task reset_dut(); super.reset_dut(); `vmm_note(this.log,"Start of reset_dut() method "); `vmm_note(this.log,"End of reset_dut() method "); endtask virtual task cfg_dut(); super.cfg_dut(); `vmm_note(this.log,"Start of cfg_dut() method "); `vmm_note(this.log,"End of cfg_dut() method "); endtask virtual task start(); super.start(); `vmm_note(this.log,"Start of start() method "); `vmm_note(this.log,"End of start() method "); endtask virtual task wait_for_end(); super.wait_for_end(); `vmm_note(this.log,"Start of wait_for_end() method "); `vmm_note(this.log,"End of wait_for_end() method "); endtask virtual task stop(); super.stop(); `vmm_note(this.log,"Start of stop() method "); `vmm_note(this.log,"End of stop() method "); endtask virtual task cleanup(); super.cleanup(); `vmm_note(this.log,"Start of cleanup() method "); `vmm_note(this.log,"End of cleanup() method "); endtask virtual task report(); `vmm_note(this.log,"Start of report() method \n\n\n"); $display("---------------------------------------------------------------------"); super.report(); $display("---------------------------------------------------------------------"); $display("\n\n"); `vmm_note(this.log,"End of report() method"); endtask endclass `endif |