Chip123 科技應用創新平台
標題:
Verilog testbench直接載入BMP檔
[打印本頁]
作者:
walltsou
時間:
2011-1-21 10:24 AM
標題:
Verilog testbench直接載入BMP檔
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
) j: \) V% @ i" z
verilog中讀取BMP檔
% ~8 U; l, z7 Q1 ^
程式碼如下:
module test;
- m1 K$ S6 d5 r9 {5 E$ H5 K6 w
integer fileId, i, cc;
$ }" i3 d p' H$ a7 l
reg [7:0] bmp_data [0:2000000];
. Q8 x+ O% {7 x, H+ h1 T$ O
integer bmp_width, bmp_hight, data_start_index, bmp_size;
1 R8 @* S0 Z: ^5 I# t- M
$ g' z( \5 V5 u+ s( Q( V* y; `
initial begin
5 n7 e! l3 d2 I. N0 v; A. m
fileId = $fopen("gray.bmp","rb");
2 |- F- Z- e, M4 ~9 |
cc = $fread(bmp_data, fileId);
* v0 \& L" X6 s y
bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
( C$ n+ Q# ?/ h. z* x7 P. w
bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};
6 S/ C/ L0 l" W; _. U
data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};
9 u7 t& f3 ]8 e3 a
bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};
8 f$ e% S/ r: ~+ }8 I
for(i = data_start_index; i < bmp_size; i = i + 1) begin
9 L5 s" C. T5 L/ \% }! n5 q: p1 J# f
$display("%h",bmp_data[i]);
6 r" ~% a; Z: G5 m2 }, [
end
t) Q2 i* D3 y o# }# O) A
$fclose(fileId);
; M! G X2 T1 E
end
9 p, k) e$ B( Z! ?4 ?8 r
endmodule
複製代碼
資料格式沒有解開,要用自己排。
作者:
fufu1119
時間:
2011-4-20 01:35 PM
感謝分享, 有機會也來試試看, 我之前是將圖檔轉成文字檔, 然後在讀進系統做模擬使用.
作者:
alfred99
時間:
2011-9-14 10:10 AM
Thanks a lot!!
/ Z S- X r% d, u3 i
學到東西了!!
作者:
KaiChuinLim@FB
時間:
2015-8-29 11:58 AM
注意讀到的影像是反的(下至上, 右到左)
歡迎光臨 Chip123 科技應用創新平台 (http://www.chip123.com.tw/)
Powered by Discuz! X3.2