基于fpga的數(shù)字乘法器的設(shè)計_第1頁
基于fpga的數(shù)字乘法器的設(shè)計_第2頁
基于fpga的數(shù)字乘法器的設(shè)計_第3頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于fpga的數(shù)字乘法器的設(shè)計

1基本模型的實現(xiàn)鉤子作為數(shù)字通信系統(tǒng)的重要部件,經(jīng)常被用作數(shù)字數(shù)據(jù)處理設(shè)備。例如,fft、數(shù)字采集頻率、數(shù)字濾波、優(yōu)化卷積、相關(guān)算法和矩陣計算等算法具有大量的算法方法。常用的數(shù)字信號處理(DSP)的解決方案中存在工作速度慢等問題,TMS320C54xx系列的處理速度僅0.1GMACs(乘和累加運算指令)。而FPGA系統(tǒng)的DSP處理速度可達70GMACs,相關(guān)器件的工作速度可達數(shù)十至數(shù)百MHz,為射頻范圍。但目前市場上的許多FPGA芯片中并沒有現(xiàn)成的數(shù)字乘法器單元,因此需要用戶根據(jù)自己的要求進行設(shè)計實現(xiàn)。數(shù)字通信系統(tǒng)中數(shù)字調(diào)制解調(diào)的基本模型為:根據(jù)該模型本文設(shè)計了8×8的數(shù)字乘法器,介紹了移位相加乘法器,加法器樹乘法器,移位相加-加法器樹乘法器的工作原理,并對這三種算法進行了仿真比較。從指令執(zhí)行速度和所占用資源面積兩方面綜合考慮,指出了適合我們所使用的FPGA芯片的乘法器設(shè)計方法。2利用算法原理和硬件結(jié)構(gòu)目前常用的硬件乘法器主要有移位相加乘法器和加法器樹乘法器等。2.1k轉(zhuǎn)換加wk兩個8位二進制數(shù)用B和A=表示,其乘積按“手工計算”的方法給出就是:從中可以看出只要ak不等于0,輸入B就隨著k的位置連續(xù)地變化,然后累加B2k。如果ak等于0,相應的轉(zhuǎn)換相加就可以忽略了。移位相加乘法器就是按照這種方法,根據(jù)乘數(shù)的每一位是否為1進行計算,如果為1,就將被乘數(shù)移位相加。這種乘法器所用的硬件資源較少,但每個時鐘周期內(nèi)只能完成8位乘1位的運算,因此要完成8位乘8位的運算,則至少需要8個時鐘周期,速度較慢。其硬件結(jié)構(gòu)框圖為:2.2過與門的選取如果將乘數(shù)的8位拆開,則該乘法運算可以寫成如下的表達方式:這樣,就可以將8位乘8位的運算轉(zhuǎn)換成8個8位乘1位的運算,式中的每一項都可以通過與門得到。因此乘法器只需要一個時鐘周期就可以完成乘法運算,理論上講速度很快。但是由于使用了多個加法器,使其占用的片內(nèi)資源面積較大,而且使用多個加法器必然會產(chǎn)生一定的延遲,使得時鐘頻率不會太高。加法器樹的結(jié)構(gòu)框圖如圖2所示:注:P:高位補0Q:低位補01*:高6位補0,第十位為進位位2*:高4位補0,低2位補0,第12位為進位位3*:高2位補0,低4位補0,第14位為進位位4*:低6位補0,最高位為進位位2.3其他位移疊加乘法器結(jié)合以上兩種常用的乘法器算法,提出了一種改進后的乘法器。該乘法器是將乘數(shù)的高低字節(jié)拆開為A=AⅠ×24+AⅡ,分別與被乘數(shù)相乘,形成兩個移位相加乘法器,乘式可改寫為:每個四位乘法器只需四個時鐘周期就能完成運算。需要注意的是,這種乘法器最后進行相加運算時,必須對高位乘積進行加權(quán),對低位乘積的高位補0。因此,最后再將高四位乘法器的結(jié)果左移四位與低四位乘法器的結(jié)果相加即可完成8位乘8位的運算。移位相加—加法器樹混合乘法器綜合了移位相加,加法器樹乘法器的優(yōu)點,不僅減少了硬件消耗,同時也提高了運算速度,其硬件結(jié)構(gòu)框圖如圖4所示:3基于有符號數(shù)的語言設(shè)計按照上述三種方法,用VHDL語言對其進行軟件描述。由于該設(shè)計的乘法器主要用于調(diào)制解調(diào)中,而調(diào)制解調(diào)所采用的載波輸入信號cosw0n為8位有符號數(shù),由信源采集的模擬輸入信號經(jīng)過A/D轉(zhuǎn)換變?yōu)?位無符號數(shù),則計算結(jié)果為16位有符號數(shù),根據(jù)此框架,語言設(shè)計的實體部分為:BYTE和TWOBYTE在程序包中分別被定義為8位和16位的有符號數(shù)。三種乘法器的實體部分是相同的,所不同的是內(nèi)部的結(jié)構(gòu)體,按照不同的算法編寫不同的結(jié)構(gòu)體程序,隨后用Altera的QuartusII4.0對其進行仿真綜合。4混合乘法器結(jié)果分析在利用QuartusII4.0進行綜合的過程中,我們選用的目標芯片為Cyclone系列中的EPIC6Q240C8。其綜合結(jié)果列于下表:以下就是移位相加—加法器樹混合乘法器以68和-128為例的仿真波形圖。圖5中States_t為乘數(shù)的低四位所對應的被乘數(shù)左移移位寄存器,當clk變?yōu)?后延時一小段時間開始裝載States_t。p為乘數(shù)的低四位所對應的乘積寄存器,該例中乘數(shù)的低四位為0100(高-低),則對應的乘積結(jié)果為-512。端口y經(jīng)過一段延時后輸出最終的乘積結(jié)果-8704,可見結(jié)果是正確的。由圖中可以看出當輸入乘數(shù)與被乘數(shù)之后,大約經(jīng)過7個時鐘周期得出最后結(jié)果,若以最高時鐘頻率87.89Mhz為標準,則該方法的運算周期約為80ns。5不同其他疊加乘法器及熱負荷的仿真結(jié)果分析數(shù)字乘法器具有模擬乘法器所不能比擬的精確、可靠性高、速度快等優(yōu)點,在通信系統(tǒng)中的應用非常廣泛,尤其是在調(diào)制解調(diào)過程中,因此設(shè)計一種符合要求的高性能的數(shù)字乘法器就顯得尤為重要。本文通過對移位相加乘法器、加法器樹乘法器和移位相加—加法器樹乘法器的速度面積方面進行仿真比較之后得出:移位相加—加法器樹混合乘法器是符合我們設(shè)計要求的最佳方案。由實驗結(jié)果可以看出,移位相加乘法器占用的片內(nèi)資源最少,但速度最慢。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論