Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 10576|回復: 3
打印 上一主題 下一主題

[經驗交流] Verilog testbench直接載入BMP檔

[複製鏈接]
跳轉到指定樓層
1#
發表於 2011-1-21 10:24:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近在做FPGA影像處理。發現測試影像載入沒有好方法,自己寫了一個。發表在自己的部落格上
: `* @# a! c$ |: u& ^, }verilog中讀取BMP檔
6 h7 U( f+ b7 o程式碼如下:
  1. module test;4 Y3 R# f& p% w
  2.   integer fileId, i, cc;: r5 t  A( ~# A2 L, k' L
  3.   reg [7:0]  bmp_data [0:2000000];
    $ Y. I8 F# w2 p5 E1 r" S* Z0 n
  4.   integer bmp_width, bmp_hight, data_start_index, bmp_size;
    ; }9 m0 n1 f" ?& }' T1 }" n2 n

  5. 7 s: S6 j; K  G* u' K" V) ]
  6.   initial begin# ~% H( _' Y8 d1 q  M; Y
  7.     fileId = $fopen("gray.bmp","rb");# B) }. T! G7 y' K: x8 d
  8.     cc = $fread(bmp_data, fileId);
    8 ~$ A# a8 l. c+ u2 H
  9.     bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};; c9 x+ W6 A. s  F. j
  10.     bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};' Y" S% Y$ q: [) \1 r
  11.     data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};
    ; O4 c; |2 J5 Z
  12.     bmp_size  = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};
    ; Y" l  g: b6 x8 ^
  13.     for(i = data_start_index; i < bmp_size; i = i + 1) begin3 d- G7 _- a4 \( F) ~
  14.       $display("%h",bmp_data[i]);
    8 w% v- ?7 Z& W, `
  15.     end
    7 Q" J8 C. w0 S. Q
  16.     $fclose(fileId);
    8 I2 h" R% w( f
  17.   end0 @- }, |" R4 G; D
  18. endmodule
複製代碼
資料格式沒有解開,要用自己排。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2011-4-20 13:35:36 | 只看該作者
感謝分享, 有機會也來試試看, 我之前是將圖檔轉成文字檔, 然後在讀進系統做模擬使用.
3#
發表於 2011-9-14 10:10:05 | 只看該作者
Thanks a lot!!
+ e8 c" Y8 |  k9 q' J學到東西了!!

評分

參與人數 1Chipcoin -5 收起 理由
tk02376 -5 Copy reply! YOUR repley?

查看全部評分

4#
發表於 2015-8-29 11:58:10 | 只看該作者
注意讀到的影像是反的(下至上, 右到左)
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-8 04:38 AM , Processed in 0.156020 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表