You are on page 1of 7

class base;

bit [31:0] data;

bit [31:0] addr;

function new();

this.addr=0;

this.data=0;

$display("-------intialize data------");

$display("data=%0h, addr=%0h",data,addr);

$display("--------------------------");

endfunction

function print();

$display("-------data_pring-------------");

$display("data=%0h, addr=%0h ",data,addr);

$display("-----------------------------");

endfunction

endclass

class child extends base;

bit [31:0] data2;

bit [31:0] addr2;

function new();

super.new();

this.data2=34;

this.addr2=53;

endfunction

function print();

$display("--------------------------------");
$display("data2=%0h,addr=%0h",data2,addr2);

$display("----------------------------------");

endfunction

endclass

module top();

child c1;

base b1;

initial begin

b1=new();

c1=new();

c1.print();

b1.print();

c1.addr=23;

c1.addr2=34;

c1.data=45;

c1.print();

end

endmodule

//output
class base;

int data,addr;

function new(int data,addr);

this.addr=0;

this.data=0;

$display("-------intialize data------");

$display("data=%0h, addr=%0h",data,addr);

$display("--------------------------");

endfunction

/*function print();

$display("-------data_pring-------------");

$display("data=%0h, addr=%0h ",data,addr);

$display("-----------------------------");

endfunction

endclass*/

class child extends base;


bit [31:0] data2;

bit [31:0] addr2;

function new(int data, addr,data2,addr2);

super.new(data,addr);

this.data2=34;

this.addr2=53;

endfunction

function print();

$display("--------------------------------");

$display("data2=%0h,addr=%0h data =%0h, addr=%0h",data2,addr2,data,addr);

$display("----------------------------------");

endfunction

endclass

module top();

child c1;

base b1;

initial begin

//b1=new();

c1=new(0,0,0,0);

c1.print();

//b1.print();

c1.addr=23;

c1.addr2=34;

c1.data=45;

c1.print();

end

endmodule
class base;

int data,addr;

function new();

data=0;

addr=0;

$display("-------intialize data------");

$display("data=%0h, addr=%0h",data,addr);

$display("--------------------------");

endfunction

function get(int addr,data);

this.addr=addr;

this.data=data;

endfunction

function print();

$display("-------data_pring-------------");

$display("data=%0h, addr=%0h ",data,addr);

$display("-----------------------------");

endfunction

endclass
class child extends base;

bit [31:0] data2;

bit [31:0] addr2;

function new();

data2=0;

addr2=0;

endfunction

function print();

$display("--------------------------------");

$display("data2=%0h,addr=%0h data =%0h, addr=%0h",data2,addr2,data,addr);

$display("----------------------------------");

endfunction

function get(int data2,addr2,data,addr);

this.data2=data2;

this.addr2=addr2;

this.data=data;

this.addr=addr;

endfunction

endclass

module top();

child c1;

base b1;

initial begin

//b1=new();

c1=new();

c1.get(10,2,45,60);

c1.print();
//b1.print();

c1.addr=23;

c1.addr2=34;

c1.data=45;

c1.print();

end

endmodule

output

You might also like