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

下載本文檔

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

文檔簡(jiǎn)介

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論