Download here. system_verilog_virtual_interface
// Filename : virtual_interface.sv
// Author : A.G.Raja
// License : GPL
// Website : http://agraja.wordpress.com
interface bus(input wire clk);
int address;
int data;
modport virtual_interface(input clk);
endinterface
module virtual_interface;
bit clk;
bus BUS(clk);
class monitor;
virtual bus VBUS;
task disp;
$display(VBUS.address);
$display(VBUS.data);
endtask
endclass
monitor m;
initial begin
m = new;
m.VBUS = BUS;
BUS.address = 100;
BUS.data = 1234;
m.disp;
end
endmodule
// Running simulation in ncverilog
// ncverilog +sv virtual_interface.sv
// Running simulation in modelsim/questasim
// vlib work
// vlog -sv virtual_interface.sv
// vsim -c virtual_interface
// run
Download here. system_verilog_virtual_interface
Posted in SystemVerilog Tagged: class, interface, Modelsim, ncverilog, questasim, SystemVerilog, virtual
