国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的Harris算法移植以及資源預(yù)評估

2012-06-29 01:37:26李龍勛唐普英唐湘成黃自力
電視技術(shù) 2012年23期
關(guān)鍵詞:乘法器角點邏輯

李龍勛,唐普英,唐湘成,劉 怡,黃自力

(1.電子科技大學(xué),四川 成都 611731;2.西南技術(shù)物理研究所,四川 成都 610041)

責(zé)任編輯:時 雯

FPGA是在CPLD可編程器件的基礎(chǔ)上進一步發(fā)展起來的新型高性能可編程邏輯器件。與ASIC相比,它具有設(shè)計開發(fā)周期短、制造成本低、開發(fā)工具先進以及可實時在線檢驗等優(yōu)點,所以被廣泛應(yīng)用于產(chǎn)品的原型設(shè)計和生產(chǎn)之中[1]。傳統(tǒng)上FPGA只能實現(xiàn)相對較小的邏輯電路,隨著工藝技術(shù)的提高,F(xiàn)PGA的容量和性能也不斷提高,如今FPGA已經(jīng)被用于實現(xiàn)大的邏輯電路甚至整個系統(tǒng)。

在實現(xiàn)大的邏輯電路設(shè)計時,應(yīng)對一些較為復(fù)雜或者重復(fù)性工作模塊多的情況,為了達到資源的有效利用,F(xiàn)PGA資源就需要進行預(yù)評估。對設(shè)計進行一個有效的資源評估能夠更好得利用FPGA芯片的資源。本文著重于FPGA上的算法的實現(xiàn)以及進行資源使用的預(yù)評估,以及多層次地評估算法在FPGA資源上的占用。

1 FPGA資源預(yù)評估的意義

FPGA可以在片內(nèi)實現(xiàn)細(xì)粒度、高度并行運算結(jié)構(gòu),所以FPGA最大優(yōu)勢在于硬件實現(xiàn)已及通過并行處理實現(xiàn)的效率增益。相比DSP,F(xiàn)PGA最大的優(yōu)勢是能夠在同一時間能處理大量不同的任務(wù),因而在涉及到復(fù)雜計算時可把DSP的一些任務(wù)轉(zhuǎn)移到FPGA中處理。

未來人們對通信的傳輸數(shù)據(jù)、圖像處理等方面要求越來越高,傳輸速率要求能達到100 Mbit/s~1 Gbit/s,這就對無線技術(shù)、帶寬、數(shù)據(jù)處理能力等提出更高要求。通過采用FPGA去做復(fù)雜的數(shù)據(jù)處理,可以實現(xiàn)更高的速率傳輸。

在FPGA應(yīng)對復(fù)雜的數(shù)據(jù)處理時,因為要消耗大量的Register和LUT等邏輯資源來實現(xiàn)復(fù)雜運算,所以有必要在編寫程序之前對算法資源進行預(yù)評估。提前的資源評估不僅可以更好地選擇芯片的型號,還可以對算法程序有較詳細(xì)的估計,在硬件選定的前提下能夠有更好的優(yōu)化算法。

2 對Harris算法的資源的評估

2.1 Harris角點檢測原理

角點是圖像的一個重要局部特征,它集中了圖像上很多重要形狀信息,且具有旋轉(zhuǎn)不變性,幾乎不受光照條件影響[2],本文采用的是Harris角點檢測算法。Harris算法是基于圖像灰度的角點檢測算法,若像素點所在位置的z方向梯度與y方向梯度的絕對值均比較大,則將該像素點判定為角點。

式中:w為高斯濾波進行去除噪聲處理;Ix和Iy分別為需要計算的像素在水平方向和垂直方向的一階灰度梯度[3]。

其中,式(1)、式(2)為計算相關(guān)函數(shù),然后使用式(3)的角點函數(shù)計算出圖像中的角點。最后根據(jù)角點檢測原理可以得到算法計算步驟如圖1所示。

圖1 算法流程圖

2.2 模板構(gòu)造

Harris算法在FPGA實現(xiàn)中需要構(gòu)造圖像數(shù)據(jù)矩陣,假設(shè)采用5×5的模板如圖2所示,即需要通過緩存4行4列的數(shù)據(jù),然后在通過模板進行相應(yīng)的計算。

圖2 5×5的模板實現(xiàn)

