2
我想用FPGA做一些圖像處理,我的支持者希望我們用Modelsim顯示一些模擬結果。因此,基本上我們嘗試讀取testbench中的圖像文件,並將其寫入另一個文件,但它停止讀取文件的一半文件。下面是我的源代碼爲什麼我不能讀整個文件?
module fileio1;
integer in,out,r;
reg [31:0]temp;
reg clk;
initial
begin
r=0;
temp =0;
clk = 0;
in = $fopen("test120.bmp","r");
out = $fopen("result.bmp","w");
end
always #1 clk = ~clk;
always @(negedge clk)
begin
r = $fscanf(in,"%c",temp);
end
always @(posedge clk)
begin
if(~r) $fwrite(out,"%c",temp);
end
endmodule
這是源代碼,我們的輸入文件是120x180大小bitmapfile(64KB) 但輸出文件是38KB。文件的幾乎一半。我用480x720大小的位圖文件(1013kb)嘗試它,它的輸出文件幾乎是原始文件的一半。 使用非常小的文件輸入,我們可以得到正確的輸出文件。
這是爲什麼發生?輸入/輸出文件有沒有更好的功能?
謝謝! 有一個錯誤,所以我不先使用fread ....但它解決了問題// fread(temp,in)是正確的,所以它有一個錯誤 –