




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一種基于FPGA硬件求解函數(shù)的簡(jiǎn)化方法摘要:本文研究了一種運(yùn)用FPGA進(jìn)行數(shù)據(jù)處理的方法,包括:提取輸入數(shù)據(jù)的高log2M個(gè)比特位的數(shù)據(jù),作為高有效位,根據(jù)預(yù)先設(shè)置的目標(biāo)函數(shù)的計(jì)算表格,查找所述高有效位對(duì)應(yīng)的目標(biāo)函數(shù)值y(n)以及高有效位+1對(duì)應(yīng)的目標(biāo)函數(shù)值y(n+1);提取輸入數(shù)據(jù)的剩余比特位數(shù)據(jù),作為低有效位,并將所述低有效位與y(n)和y(n+1)的差值相乘,得到偏移值off(n),將該偏移值與所述高有效位對(duì)應(yīng)的目標(biāo)函數(shù)值y(n)相加,將計(jì)算結(jié)果作為所述輸入數(shù)據(jù)對(duì)應(yīng)的目標(biāo)函數(shù)值。本方法具有控制簡(jiǎn)單、結(jié)構(gòu)規(guī)則、單運(yùn)算周期、計(jì)算精度較高的特點(diǎn),適合于FPGA的數(shù)據(jù)處理實(shí)現(xiàn)。引言
現(xiàn)場(chǎng)可編程門陣列(FPGA)芯片在許多領(lǐng)域均有廣泛的應(yīng)用,尤其是在無(wú)線通信領(lǐng)域。FPGA具有極強(qiáng)的實(shí)時(shí)性和并行處理能力,這使其對(duì)信號(hào)進(jìn)行實(shí)時(shí)處理成為可能。FPGA內(nèi)部一般都包含邏輯單元(查找表/觸發(fā)器)、存儲(chǔ)單元(BRAM)、乘加單元(MAC)和一些其他的時(shí)鐘、引腳單元等[1-3]?,F(xiàn)代數(shù)字信號(hào)處理的主要發(fā)展趨勢(shì)是:算法結(jié)構(gòu)日趨復(fù)雜,計(jì)算量大,實(shí)時(shí)性要求高,并且包含大量的三角函數(shù)、開(kāi)方、對(duì)數(shù)等復(fù)雜函數(shù)的計(jì)算。但FPGA內(nèi)部的乘加單元并不適合直接進(jìn)行此類函數(shù)的計(jì)算,需要把各種復(fù)雜函數(shù)分解為簡(jiǎn)單的移位、加法和乘法結(jié)構(gòu),進(jìn)而在FPGA中實(shí)現(xiàn)[4]。當(dāng)前,在FPGA上實(shí)現(xiàn)三角函數(shù)、開(kāi)方、對(duì)數(shù)等復(fù)雜函數(shù)的計(jì)算,技術(shù)領(lǐng)域最常見(jiàn)的是除法,其次為開(kāi)方和三角函數(shù),很少涉及對(duì)數(shù)和其他復(fù)雜一些的函數(shù)。而在FPGA具體的實(shí)現(xiàn)上,此類函數(shù)一般采用直接查表法或冪級(jí)數(shù)展開(kāi)法,對(duì)于三角函數(shù)和開(kāi)方的計(jì)算,也會(huì)采用CORDIC的計(jì)算方法,但這三種方法的應(yīng)用都有一定的局限性[4]。1現(xiàn)有的FPGA實(shí)現(xiàn)方法
(1)在FPGA上采用直接查表方法,來(lái)實(shí)現(xiàn)函數(shù)的計(jì)算,具有:
優(yōu)點(diǎn)——通用性強(qiáng)、結(jié)構(gòu)簡(jiǎn)單;
缺點(diǎn)——隨著輸入位寬的增加,內(nèi)部存儲(chǔ)量的消耗呈指數(shù)性增長(zhǎng)。
表1給出了不同輸入輸出位寬所需要的存儲(chǔ)單元(BRAM)。表1不同輸入輸出位寬所需要的存儲(chǔ)單元可以看出,輸入輸出位寬較小時(shí),直接查表法可以滿足實(shí)現(xiàn)要求,但在數(shù)字信號(hào)處理領(lǐng)域,輸入輸出一般都在16bits以上,這時(shí)采用直接查表法就很難滿足實(shí)現(xiàn)需求。這里以開(kāi)方算法為例進(jìn)行說(shuō)明。采用直接查表法進(jìn)行開(kāi)方計(jì)算有2種方式。方式一:在完全保證精度的條件下,采用直接查表法。若開(kāi)方為16bits輸入16bits輸出,在完全保證精度的條件下,F(xiàn)PGA就需要存儲(chǔ)216深度的數(shù)據(jù),需要64塊18kBRAM的存儲(chǔ)空間。而一片中等FPGA一般包含幾十塊到幾百塊的18kBRAM存儲(chǔ)單元,此時(shí)計(jì)算就要用掉大部分的存儲(chǔ)單元,顯然不滿足實(shí)現(xiàn)的資源需求。方式二:降低精度,減少輸入位寬,采用直接查表法。表2直接查表法開(kāi)方誤差表可以看出,隨著實(shí)際有效輸入的增加,計(jì)算精度變大,很難滿足計(jì)算的誤差要求。(2)在FPGA上采用冪級(jí)數(shù)展開(kāi)法計(jì)算函數(shù)。
優(yōu)點(diǎn)——計(jì)算精度可控,多級(jí)展開(kāi)可以達(dá)到較高的計(jì)算精度;
缺點(diǎn)——冪級(jí)數(shù)展開(kāi)法為了達(dá)到較高的精度,需要多級(jí)展開(kāi),這樣就需要采用較多的資源來(lái)實(shí)現(xiàn)。
以exp為例(0~π/4范圍內(nèi)),采用三角函數(shù)冪級(jí)數(shù)展開(kāi)法:
若輸入為16bits,采用冪級(jí)數(shù)展開(kāi)法的計(jì)算框圖如圖1。
從資源方面考慮,三角函數(shù)冪級(jí)數(shù)展開(kāi)法在FPGA中的實(shí)現(xiàn)需要5級(jí)乘法和3級(jí)加法,考慮每級(jí)乘法位寬需要擴(kuò)展,實(shí)際需要FPGA的12個(gè)乘法器
(18bits×18bits)資源。此外從誤差方面考慮,0~π/4范圍內(nèi),cosΦ的最大誤差為0.046%,sinΦ的最大誤差為0.35%。
圖1冪級(jí)數(shù)展開(kāi)法實(shí)現(xiàn)exp計(jì)算此外冪級(jí)數(shù)展開(kāi)法的應(yīng)用范圍也比較有限,開(kāi)方、倒數(shù)、對(duì)數(shù)、三角函數(shù)的計(jì)算可以采用冪級(jí)數(shù)展開(kāi)法,但對(duì)于等較復(fù)雜的函數(shù)計(jì)算就不再適合用此方法進(jìn)行計(jì)算。(3)在FPGA上采用CORDIC法來(lái)實(shí)現(xiàn)函數(shù)的計(jì)算。
優(yōu)點(diǎn):將復(fù)雜的運(yùn)算分解為簡(jiǎn)單移位、加迭代
運(yùn)算,結(jié)構(gòu)規(guī)則,運(yùn)算周期可以預(yù)測(cè),比較適合于FPGA實(shí)現(xiàn);
缺點(diǎn):一般使用多周期方式,單周期方式資源消耗較高,并且計(jì)算僅限于向量旋轉(zhuǎn)、開(kāi)方等有限的范圍。
采用CORCIC計(jì)算三角函數(shù),16bits輸入,在多周期條件下需要500個(gè)左右的LUT/FFs,在單周期條件下,需要1000個(gè)左右的LUT/FFs。2本文提出的方法
本文在FPGA上采用兩級(jí)方法進(jìn)行函數(shù)計(jì)算:第一級(jí),直接利用輸入數(shù)據(jù)的高有效位確定計(jì)算結(jié)果的有效范圍;第二級(jí),直接利用輸入數(shù)據(jù)的低有效位進(jìn)行計(jì)算結(jié)果的誤差調(diào)整。本研究方法充分利用FPGA內(nèi)部的各種邏輯資源、乘加器(或乘法器)資源和BRAM資源:可以根據(jù)FPGA內(nèi)部BRAM資源的大小采用相應(yīng)深度的數(shù)據(jù)表存儲(chǔ)第一級(jí)數(shù)據(jù)的有效范圍;采用FPGA內(nèi)部的乘加器(或乘法器)資源進(jìn)行乘加操作。此方法具有控制簡(jiǎn)單,結(jié)構(gòu)規(guī)則,單運(yùn)算周期,計(jì)算精度較高的特點(diǎn),適合于FPGA的算法實(shí)現(xiàn)。此外,采用本研究方法的兩級(jí)計(jì)算的方法,不同函數(shù)的計(jì)算實(shí)現(xiàn)方法一致,只要修改第一級(jí)計(jì)算高有效位數(shù)據(jù)表格中的數(shù)據(jù),就可以復(fù)用設(shè)計(jì),有利于資源共享和模塊化實(shí)現(xiàn)。圖2FPGA兩級(jí)法進(jìn)行函數(shù)的計(jì)算同現(xiàn)有方案的比較分析:
(1)同直接查表法比較
以開(kāi)方為例進(jìn)行,資源和誤差的列表如表3??梢钥闯?,在資源和誤差方面,本研究方法在FPGA上實(shí)現(xiàn)函數(shù)計(jì)算優(yōu)勢(shì)明顯。此外,F(xiàn)PGA可以通過(guò)增加存儲(chǔ)單元和擴(kuò)展輸出位寬來(lái)進(jìn)一步提高計(jì)算精度。表3兩級(jí)計(jì)算法開(kāi)方同直接查表法誤差比較表(2)同冪級(jí)數(shù)展開(kāi)法的比較
首先,本問(wèn)題出的新方法比冪級(jí)數(shù)展開(kāi)法的應(yīng)用范圍更廣泛。其次,在同樣的函數(shù)下,以exp的計(jì)算為例,本文提出的新方法資源更好,誤差更小。在資源方面,F(xiàn)PGA上采用的兩級(jí)計(jì)算方法,同時(shí)計(jì)算只需要2個(gè)乘法器即可,遠(yuǎn)遠(yuǎn)少于冪級(jí)數(shù)展開(kāi)法的資源消耗;在誤差方面,0~π/4范圍內(nèi),16bits輸入,cosΦ和sinΦ的最大誤差都小于10-5,因此此方法誤差比冪級(jí)數(shù)展開(kāi)法誤差要小。(3)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店資產(chǎn)投資與經(jīng)營(yíng)管理合伙協(xié)議書二零二五
- 二零二五年度私人住宅裝修工人安全責(zé)任合同
- 2025年度海洋資源開(kāi)發(fā)橫向課題執(zhí)行協(xié)議
- 二零二五年度小程序游戲運(yùn)營(yíng)合作協(xié)議
- 2025年度電子元器件采購(gòu)合同主要內(nèi)容簡(jiǎn)述
- 二零二五年度購(gòu)房合同定金支付及變更協(xié)議書
- 2025年度酒店員工勞動(dòng)權(quán)益保障合同
- 二零二五年度綠色建筑股權(quán)協(xié)議及合伙人合作開(kāi)發(fā)協(xié)議
- 2025年度美發(fā)店員工工傷事故處理勞動(dòng)合同
- 空調(diào)安裝工勞動(dòng)合同
- 學(xué)習(xí)2022《工業(yè)和信息化領(lǐng)域數(shù)據(jù)安全管理辦法(試行)》重點(diǎn)內(nèi)容PPT課件(帶內(nèi)容)
- 光伏發(fā)電場(chǎng)建設(shè)工程資料表格(239表格齊全)
- 古代漢語(yǔ)文選無(wú)標(biāo)點(diǎn)(第一冊(cè),第二冊(cè))
- 《紙馬》教學(xué)設(shè)計(jì)公開(kāi)課
- 西服裙縫制工藝課件(PPT 14頁(yè))
- 城市道路綠化養(yǎng)護(hù)工作
- 國(guó)內(nèi)木材炭化技術(shù)專利現(xiàn)狀
- 施耐德公司品牌戰(zhàn)略
- 校企合作人才培養(yǎng)模式實(shí)踐研究開(kāi)題報(bào)告定稿
- 城市供水計(jì)劃統(tǒng)計(jì)指標(biāo)解釋
- 塑膠原料檢驗(yàn)規(guī)范
評(píng)論
0/150
提交評(píng)論