我在使用 Verilog 模块时遇到问题,它是一个非常大的 CMOS 相机图像代码的一小部分。该模块将 clk 和 reset 作为输入并吐出 hsync、vsync、pixclk 和像素数据。代码读取图像和将其保存到内存中,然后执行一堆 if else 语句,例如:
if (row_count<NUM_ROWS-1) && (col_count< NUM_COLS)
begin
vsync <=1;
hsync <=1 ;
pixe_data <= mem[row_count*NUM_ROWS+col_count];
end
else if
......
到目前为止,图像尺寸是使用 NUM_COLS 和 NUM_ROWS 硬编码的,但我正在尝试更改它,以便代码即时计算传入图像的行和列。我曾尝试使用 $fscanf、$fgets、$Sscanf 等,但我没有得到正确的结果。事实上我根本没有得到任何结果。我的模拟卡住了,或者它说它的内存不足或 fd 是一个空文件描述符.此外,当我将 NUM_ROWS 和 NUM_COLS 转换为变量时,我收到一条错误消息,指出常量操作的操作数非法。
如果有人可以让我对解决此问题的不同方法有所了解,我将不胜感激。
如果这里的信息不充分或不清楚,我提前道歉。
谢谢SK