SystemVerilog中是否有一种方法可以创建一个连续分配其内存的动态数组?我正在尝试将数据从文件读入动态数组 . 问题似乎是动态数组不在连续的内存位置,因此文件无法正确读入数组 .
当我声明变量读取文件为非动态数组时它工作正常,所以我认为问题是连续的内存 . 这是代码:
This works fine, but does not use a dynamic array:
// Reads frame from a binary file
task t_Read_File(input string i_File_Name);
int n_Temp[10][10];
int n_File_ID;
n_File_ID = $fopen(i_File_Name, "rb");
$fread(n_Temp, n_File_ID);
$fclose(n_File_ID);
r_Frame = n_Temp;
endtask : t_Read_File
This uses a dynamic array (r_Frame) but does not work
// Reads frame from a binary file
task t_Read_File(input string i_File_Name);
int n_File_ID;
n_File_ID = $fopen(i_File_Name, "rb");
$fread(r_Frame, n_File_ID);
$fclose(n_File_ID);
endtask : t_Read_File
仅供参考,r_Frame先前被声明为我的类的局部变量,如下所示:
int r_Frame[][];