Hi,
class subscriber;
parameter add_width=32;
parameter data_width=64;
task run(int i);
if(i=1) begin
logic [width-1:0] addr; //width and dwidth are declared as parameters in another file
logic [dwidth-1:0] data;
addr_width=width; data_width=dwidth;
addr=vif.add1;
data=vif.data1; end
if(i=2) begin
logic [width_1-1:0] addr;
logic [dwidth_1-1:0] data;
addr_width=width_1; data_width=dwidth_1;
addr=vif.add1;
data=vif.data1; end
marchrun(addr,data); //task
endtask
task marchrun ( [addr_width-1:0] addr,[data_width-1:0] data);
write0(addr,data);
read0(addr,data);
endtask
task write0 ([addr_width-1:0] addr,[data_width-1:0] data);
endtask
task read0([addr_width-1:0] addr,[data_width-1:0] data);
endtask
endclass
for above type of code i am getting error like
inside write0 and read0 and marchrun i am unable to get variables(addr,data) which are passing like arguments to the tasks
please suggest me any solution for this, thanks in advance