下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于FPGA的圖像加速器的設(shè)計摘要介紹了一種基于FPGA的圖像加速器的設(shè)計。本文硬件加速器的實質(zhì)是通過流水線設(shè)計來減少多余的操作達到加速的目的的,內(nèi)存是由DMA控制器訪問,之后DMA輸出地址和控制信號,在實際應(yīng)用中由于多個主設(shè)備可能同時訪問內(nèi)存而引起沖突,因此需引入仲裁器,控制內(nèi)存的總線控制權(quán)由哪個主設(shè)備來控制,之后經(jīng)由邊緣檢測加速器來處理圖像,實驗結(jié)果表明它可以實時、高效地完成圖像處理,這樣可以在圖像視頻處理上發(fā)揮很好的作用。關(guān)鍵字FPGA;硬件加速;圖像邊緣檢測1、引言在實際應(yīng)用中,為了完成信息的處理通常選取DSP或者ARM作為處理器.但隨著圖像越來越清晰所以對處理能力的要求很嚴格,單個處
2、理器不能解決個別實時系統(tǒng)對圖像的處理,因此需要改變處理的方式,DSP+FPGA就是很好的解決策略,將壓縮算法中比較難處理的部分交給FPGA來處理,通過這種方式來達到硬件加速的目的。不僅僅是視頻壓縮,在許多其他嵌入式系統(tǒng),對硬件配置的要求很高,有時為了達到算法運算速度的要求,安裝專用的嵌入式軟件,使用性能高的處理器芯片有時也無法達到性能要求,能達到,但是經(jīng)費太高,均不得不設(shè)計專用硬件。2、總體架構(gòu)設(shè)計該架構(gòu)既支持cpu讀寫memory,也支持cpu讀寫acc,acc讀寫memory,其中CPU為8位,地址總線16位,虛擬CPU(內(nèi)部不寫指令,僅做一次長整加速器的運算)唯一的加速器設(shè)備:長整加速器
3、,在獲得CPU授權(quán)(訪問它的內(nèi)部寄存器)后,通過對Memory資源的直接訪問,完成64位無符號長整的加減乘除算術(shù)運算加速器運算結(jié)束后,系統(tǒng)中的處理器和DMA設(shè)備訪問內(nèi)存時共用訪問通道,當(dāng)發(fā)生多個主設(shè)備一起訪問內(nèi)存時,就會不可避免的發(fā)生沖突。由仲裁器實施仲裁策略就必須被引入,通過中斷信號通知CPU仲裁器,將訪問權(quán)限交給唯一的訪問者,因此有別的主設(shè)備向處理器發(fā)出訪問內(nèi)存的信號時,由該處理器決定哪個設(shè)備可以訪問內(nèi)存,進行長整型運算時,將源(Source)與目標(Target)讀入加速器,執(zhí)行64位的運算,之后將64位的運算結(jié)果通過8位的數(shù)據(jù)總線寫回目標(Target)存儲器,該總體架構(gòu)設(shè)計如圖1所示
4、。3、算法分析3.1算法對比假設(shè)該算法核心在整個執(zhí)行周期所占用的時間比例為k。那么非核心算法的時間比例為(1-k),所以可以得到以下公式:t=kt+(1-k)t(1)假如該算法核心通過所設(shè)計的加速器把處理速度較原來的速度相比提高s倍,那么算法核心的處理時間就減少到原來的1/s,在整個執(zhí)行周期中非算法核心的處理時間不變??梢缘玫皆撍惴偟倪\行時間為:t=kt/s+(1-k)t(2)算法核心沒有通過加速處理的時間除以加速后的處理時間可以得到該整體性能所提高的比例:S=(kt+(1-k)t)/(kt/s+(1-k)t)=1/(k/s+(1-k)(3)最后得到的公式叫Amdahl法則,Amdahl是以
5、GeneAmdahl的名字命名的,Amdahl是并行計算的先驅(qū)之一。該式表明算法核心在整個算法執(zhí)行時間中所占的比例很大程度影響核心算法通過加速處理所帶來的整體性能的提高。假設(shè)把該算法在嵌入式處理器上運行的時間分成兩個不同的部分,并且執(zhí)行兩部分所花費的時間可以估算出來,也就是分成兩個核心(kernel)算法,一個占總時間的80%,而另一個只占總時間的20%。若用一個硬件加速器來加速算法核心,我們將第一個算法核心的運行速度提高到原來的10倍,對第一個算法核心進行加速處理所帶來的總體性能提升為:圖2算法模塊設(shè)計4、圖像邊緣檢測模塊的設(shè)計圖像邊緣檢測法的原理是中心像素點和它周圍的八個像素點都同時乘以一
6、個系數(shù)(通常是一個卷積表(convolutionmask)1/(0.8/10)+(1-0.8)=3.57(4)后相加的一個卷積過程,通過該過程來把每個像素點在每個方向上的導(dǎo)數(shù)值估計出來。該Sobel卷積表的Gx和Gy可以分別用于計(5)對第二個算法核心進行加速處理帶來的總體性能提升為:1/(0.2/10)+(1-0.2)=1.253.2結(jié)果分析從結(jié)果對比可以看到,雖然第二個算法核心提高的運算速度是第一個的10倍,但是由于它在原來總運行時間里所占的比例較低,對其進行加速處理也只能帶來較小的性能改善。而對第一個算法核心進行加速處理會對總體性能產(chǎn)生更顯著的效果。所以我們在開始正式設(shè)計硬件時必須找到主
7、要矛盾,即占總運行時間比例較高的部分,針對這部分算法程序進行硬件加速器的設(shè)計,以期望取得顯著效果,該算法設(shè)計模塊如圖2所示。算x和y方向的導(dǎo)數(shù)值。Dx和Dy是中心像素點和它周圍的八個像素點都同時乘以一個系數(shù)(通常是一個卷積表(convolutionmask)后相加,這樣就把x和y方向的偏導(dǎo)數(shù)值分別求了出來。最后,利用(6)式將中心像素點的導(dǎo)數(shù)求出來。計算公式如下式所示:IDI二.二-二為了得到導(dǎo)數(shù)幅值的最大值和最小值,對上式作如下簡化:IDI=I二:I+I二I(7)圖3展示了每個操作步驟中的具體數(shù)據(jù),通過并行操作將原始圖像從上層像素開始到底部像素的導(dǎo)數(shù)計算出來。對于系數(shù)值是0的部分積我們已經(jīng)省
8、略,因為該操作沒有任何意義。圖3sobel數(shù)據(jù)操作該架構(gòu)是獨立的圖像邊緣檢測硬件,原始圖像(亮度),儲存在memory中,忽略攝像頭與memory的寫顯存操作,用偏導(dǎo)數(shù)的絕對值計算,仍然采用水平偏導(dǎo)Dx和垂直偏導(dǎo)Dy絕對值之和,全速流水作業(yè),加速作業(yè)時,無任何空閑周期.5、系統(tǒng)仿真及結(jié)果測試使用Verilog語言編寫,利用Altera公司quartusll開發(fā)軟件進行設(shè)計調(diào)試,首先通過PhotoshopCS3對圖片的灰度進行處理得到圖4,為方便處理將格式修改為bmp格式,在bmp格式選項中將位深度改為8位,之后通過Matlab軟件將圖4讀取并轉(zhuǎn)換成Verilog的存儲器初始化txt格式,在qu
9、artus的Sobel_Filter模塊輸出亮度倒數(shù)圖像txt文件,再通過Matlab轉(zhuǎn)換用閾值切換得到的邊緣圖像。在quartus中RTLView中可以清晰的看到各模塊的層次結(jié)構(gòu),如圖4。圖5波形仿真圖將mem_data波形的十六進制數(shù)據(jù)與亮度導(dǎo)數(shù)圖像txt文件進行對比數(shù)據(jù)沒有發(fā)生6錯、誤結(jié)。論每計算一個像素的導(dǎo)數(shù)需要周圍8個像素的數(shù)值,計算全部像素必須與視頻播放同步,即計算一幀像素的時間必須小于等于視頻播放時一幀的時間(幀周期),即計算一個像素的平均時間必須小于等于視頻播放時一個像素的傳輸時間,“帶寬”的概念即是在一個像素的平均傳輸時間內(nèi)(100ns)完成導(dǎo)數(shù)計算所需要的時間比例。或者說,
10、是在一幀視頻播放周期內(nèi),完成導(dǎo)數(shù)計算諸操作所需要的時間比例如果每次單獨讀取全部9個像素,需要9X20ns=180ns視頻播放時每像素的平均傳輸時間只有100ns這樣,導(dǎo)數(shù)的計算就跟不上視頻的播放了,此時,僅讀像素的操作就占據(jù)180/100=180%現(xiàn)在的做法是:首先分別讀入相鄰三行的一個字(32bit=4byte)這用去了三個讀周期,即3ng,X20ns=60ns,然后將行寄存器中的最左列的三個像素放入計算陣列中,然后流水線計算)出導(dǎo)數(shù)將行寄存器中左移動一次將行寄存7“叱器最左端移入計算陣列,計算陣列同樣左移-一次,使用流水線計算出該導(dǎo)數(shù)將行寄存器中的第3列移入計算陣列,使用流水線計算出該導(dǎo)數(shù)
11、將行寄存器中的第4列移入計算陣圖4RTL級視圖最后開始分析波形仿真圖,如圖5所示列,使用流水線計算出該導(dǎo)數(shù),到目前為止,完成4個像素的導(dǎo)數(shù)計算,使用了三個字的讀周期即60ns隨后繼續(xù)讀入三個字,重復(fù)上述過程,計算4個像素這樣平均400ns周期內(nèi),讀內(nèi)存+讀視頻+寫導(dǎo)數(shù)=100ns,占100/400=25%剩余的75%可以用于其他操作。參考文獻崔屹數(shù)字圖像處理技術(shù)與應(yīng)用M.北京:電子工業(yè)出版社,1997劉真芳,王運瓊,朱敏.數(shù)字圖像處理與分析M.北京:清華大學(xué)出版社,2006劉建清.從零開始學(xué)CPLD和VerilogHDL編程技術(shù)M.北京:國防工業(yè)出版社,2006任曉東,文博.CPLD/FPGA高級應(yīng)用開發(fā)指南M.北京:電子工業(yè)出版社,2003劉韜,樓興華.FPGA數(shù)字電子系統(tǒng)設(shè)計與開發(fā)實例導(dǎo)航M.北京:人名郵電出版社,2005王偉.Verilog程序設(shè)計
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024訂購酒的購銷合同范本范文
- 專題6 課內(nèi)閱讀 (一)(知識盤點+試題)-2022-2023學(xué)年五年級語文下冊期末復(fù)習(xí)
- 城區(qū)生活垃圾焚燒發(fā)電工程PPP項目招投標書范本
- 2024路沿石購銷合同
- 2024商鋪租賃標準合同范本
- 2024電子產(chǎn)品購銷合同格式模板
- 2024物業(yè)保潔勞務(wù)合同
- 2024股權(quán)轉(zhuǎn)讓委托合同標準范本
- 規(guī)劃課題申報范例:《習(xí)近平新時代中國特色社會主義思想學(xué)生讀本》教學(xué)研究(附可修改技術(shù)路線圖)
- 茶水贈送合同(2篇)
- 煙花爆竹從業(yè)人員安全培訓(xùn)試題
- 電梯使用現(xiàn)場類隱患專項排查清單
- 一例下肢靜脈潰瘍患者的個案護理論文
- 危巖穩(wěn)定性計算表格-滑移式-傾倒式-墜落式-完整版
- 直播運營團隊組織架構(gòu)及崗位職責(zé)解析
- 肝膽外科運用PDCA循環(huán)縮短三四類手術(shù)患者術(shù)后留置導(dǎo)尿的時間
- JCT640-2010 頂進施工法用鋼筋混凝土排水管
- 注塑車間平面規(guī)劃圖OK
- 商戶洽談記錄表
- 鎮(zhèn)衛(wèi)生院績效考核方案
- 9.2+積極投身創(chuàng)新實踐(高效教案)-【中職專用】中職思想政治《哲學(xué)與人生》(高教版2023基礎(chǔ)模塊)
評論
0/150
提交評論