gpt4 book ai didi

verilog - 将 Verilog 中的二进制文件数据读入二维数组

转载 作者:行者123 更新时间:2023-12-05 01:21:05 26 4
gpt4 key购买 nike

我有一个数组,我想从二进制文件加载:

parameter c_ROWS = 8;
parameter c_COLS = 16;
reg [15:0] r_Image_Raw[0:c_ROWS-1][0:c_COLS-1];

我的输入文件是二进制数据,256 字节长(与 r_Image_Raw 相同的总空间)。我尝试使用 $fread 来完成此操作,但它仅适用于最后一行的第 4 列:

n_File_ID = $fopen(s_File_Name, "r");
n_Temp = $fread(r_Image_Raw, n_File_ID);

我也尝试为此使用 $fscanf,但在打开综合工具时出现有关打包类型的错误:

while (!$feof(n_File_ID))
n_Temp = $fscanf(n_File_ID, "%h", r_Image_Raw);

我觉得这应该很容易做到。我是否创建了一个 2D for 循环并循环遍历 r_Image_Raw 变量,一次读取 16 位?我觉得它不应该那么复杂。

最佳答案

我意识到我的错误。应该是:

n_File_ID = $fopen(s_File_Name, "rb");
n_Temp = $fread(r_Image_Raw, n_File_ID);

我使用“r”而不是“rb”来指定它是一个二进制文件。有趣的是,“r”确实适用于大部分数据,但它无法读取文件的最后 ~13 个位置。

关于verilog - 将 Verilog 中的二进制文件数据读入二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25024751/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com