Chip123 科技應用創新平台
標題:
Verilog testbench直接載入BMP檔
[打印本頁]
作者:
walltsou
時間:
2011-1-21 10:24 AM
標題:
Verilog testbench直接載入BMP檔
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
- P* x/ f5 r/ v% y2 D& ]$ C* T
verilog中讀取BMP檔
2 n; T& \+ \8 d* ^1 t8 j
程式碼如下:
module test;
e/ Z9 |1 w7 H. x9 l
integer fileId, i, cc;
' E- A) g. ~! p- G% A+ J
reg [7:0] bmp_data [0:2000000];
5 \0 i& m) Q' U8 y6 Y7 L) A
integer bmp_width, bmp_hight, data_start_index, bmp_size;
* d! |5 R( s% q1 P# g6 g
8 W5 I Z8 O9 l) p
initial begin
2 G$ Y$ V$ ?& @/ P; s! t4 Q7 o
fileId = $fopen("gray.bmp","rb");
. G: T: w! v- z3 j( z) w
cc = $fread(bmp_data, fileId);
5 v. o# Y' @5 R
bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
$ H% L9 b' l/ a4 g1 v# q% J$ K
bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};
7 z* H/ G# q% s* h
data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};
4 V6 |" P i5 `3 O0 I' t' S
bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};
" f, g! [1 x9 S
for(i = data_start_index; i < bmp_size; i = i + 1) begin
# T3 v' ~0 G' K) e( w0 F" [2 T
$display("%h",bmp_data[i]);
$ a; I/ S' \6 w% }% k3 x S
end
( r% j2 Q6 p( m& X
$fclose(fileId);
$ m, w$ ]4 y% \" K5 F
end
* q2 o% @: [7 e, l8 R
endmodule
複製代碼
資料格式沒有解開,要用自己排。
作者:
fufu1119
時間:
2011-4-20 01:35 PM
感謝分享, 有機會也來試試看, 我之前是將圖檔轉成文字檔, 然後在讀進系統做模擬使用.
作者:
alfred99
時間:
2011-9-14 10:10 AM
Thanks a lot!!
- b8 s# @& J# J( T
學到東西了!!
作者:
KaiChuinLim@FB
時間:
2015-8-29 11:58 AM
注意讀到的影像是反的(下至上, 右到左)
歡迎光臨 Chip123 科技應用創新平台 (http://chip123.com/)
Powered by Discuz! X3.2