其中r11,r12等為移位寄存器;FIFO是先進先出存儲器,圖像數(shù)據(jù)一次串行輸入,利用行、場信號來控制讀寫信號,F(xiàn)IFO用來存儲每一行的數(shù)據(jù),使得 R11,R12,…,R55正好是5×5模板所對應(yīng)的圖像數(shù)據(jù)[4]。

2.3 資源的預(yù)評估

FPGA芯片主要由以下部分組成:可編程輸入輸出單元、基本可編程邏輯單元、數(shù)字時鐘管理模塊、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等[5]。

在算法未實現(xiàn)之前,在單一算法模塊中,能夠進行預(yù)評估的資源有RAM資源、邏輯資源(時序邏輯資源和組合邏輯資源)以及DSP模塊使用情況。由上面的算法流程可以得知在計算過程中使用到的是FIFO資源、移位寄存器資源、加法器、減法器和乘法器。

如圖3所示24位的 FIFO占用24個 LUT、6個M4KRAM資源和126的Register資源。一個16位的D觸發(fā)器占用16個LUT資源。

圖3 FIFO資源和D觸發(fā)器資源

如圖4所示,24位的加法器占用24LUT資源,24位減法器占用25LUT資源,12位乘法器占用2個DSP的9位模塊資源,本算法中沒有涉及到除法器所以沒有使用到除法器。

圖4 加法器、減法器和乘法器資源

2.3.1 RAM資源預(yù)評估

在Harris角點檢測算法中,采用的是5×5的模板窗口進行檢測,使用到FIFO資源。如圖3、圖4得知,F(xiàn)IFO占用了M4K的塊RAM資源。從FPGA的資源介紹中知道,塊RAM資源屬于FPGA定制資源,受M4K數(shù)量限制。

1)在對Ix進行計算中,5×5模板需要利用4個FIFO進行存儲,位寬和深度主要取決于圖像像素(這里取FIFO位寬為24 bit、深度為1024)。計算Iy和Ix的為相同模板,所以和Ix計算占用同樣資源。

2)在高斯濾波中,要針對Ix,Iy,Ixy三個值使用三個高斯濾波模塊。高斯濾波也使用5×5的模板,在資源的占用上,使用了4個FIFO(位寬24 bit、深度1024)。具體預(yù)評估資源如表1所示。

表1 RAM資源預(yù)評估

2.3.2 邏輯資源預(yù)評估

1)在Harris算法程序中,計算Ix,Iy時使用到了5個D觸發(fā)器進行移位,其中每個觸發(fā)器的位寬為16 bit(位寬受像素影響)同樣在計算高斯濾波時也使用5個D觸發(fā)器,位寬16 bit,一共使用20個D觸發(fā)器,位寬16 bit。在圖3、圖4可知,F(xiàn)IFO也會占用時序邏輯資源。具體預(yù)評估資源如表2所示。

表2 時序邏輯資源預(yù)評估

2)加減法器占用組合邏輯資源,受計算數(shù)據(jù)位寬的影響,每一位占用一個邏輯資源,由圖3、圖4中得知,F(xiàn)IFO也占用了LUT資源。具體預(yù)評估資源如表3所示。

表3 組合邏輯資源預(yù)評估

3)乘法器占用DSP elements資源,乘法器中位寬為36×36的占用8個DSP elements,18×18是占用2個DSP elements。在算法中乘法器中有3個24位的,有5個12位的,總共占用DSP elements 34個。如果是類似2×A的數(shù)字和數(shù)據(jù)相乘,而不是A×B的兩個數(shù)據(jù)相乘,此時的乘法相當(dāng)于加法,只占用組合邏輯資源而不占用DSP模塊。

2.4 Harris算法在FPGA的實現(xiàn)

根據(jù)圖2的算法流程,構(gòu)造的圖像數(shù)據(jù)矩陣,先計算出圖像像素在水平方向和垂直方向的一階灰度梯度Ix以及Iy。然后計算出m值再進行高斯濾波,最后根據(jù)M值計算R值求得角點。其中計算Ix,Iy值的時候注意Ix,Iy的非負(fù)性。下面為在FPGA中用Verilog語言計算Ix,Iy的值。

實現(xiàn)平臺采用的是Stratix系列的EP2S60F672C4芯片,其中含有的等效邏輯單元為60440,RAM資源為2544,192 bit,DSP 模塊有36 個,鎖相環(huán) PLL 有6 個,全局時鐘有16個。表4為StratixII系列芯片的資源[6]。

