Basilxxx
Newbie

Hi,
Im trying to compile my code where I call write function inside seq body and Im getting the following error:
Below is the executabale code i compiled:
Im trying to compile my code where I call write function inside seq body and Im getting the following error:
Code:
Error-[XMRE] Cross-module reference resolution error
testbench.sv, 15
Error found while trying to resolve cross-module reference.
token 'seq_item'. Originating package '$unit'.
Source info: seq_item.address = address;
Error-[XMRE] Cross-module reference resolution error
testbench.sv, 16
Error found while trying to resolve cross-module reference.
token 'seq_item'. Originating package '$unit'.
Source info: seq_item.data_bytes = new[4];
Error-[XMRE] Cross-module reference resolution error
testbench.sv, 17
Error found while trying to resolve cross-module reference.
token 'seq_item'. Originating package '$unit'.
Source info: seq_item.data_bytes = data_bytes;
Error-[XMRE] Cross-module reference resolution error
testbench.sv, 18
Error found while trying to resolve cross-module reference.
token 'seq_item'. Originating package '$unit'.
Source info: seq_item.byte_enable = new[4];
Error-[XMRE] Cross-module reference resolution error
testbench.sv, 19
Error found while trying to resolve cross-module reference.
token 'seq_item'. Originating package '$unit'.
Source info: seq_item.byte_enable = 4'hf;
Error-[XMRE] Cross-module reference resolution error
testbench.sv, 20
Error found while trying to resolve cross-module reference.
token 'seq_item'. Originating package '$unit'.
Source info: foreach (seq_item.data_bytes [i] ) begin
seq_item.data_bytes[i] = address[(8 * i)+:0];
seq_item.byte_enable[i] = data_bytes[(8 * i)+:0];
end
Error-[XMRE] Cross-module reference resolution error
testbench.sv, 21
Error found while trying to resolve cross-module reference.
token 'seq_item'. Originating package '$unit'.
Source info: seq_item.data_bytes[i] = address[(8 * i)+:0];
Error-[XMRE] Cross-module reference resolution error
testbench.sv, 22
Error found while trying to resolve cross-module reference.
token 'seq_item'. Originating package '$unit'.
Source info: seq_item.byte_enable[i] = data_bytes[(8 * i)+:0];
Below is the executabale code i compiled:
Code:
class c1;
rand byte unsigned byte_data[];
rand longint unsigned address;
rand bit byte_enable[];
virtual task body();
c1 seq_item;
seq_item =new();
$display("Write Done ...");
//Call write function
write(32'h0100_0814,32'h01);
endtask :body
function void write(int address, int data_bytes);
seq_item.address = address;
seq_item.data_bytes = new[4];
seq_item.data_bytes = data_bytes;
seq_item.byte_enable = new[4];
seq_item.byte_enable = 4'hF;
foreach(seq_item.data_bytes[i]) begin
seq_item.data_bytes[i] = address[8*i +:0];
seq_item.byte_enable[i] = data_bytes[8*i +:0];
end
endfunction
endclass : c1