基于FPGA 的多用途提升小波變換核
FPGA 及提升核的實(shí)現(xiàn)
FPGA 及重構(gòu)特性
FPGA(Field Programmable Gate Array ,現(xiàn)場(chǎng)可編程門(mén)陣列) 是超大規(guī)模集成電路(VL、SI) 技術(shù)和計(jì)算機(jī)輔助設(shè)計(jì)(CAD) 技術(shù)發(fā)展的結(jié)果。FPGA 器件集成度高、體積小、具有通過(guò)用戶(hù)編程實(shí)現(xiàn)專(zhuān)門(mén)應(yīng)用的功能。FPGA 一般由3 種可編程電路和1 個(gè)用于存放編程數(shù)據(jù)的SRAM 組成。這3 種可編程電路是:可編程邏輯塊CLB (Configurable Logic Block) 、輸入/輸出模塊IOB ( I/O Block) 和互連資源IR( Interconnect Resource) 。由于基于小波的應(yīng)用越來(lái)越廣泛,所以利用FPGA 的靈活結(jié)構(gòu)實(shí)現(xiàn)可重構(gòu)的提升框架小波變換核具有很高的應(yīng)用價(jià)值和研究?jī)r(jià)值。設(shè)計(jì)從基本的數(shù)學(xué)模塊和邏輯模塊開(kāi)始,采用由下至上的設(shè)計(jì)方法,所有的庫(kù)模塊用VHDL 語(yǔ)言描述,允許根據(jù)設(shè)計(jì)精度要求選擇每個(gè)單元的數(shù)據(jù)通道大小。為了滿足不同環(huán)境的需要,既要求可以改變單獨(dú)模塊的通道層深度,又要求考慮與其他設(shè)備的相容性。將提升方法與FPGA 的特性結(jié)合起來(lái),使不同的提升小波變換在FPGA 上可滿足不同應(yīng)用場(chǎng)合的需要。
圖2 提升核結(jié)構(gòu)體
如圖1 所示,LS 變換是連續(xù)的獨(dú)立的簡(jiǎn)單濾波操作過(guò)程,這個(gè)過(guò)程就是提升步驟。由圖1 可導(dǎo)出優(yōu)化了的提升核結(jié)構(gòu)體。近幾年,采用JPEG2000 標(biāo)準(zhǔn)進(jìn)行圖像傳輸成為熱點(diǎn),很多文獻(xiàn)中均提出了不同的提升小波變換結(jié)構(gòu)體。
但是這些提升結(jié)構(gòu)體大都只考慮可操作性,而忽略了功耗和靈活性。作者提出的提升核結(jié)構(gòu)體(圖2) 采用與以往不同的由下至上的設(shè)計(jì)方法。主要特點(diǎn)是指定了1 個(gè)單獨(dú)的流水式的乘法單元和2個(gè)加法單元。乘法單元主要用于處理濾波器系數(shù)的對(duì)稱(chēng)問(wèn)題,加法單元用于實(shí)現(xiàn)分析或綜合的變換。
值得注意的是所有的通道層都可用所設(shè)計(jì)的庫(kù)模塊來(lái)排列,因此為了保證內(nèi)部IP 核數(shù)據(jù)流的同步性,必須考慮前后交叉問(wèn)題。例如,在加法輸出時(shí),已經(jīng)放置了一個(gè)乘法器,允許對(duì)提升步驟的結(jié)果進(jìn)行歸一化。采用這種設(shè)計(jì)方法,能獲得最高的數(shù)據(jù)精度和最快的運(yùn)行速度。此外,整數(shù)的數(shù)學(xué)單元更容易進(jìn)行深層的流水操作,獲得很高的數(shù)據(jù)吞吐量。圖2 所提出的結(jié)構(gòu)既考慮了可操作性又考慮了應(yīng)用的靈活性,由于提高了運(yùn)行速度,所以降低了功耗。
邏輯綜合結(jié)果
首先采用VHDL 語(yǔ)言來(lái)描述由基本的可重構(gòu)的數(shù)學(xué)模塊和邏輯模塊設(shè)計(jì)的變換核結(jié)構(gòu)體,然后在MAX+PLUSⅡ集成環(huán)境下進(jìn)行功能仿真,實(shí)現(xiàn)所需變換核,最后進(jìn)行FPGA 邏輯綜合。在Altera1 公司的FLEX10K上設(shè)計(jì)的結(jié)構(gòu)體,經(jīng)過(guò)邏輯綜合得到很滿意的結(jié)果,見(jiàn)表1 。表1 的結(jié)果直接由邏輯綜合得到,沒(méi)有考慮各種客觀因素引起的延時(shí)。在設(shè)計(jì)流程步驟之后的安放運(yùn)行過(guò)程中,可進(jìn)行更精確的時(shí)序分析。另外,為了獲得完整的分析結(jié)果,需參考FPGA 廠家提供的指標(biāo)估計(jì)功率消耗,使用時(shí)應(yīng)選擇功耗小的可編程器件,更好地滿足不同使用環(huán)境的要求。以(5 ,3) 濾波器為例,計(jì)算(5 ,3) 小波需要4個(gè)提升核的疊加,所提出的結(jié)構(gòu)體計(jì)算正向或逆向(5 ,3)DWT ,對(duì)每幀像素1400×1400 采用15位采樣數(shù)和12位合成濾波器系數(shù),以全時(shí)鐘頻率運(yùn)行,進(jìn)行5 層分解、重構(gòu),每秒鐘能處理25 幀圖像,功耗為267.6 mW。
表1 提升核綜合結(jié)果
結(jié)束語(yǔ)
提出的可重構(gòu)的提升核結(jié)構(gòu)體,采用特殊的即從下至上的設(shè)計(jì)方法,保證了最大限度地重復(fù)利用性和重構(gòu)特性。仿真結(jié)果說(shuō)明,提升小波變換核的結(jié)構(gòu)體無(wú)論在處理能力和功耗方面都取得了很好的結(jié)果,尤其在處理速度上,能滿足圖像處理實(shí)時(shí)性要求。將來(lái)的進(jìn)一步發(fā)展是將更多的自由參數(shù)加入基本的算術(shù)模塊中,保證結(jié)構(gòu)體具有更好的操作性,并且使功率消耗減少,能滿足不同應(yīng)用場(chǎng)合的需要,對(duì)降低設(shè)備成本,提高使用效率有實(shí)際意義。
評(píng)論