表4 StratixII芯片的資源

3 實驗結(jié)果

3.1 仿真結(jié)果和預(yù)評估比較

在Quartus 8.1軟件中完成Harris算法的FPGA程序,在軟件中仿真綜合可以得到結(jié)果如圖5、圖6、圖7所示。

如圖所示,在對比由軟件得到的RAM資源仿真結(jié)果和預(yù)評估的資源可以知道,ALUTs占用2666和預(yù)估計的4016相差1350,而Delicated logic registers占用2623和預(yù)估計的2262相差361,占用的RAM資源308353 bit和估計的393216 bit等相比相差84863 bit。理論預(yù)估計的要比實際占用的要多,其中ALUTS實際和估計差距較大原因在于FIFO在實際仿真中占用的ALUTS資源要比理論上要多。其他資源的預(yù)估計在仿真中得到相仿的結(jié)果。

3.2 實現(xiàn)圖像

最后將程序在FPGA的硬件平臺上實現(xiàn),輸入圖像是CCD實時灰度圖像,在閾值不大的情況下,得到圖8的實時圖像的Harris角點檢測。其中圖中的十字叉為檢測到的角點。

圖8 實時圖像的Harris角點檢測

4 小結(jié)

本文對Harris算法進行FPGA上的移植實現(xiàn),及對其在FPGA上資源的占用進行了預(yù)評估。從最后的圖像可以看出,在小閾值的情況下Harris算法在FPGA上實現(xiàn)了實時的角點檢測。從仿真的結(jié)果可以看出,預(yù)評估的各項參數(shù)和實際仿真出來的相差不大,其中的誤差取決于程序中流程編寫中使用到的其他邏輯門,以及FIFO實際應(yīng)用中占用的ALUT也比理論上的多。由此可以看出,只要知道算法的具體流程,在RAM資源和邏輯資源的預(yù)評估上是能有效提供參考價值的。

[1]俞吉波,孔雪.FPGA實際可用性評估與發(fā)展趨勢分析[J].計算機工程,2011,37(13):282-284.

[2]劉闖,龔聲蓉.基于角點采樣的多目標(biāo)跟蹤方法[J].中國圖象圖形學(xué)報,2008,13(10):1873-1877.

[3]何豐,胡俊.一種改進的圖像快速高精度角點檢測算法[J].電視技術(shù),2011,35(15):57-60.

[4]王鵬,向厚振.基于FPGA的動態(tài)可重構(gòu)邊緣檢測系統(tǒng)設(shè)計[J].電視技術(shù),2011,35(7):32-35.

[5]徐洋,黃智宇,李彥,等.基于Verilog HDL的FPGA設(shè)計與工程應(yīng)用[M].北京:人民郵電出版社,2009.

[6]Alter Product Catalog[EB/OL].[2012-05-13].http://www.altera.com.cn/literature/sg/product-catalog.pdf.

猜你喜歡
乘法器角點邏輯
刑事印證證明準(zhǔn)確達成的邏輯反思
法律方法(2022年2期)2022-10-20 06:44:24
邏輯
創(chuàng)新的邏輯
基于FAST角點檢測算法上對Y型與X型角點的檢測
女人買買買的神邏輯
37°女人(2017年11期)2017-11-14 20:27:40
基于FPGA的流水線單精度浮點數(shù)乘法器設(shè)計*
基于邊緣的角點分類和描述算法
電子科技(2016年12期)2016-12-26 02:25:49
基于圓環(huán)模板的改進Harris角點檢測算法
基于Harris角點和質(zhì)量評價的圖像篡改檢測
乘法器模塊在FPGA中的實現(xiàn)
宜宾市| 尼玛县| 墨江| 景德镇市| 安塞县| 宣城市| 墨脱县| 高唐县| 北宁市| 普兰县| 常德市| 青田县| 东莞市| 海原县| 娱乐| 临泽县| 凉山| 房山区| 方正县| 凤台县| 新平| 西昌市| 仁怀市| 田阳县| 于都县| 江华| 潜江市| 喀喇沁旗| 六枝特区| 安庆市| 江北区| 井研县| 东辽县| 报价| 兴业县| 阿合奇县| 宜丰县| 扶绥县| 南靖县| 阜宁县| 和静县|