久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: VGA顯示640*480真彩色圖像時(shí)FPGA存儲(chǔ)資源不夠用怎么辦 [打印本頁]

作者: piaolin    時(shí)間: 2015-11-1 15:50
標(biāo)題: VGA顯示640*480真彩色圖像時(shí)FPGA存儲(chǔ)資源不夠用怎么辦

本次試驗(yàn)采用的器件是Cyclone IV E EP4CE15F17C8,其存儲(chǔ)資源有516096個(gè)比特。一般情況下,如果我們要用純邏輯在VGA顯示器上顯示一幅640*480真彩色圖像時(shí)需要存儲(chǔ)資源為640*480*24=7372800比特,是本次試驗(yàn)所用器件的存儲(chǔ)資源的14多倍。很明顯,存儲(chǔ)資源遠(yuǎn)遠(yuǎn)不夠用,怎么辦?很多人想到的用FPGA顯示圖像的解決辦法一般要么顯示640*480二值圖像(307200比特,剛好夠用),要么搭建一個(gè)嵌入式系統(tǒng),然后由嵌入式軟件傳送圖像數(shù)據(jù)給FPGA進(jìn)行VGA顯示。而本次試驗(yàn)將給出FPGA純邏輯顯示640*480彩色圖像,存儲(chǔ)資源不夠用,怎么辦?當(dāng)然是先縮小圖像存放于只讀存儲(chǔ)器ROM中,再放大顯示。雖然這樣做顯示出來的圖像有點(diǎn)粗糙,但達(dá)到在存儲(chǔ)資源不夠的情況顯示640*480彩色圖像的目的。那么,圖像該縮小到多大?嗯。。。為了避免顯示畸形,應(yīng)該在橫向和縱向縮放相同的比率。經(jīng)過計(jì)算,橫向和縱向各縮小4倍,即由分辨率640*480到160*120。這可以用畫圖實(shí)現(xiàn),如圖1所示。然后將圖片另存為bmp文件。

圖1 圖像分辨率設(shè)置

此時(shí),需要FPGA存儲(chǔ)資源為160*120*24=460800比特,剛好夠用。于是乎,生成mif文件,如圖2所示。

圖2 生成mif文件

接著,在工程中調(diào)用ROM并加載剛剛生成的mif文件,如圖3和圖4所示。

圖3 設(shè)置ROM的數(shù)據(jù)位寬和深度

圖4 加載mif文件

當(dāng)工程全部搭建好后,編譯綜合,結(jié)果出現(xiàn)錯(cuò)誤,如圖5所示。根據(jù)錯(cuò)誤提示,本工程占用的存儲(chǔ)資源過多,需要60塊M9K,而該系列FPGA只有56塊M9K,從而不夠用。

圖5 編譯綜合報(bào)錯(cuò)

那怎么辦呢?繼續(xù)縮小圖片?NO,再縮小,顯示出來的圖像還能看嗎?我們應(yīng)該從其他方面著手,讓24位圖像變?yōu)?6位圖像,16位圖像數(shù)據(jù)可以顯示65536中顏色,人眼是很難分辨出來的,故該方案可以真彩色圖像的效果。mif文件生成如圖6所示,選擇RGB565(其實(shí)該軟件生成的是BGR565的圖像數(shù)據(jù))。

圖6 生成RGB565mif文件

重新將mif文件加載到ROM中,如圖7和圖8所示。

圖7 設(shè)置ROM數(shù)據(jù)位寬和深度

圖8 加載mif文件

其中在代碼實(shí)現(xiàn)圖像放大的方法是:由于圖像橫向和縱向都縮小了4倍,640*480與160*120的圖像數(shù)據(jù)映射關(guān)系為640*480的每行四個(gè)像素點(diǎn)對(duì)應(yīng)160*120的一個(gè)像素點(diǎn),640*480的每四行對(duì)應(yīng)160*120的一行。代碼如程序清單1所示。

程序清單1

//---------------------------------------------
//  lcd xpos & ypos   
wire [10:0] rom_xpos = lcd_request ? lcd_xpos : 11'd0;  
wire [10:0] rom_ypos = lcd_request ? lcd_ypos : 11'd0;  
//---------------------------------------------
//  address of ROM
wire    [14:0]      addr;
assign  addr = rom_xpos[10:2] + rom_ypos[10:2] * 11'd160;

還要將RGB565轉(zhuǎn)換成RGB888進(jìn)行顯示,可對(duì)RGB565的地位補(bǔ)零,如程序清單2所示。

程序清單2

//---------------------------------------------
//  lcd data output
assign  lcd_rgb = (lcd_en == 1'b1) ? {lcd_data[4:0],3'b0,lcd_data[10:5],2'b0,lcd_data[15:11],3'b0} : 24'h000000;

工程搭建完成后,綜合編譯,所消耗資源如圖9所示。

圖9 工程消耗的資源情況

最后,將生成的sof文件下載到FPGA中,可在顯示器中看到如圖10所示的效果。

圖10 效果圖1

再給出另一張效果圖,如圖11所示。

圖11 效果圖2




作者: dzfree    時(shí)間: 2017-6-30 16:01
好高大上   充分利用資源   換個(gè)更大點(diǎn)的存儲(chǔ)空間更好




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: av一区二区三区在线观看 | 国产精品久久久久久吹潮 | 欧美无乱码久久久免费午夜一区 | 粉嫩国产精品一区二区在线观看 | 国产成人精品一区二三区在线观看 | 中文字幕视频一区 | 日韩欧美在线观看视频网站 | 欧美二区在线 | 国产成人精品高清久久 | 久久三级av | 91深夜福利视频 | 黄色一级电影免费观看 | 久草网站 | 欧美精品一区二区免费 | 成人婷婷 | 亚洲精品一二区 | 在线日韩福利 | 国产精品久久久久一区二区三区 | 免费一区| 久久久久国产一级毛片高清网站 | 爱爱视频在线观看 | 在线国产一区二区 | 久久精品成人 | 亚洲国产精品一区 | 国产精品日韩一区二区 | 国产yw851.c免费观看网站 | 999视频在线播放 | 啪视频在线 | 国产精品一区二区久久 | 欧美h版 | 日韩在线免费 | 日韩在线免费看 | 亚洲国产一区在线 | 91福利电影在线观看 | 亚洲成人av | 久久精品一级 | 国产精品s色 | 毛片久久久| 欧美在线a | 天堂av资源 | 国产一区二区三区四区三区四 |