新聞中心

        EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的多項(xiàng)式運(yùn)算器設(shè)計(jì)

        基于FPGA的多項(xiàng)式運(yùn)算器設(shè)計(jì)

        作者: 時(shí)間:2012-04-25 來(lái)源:網(wǎng)絡(luò) 收藏

        摘要:在級(jí)數(shù)的基礎(chǔ)上,設(shè)計(jì)一種基于的多項(xiàng)式。利用該可以在數(shù)字系統(tǒng)設(shè)計(jì)中更好地處理和應(yīng)用各種函數(shù)。首先實(shí)現(xiàn)基于的多項(xiàng)式,利用這個(gè)基本單元,進(jìn)而實(shí)現(xiàn)了比較復(fù)雜的函數(shù)。經(jīng)過驗(yàn)證,該運(yùn)算器結(jié)構(gòu)簡(jiǎn)單,運(yùn)算實(shí)時(shí)性和準(zhǔn)確性都能很好地滿足需要,最后對(duì)數(shù)據(jù)進(jìn)行了誤差分析。
        關(guān)鍵詞:多項(xiàng)式;運(yùn)算器;;電路設(shè)計(jì)

        0 引言
        傳統(tǒng)的DSP都基于CPU結(jié)構(gòu),是一種基于特定指令系統(tǒng)的處理器,但隨著運(yùn)算時(shí)鐘越來(lái)越接近電子器件可以接受的極限,這種DSP的處理能力也在接近它的極限;另一方面隨著EDA技術(shù)的發(fā)展,尤其像FPGA和CPLD器件的成熟和應(yīng)用,可以通過直接設(shè)計(jì)電路來(lái)實(shí)現(xiàn)并行的運(yùn)算,這樣運(yùn)算的效率從本質(zhì)上得到了提高,而且目前能實(shí)時(shí)地實(shí)現(xiàn)非常復(fù)雜的運(yùn)算,所以基于FPGA的運(yùn)算器被提上議事日程,并受到越來(lái)越多的重視。一種便于用電路實(shí)現(xiàn)而且通用性強(qiáng)的算法,可以幫助工程師簡(jiǎn)單高效地完成一個(gè)能在FPGA上工作的運(yùn)算器的設(shè)計(jì)。

        1 數(shù)字電路實(shí)現(xiàn)運(yùn)算的優(yōu)缺點(diǎn)
        初步的FPGA設(shè)計(jì)是用硬件描述語(yǔ)言完成器件邏輯功能的描述,一個(gè)好的設(shè)計(jì)必須考慮數(shù)字電路的特點(diǎn)。CPU是一個(gè)典型的數(shù)字電路,因?yàn)槠渲荒茏黾臃ㄟ\(yùn)算,所以需要通過程序?qū)⒏鞣N運(yùn)算都轉(zhuǎn)換為加法來(lái)完成。傳統(tǒng)的“數(shù)值分析”正是在這種程序設(shè)計(jì)的基礎(chǔ)上形成的,不但復(fù)雜而且效率不高,不能實(shí)現(xiàn)真正的實(shí)時(shí)運(yùn)算,而FPGA本身除了能做加法運(yùn)算外,做無(wú)符號(hào)數(shù)的減法和乘法也很方便。目前兩大FPGA生產(chǎn)商推出的集成開發(fā)軟件中,都有集成的加、減法和乘法的IP核,運(yùn)算效率非常高,對(duì)于無(wú)符號(hào)數(shù)的運(yùn)算一般只要1個(gè)時(shí)鐘,甚至是不需要時(shí)鐘的組合邏輯電路,文獻(xiàn)中也有這些運(yùn)算器的詳細(xì)介紹。但是直接做除法則不同,雖然也有除法IP核,但是需要許多個(gè)時(shí)鐘,而且占用邏輯資源很多,無(wú)論設(shè)計(jì)還是應(yīng)用都不方便。電路運(yùn)算的另一個(gè)缺點(diǎn)是表示有符號(hào)數(shù)和小數(shù),以及做有符號(hào)小數(shù)間的運(yùn)算也很麻煩。所以在設(shè)計(jì)DSP時(shí)總是希望能夠找到一種方法盡量的趨易避難。

        2 麥克勞林級(jí)數(shù)和多項(xiàng)式
        運(yùn)算器的作用是對(duì)數(shù)據(jù)進(jìn)行各種運(yùn)算,這個(gè)過程可以用一個(gè)函數(shù)來(lái)表示:y=f(x)。任何一個(gè)在零附近連續(xù)的函數(shù)都可以展開為麥克勞林級(jí)數(shù):
        a.jpg
        大部分常用函數(shù)的高階導(dǎo)數(shù)項(xiàng)很小或者為零,所以在精度允許的范圍內(nèi)取其中的有限項(xiàng)就可以,即用一個(gè)多項(xiàng)式做近似運(yùn)算,多項(xiàng)式運(yùn)算的特點(diǎn)在文獻(xiàn)中有詳細(xì)介紹。用FPGA實(shí)現(xiàn)多項(xiàng)式的運(yùn)算,處理很多復(fù)雜的函數(shù)將會(huì)十分方便。
        y=a0+a1×x+a2×x2+…+an×xn (2)
        本文討論的是一種可以用FPGA或CPLD實(shí)現(xiàn)多項(xiàng)式(2)運(yùn)算的運(yùn)算器。對(duì)于簡(jiǎn)單的多項(xiàng)式可以是一個(gè)組合邏輯電路,不需要時(shí)鐘,所以運(yùn)算效率很高。這樣許多運(yùn)算都可以簡(jiǎn)單而且高效的完成。


        上一頁(yè) 1 2 3 4 下一頁(yè)

        關(guān)鍵詞: FPGA 運(yùn)算器

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 华亭县| 健康| 广水市| 独山县| 凤山县| 夹江县| 呼和浩特市| 鄂尔多斯市| 绥宁县| 汕尾市| 北川| 斗六市| 乌拉特后旗| 临颍县| 绥宁县| 霍邱县| 昔阳县| 瑞安市| 福建省| 响水县| 永年县| 尼木县| 洪江市| 靖江市| 城步| 吉隆县| 开平市| 灯塔市| 玉林市| 杭锦旗| 封丘县| 沙田区| 普宁市| 淳化县| 新巴尔虎右旗| 正蓝旗| 晋中市| 乡宁县| 嘉祥县| 博罗县| 惠州市|