|
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
: `* @# a! c$ |: u& ^, }verilog中讀取BMP檔
6 h7 U( f+ b7 o程式碼如下:- module test;4 Y3 R# f& p% w
- integer fileId, i, cc;: r5 t A( ~# A2 L, k' L
- reg [7:0] bmp_data [0:2000000];
$ Y. I8 F# w2 p5 E1 r" S* Z0 n - integer bmp_width, bmp_hight, data_start_index, bmp_size;
; }9 m0 n1 f" ?& }' T1 }" n2 n
7 s: S6 j; K G* u' K" V) ]- initial begin# ~% H( _' Y8 d1 q M; Y
- fileId = $fopen("gray.bmp","rb");# B) }. T! G7 y' K: x8 d
- cc = $fread(bmp_data, fileId);
8 ~$ A# a8 l. c+ u2 H - bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};; c9 x+ W6 A. s F. j
- bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};' Y" S% Y$ q: [) \1 r
- data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};
; O4 c; |2 J5 Z - bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};
; Y" l g: b6 x8 ^ - for(i = data_start_index; i < bmp_size; i = i + 1) begin3 d- G7 _- a4 \( F) ~
- $display("%h",bmp_data[i]);
8 w% v- ?7 Z& W, ` - end
7 Q" J8 C. w0 S. Q - $fclose(fileId);
8 I2 h" R% w( f - end0 @- }, |" R4 G; D
- endmodule
複製代碼 資料格式沒有解開,要用自己排。 |
|