Verilog圖像翻轉(zhuǎn)源代碼_第1頁
Verilog圖像翻轉(zhuǎn)源代碼_第2頁
Verilog圖像翻轉(zhuǎn)源代碼_第3頁
Verilog圖像翻轉(zhuǎn)源代碼_第4頁
Verilog圖像翻轉(zhuǎn)源代碼_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Verilog圖像翻轉(zhuǎn)源代碼組內(nèi)成員鄒述銘3014204055李林楠3014204035丁皓南3014204031買地努爾3014204040一、將BMP圖片轉(zhuǎn)化為二進(jìn)制數(shù)據(jù),存入TXTtimescale1ns/100psmodulePic;parametersize=65554;個(gè)存數(shù)據(jù)定義memory存儲(chǔ)器大小,前18個(gè)存BMP文件信息頭,后65536reg23:0ramsize-1:0,headdata,data;/單個(gè)寄存器24位(包括紅綠藍(lán)3個(gè)字節(jié)(一個(gè)字節(jié)8位)的顏色)65536=256*256個(gè)像素點(diǎn)regclk;/定義時(shí)鐘integerfile_id,txt_id;/定義BMP

2、圖片和txt文本的整型句柄integerm,i,j,x;initialbeginfile_id=$fopen(C:/Users/HP/Desktop/Pic.bmp,rb);/以二進(jìn)制方式讀取圖片,將句柄存入file_id$fread(ram,file_id);/存圖片的二進(jìn)制數(shù)據(jù)到ram存儲(chǔ)器中(ram中的每個(gè)單元24位)$fclose(file_id);endinitial/為整型變量賦初值beginclk=0;i=0;j=0;x=0;endalways#5clk=clk;/定義時(shí)鐘信號(hào)周期為10nsinitialbegintxt_id=$fopen(C:/Users/HP/Desktop

3、/Pic_bin.txt);/打開建立的空白txt文檔,用來存儲(chǔ)圖片的十六進(jìn)制數(shù)據(jù)for(m=0;m=17;m=m+1)beginheaddata=ramm;/把ram中的二進(jìn)制數(shù)據(jù)按順序存入信息頭寄存器headdata(17*24個(gè)位)中$fwrite(txt_id,%b,headdata);/把每個(gè)ram中的值轉(zhuǎn)換為二進(jìn)制endendalways(posedgeclk)/在每個(gè)clk時(shí)鐘上升沿,輸入單行像素的信息if(i=255)/按行順序讀取單個(gè)像素信息(一行256個(gè)像素)beginfor(j=0;j=255;j=j+1)/使用for循環(huán)順序輸入單個(gè)像素(24位)的信息,至data寄存器

4、beginx=18+256*i+j;data=ramx;$fwrite(txt_id,%b,data);/將data寄存器中的數(shù)據(jù)以二進(jìn)制方式存入Pic_hex.txt文本endi=i+1;/每輸入完一行后,行數(shù)自加一,進(jìn)行下一行的數(shù)據(jù)輸入endelse/待行數(shù)大于256時(shí),跳出循環(huán)$fclose(txt_id);endmodule二、VERILOG圖像旋轉(zhuǎn)timescale1ns/100psmodulePic_Turn;parametersize=65554;reg23:0ram_turnsize-1:0,datamove,headdata;/datamove用于替換位圖單像素?cái)?shù)據(jù),head

5、data用于替換信息頭數(shù)據(jù)regclk;/定義clk為時(shí)鐘信號(hào)integertxtid1,txtid,p,i,j,n;initialbeginclk=0;i=0;j=0;n=0;endalways#5clk=clk;/設(shè)置clk時(shí)鐘頻率initialbegintxtid1=$fopen(C:/Users/HP/Desktop/Pic_bin.txt,rb);$fread(ram_turn,txtid1);$fclose(txtid1);txtid=$fopen(C:/Users/HP/Desktop/Pic_turn.txt);for(p=0;p=17;p=p+1)beginheaddata=

6、ram_turnp;$fwrite(txtid,%b,headdata);/將信息頭數(shù)據(jù)以十六進(jìn)制輸入至txt文件endendalways(posedgeclk)/在每個(gè)clk上升沿時(shí),輸入單個(gè)像素的信息(256位)if(i=255)beginfor(j=0;j=255;j=j+1)beginn=18+256*j+255-i;datamove=ram_turnn;$fwrite(txtid,%b,datamove);endi=i+1;endelse$fclose(txtid);endmodule三、旋轉(zhuǎn)后的數(shù)據(jù)文件處理成BMP位圖將位圖旋轉(zhuǎn)后的數(shù)據(jù)轉(zhuǎn)成十六進(jìn)制,程序如下:timescale1n

7、s/100psmodulePic_Turn;parametersize=65554;reg23:0ram_turnsize-1:0,datamove,headdata;/datamove用于替換位圖單像素?cái)?shù)據(jù),headdata用于替換信息頭數(shù)據(jù)regclk;定義clk為時(shí)鐘信號(hào)integertxtid1,txtid,p,i,j,n;initialbeginclk=0;i=0;j=0;n=0;endalways#5clk=clk;/設(shè)置clk時(shí)鐘頻率initialbegintxtid1=$fopen(C:/Users/HP/Desktop/Pic_bin.txt,rb);$fread(ram_turn,txtid1);$fclose(txtid1);txtid=$fopen(C:/Users/HP/Desktop/Pic_turn.txt);for(p=0;p=17;p=p+1)beginheaddata=ram_turnp;$fwrite(txtid,%h,headdata);/將信息頭數(shù)據(jù)以十六進(jìn)制輸入至txt文件endendalways(posedgeclk)/在每個(gè)clk上升沿時(shí),輸入單個(gè)像素的信息(256位)if(i=255)beginfor(j=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論