基于PLC的SD加法器在DSP領(lǐng)域中的應(yīng)用
何召蘭 袁麗英 徐倩 摘 要:本文提出了一種以sd(singed_digit)數(shù)表示的求和計算方法,克服了傳統(tǒng)的二進(jìn)制數(shù)表示求和過程中產(chǎn)生的進(jìn)位對運算速度的限制。并在此基礎(chǔ)上應(yīng)用硬件描述語言(vhdl)設(shè)計實現(xiàn)了基于可編程邏輯器件(pld)的sd加法器,簡化了求和運算過程。實驗證明,通過這種算法可得到運算速度高、電路結(jié)構(gòu)簡單的高速加法器。以滿足數(shù)字信號處理(dsp)系統(tǒng)的高性能要求。 關(guān)鍵詞:pldsd數(shù)表示 sd加法器 dsp???? 信息社會的標(biāo)志性產(chǎn)品是電子產(chǎn)品,現(xiàn)代電子產(chǎn)品的性能越來越高,復(fù)雜度越來越大。在當(dāng)今信息時代,數(shù)字技術(shù)已成主流。數(shù)字信號處理技術(shù)(dsp)在許多領(lǐng)域內(nèi)具有廣泛的用途,如雷達(dá)、圖象處理、數(shù)據(jù)壓縮和數(shù)字通信機等。傳統(tǒng)的解決數(shù)字信號系統(tǒng)設(shè)計問題的方法主要有兩種:(1)采用dsp處理器,(2)采用固定功能的dsp器件或asic器件。隨著dsp系統(tǒng)復(fù)雜程序和功能要求的提高,這些dsp解決方案暴露出缺陷。dsp處理器方案成本低,但處理數(shù)據(jù)的實時性能差,限制了它在高速和實時系統(tǒng)中的應(yīng)用;固定功能的dap器件或asic器件可提供良好的實時性,但其靈活性差,不適合在實驗室或技術(shù)開發(fā)等場和使用。現(xiàn)在,大規(guī)模可編程邏輯器件為dsp提供了第三種方案,cpld及fpga和dsp技術(shù)結(jié)合,能夠在集成度、速度和系統(tǒng)功能方面滿足dsp的需要,同時具備dsp處理器的靈活性和固定功能dsp芯片的實時性[2]。? 加法器和乘法器是構(gòu)成所有dsp系統(tǒng)的基本結(jié)構(gòu)。加法器是最基本的dsp算法,無論乘法、減法、除法或fft運算最終也要分解為加法運算。應(yīng)用傳統(tǒng)的二進(jìn)制數(shù)表示實現(xiàn)的許多超大規(guī)模集成運算電路可完成大量數(shù)據(jù)的實時運算,但進(jìn)位限制了運算速度[3]。因此,一個沒有進(jìn)位的求和運算系統(tǒng)是眾所期望的。? sd數(shù)是一種性能優(yōu)良的數(shù)值表示形式[4],在運算過程中可限制進(jìn)位的產(chǎn)生,且位數(shù)的增加不影響運算速度,實現(xiàn)了真正意義上的并行運算。在本文中我們提出了一種新型的基于以2為基數(shù)p位sd數(shù)表示的加法電路。以下給出了sd數(shù)的表示方法,并用sd數(shù)在可編程邏輯器件[2]上用硬件描述語言(vhld)實現(xiàn)sd加法器。1 以2為基數(shù)的sd數(shù)表示方法?
2 用sd數(shù)表示的求和算法 應(yīng)用以上sd數(shù)表示方法,無需進(jìn)位即可實現(xiàn)加法運算。而通常以二進(jìn)制數(shù)表示的加法運算過程中都要產(chǎn)生因為,位數(shù)越多產(chǎn)生的進(jìn)位越多,將嚴(yán)重影響運算速度[1]。兩個p位sd數(shù)相加,即s=a+b,可通過以下兩步實現(xiàn)。? 設(shè)ci、mi和si分別是第i位sd數(shù)(i=0,1,2,…,p-1)的中間進(jìn)位、中間和及結(jié)果,每一位都按以下兩個步驟進(jìn)行計算。
p=5時,a=(1,0,-1,-1,-1)sd=9,b=(1,-1,0,-1,-1)sd=5,圖1說明了不同p值的sd數(shù)表示的5+9=14的計算過程。? 由圖1可知,應(yīng)用以上算法實現(xiàn)的求和過程只需兩步即可完成,且運算速度與操作數(shù)位數(shù)無關(guān)。而傳統(tǒng)的二進(jìn)制數(shù)求和運算則有進(jìn)位產(chǎn)生,并行進(jìn)位加法器結(jié)構(gòu)簡單,但產(chǎn)生的進(jìn)位信號逐級傳遞,降低了運算速度,操作數(shù)位數(shù)越多,運算速度越慢;超前進(jìn)位加法器可縮短運算進(jìn)間,但增加了電路復(fù)雜程度,當(dāng)加法器位數(shù)增加時電路的復(fù)雜程度隨之急劇上升[1]。sd加法器可克服其缺點。??3 用vhld實現(xiàn)sd加法器? 根據(jù)sd數(shù)求和算法基礎(chǔ)上,圖2給出了sd加法器的方框圖。一個p位sd加法器由p個基本運算單元?sd全加器(sdfa)組成,每一個sdfa包含add1和add2,add1執(zhí)行上述算法中的第一步,add2執(zhí)行第二步。sdfa的邏輯電路可用vhdl實現(xiàn)。? vhdl是一種全方位的硬件描述語言,包括從系統(tǒng)到電路的所有設(shè)計層次[6]。在描述風(fēng)格上vhdl支持結(jié)構(gòu)、數(shù)據(jù)流行和行為3種描述形式的混合描述,幾乎覆蓋了以往各種語句描述語言的功能。整個自頂向下或自底向上的電路設(shè)計過程都可以用vhdl來完成[5]。本文應(yīng)用hvdl設(shè)計以上提出的sd求和算法電路-sd加法器。? 表1中規(guī)定了以2為基數(shù)sd數(shù)ai的二進(jìn)制表示方法,其中ai(1)是ai的符號,ai(0)是ai的絕地值。因此,以2為基數(shù)的p位sd數(shù)可由2p維向量表示:
欲知詳情,請下載word文檔 下載文檔