Chip123 科技應用創新平台
標題:
Verilog testbench直接載入BMP檔
[打印本頁]
作者:
walltsou
時間:
2011-1-21 10:24 AM
標題:
Verilog testbench直接載入BMP檔
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
$ z. \) R2 G& L/ v4 V
verilog中讀取BMP檔
8 b" |1 @' {. i; y5 n) M4 b% N. V
程式碼如下:
module test;
/ o! B3 v6 w. X( c4 n: P
integer fileId, i, cc;
4 e. S! R' _* l, Q0 v
reg [7:0] bmp_data [0:2000000];
$ J: ^8 n( t" [: k
integer bmp_width, bmp_hight, data_start_index, bmp_size;
. p8 u. |6 }; n* A
( h4 ]$ M6 z# o9 y8 [4 i8 m" R( X" K
initial begin
2 p! e& r }0 Y% j5 J8 [ J" Q) Y
fileId = $fopen("gray.bmp","rb");
- R+ O+ ^1 L" G/ f+ H/ K8 d
cc = $fread(bmp_data, fileId);
) o6 y I! E2 B
bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
0 I# s) ~+ e! Q
bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};
% ~+ d+ u; y6 g5 e' n
data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};
, c- W. \3 Z+ R2 O4 Y
bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};
7 x: X) h6 _& o6 p8 @
for(i = data_start_index; i < bmp_size; i = i + 1) begin
$ v& O# U4 I% G9 X( ~! O
$display("%h",bmp_data[i]);
/ e7 E5 C6 }6 a3 `/ |7 P8 j( I* A
end
' G; d! k7 t' K5 @) I1 n
$fclose(fileId);
: {: X5 I# F3 W0 h R7 p
end
: b* |8 X5 P) f
endmodule
複製代碼
資料格式沒有解開,要用自己排。
作者:
fufu1119
時間:
2011-4-20 01:35 PM
感謝分享, 有機會也來試試看, 我之前是將圖檔轉成文字檔, 然後在讀進系統做模擬使用.
作者:
alfred99
時間:
2011-9-14 10:10 AM
Thanks a lot!!
0 S8 U; E) k8 g/ W4 O8 P1 ?
學到東西了!!
作者:
KaiChuinLim@FB
時間:
2015-8-29 11:58 AM
注意讀到的影像是反的(下至上, 右到左)
歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com/)
Powered by Discuz! X3.2