浮點(diǎn)數(shù)乘法器的設(shè)計(jì)_第1頁
浮點(diǎn)數(shù)乘法器的設(shè)計(jì)_第2頁
浮點(diǎn)數(shù)乘法器的設(shè)計(jì)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

浮點(diǎn)數(shù)乘法器的設(shè)計(jì)

0浮點(diǎn)數(shù)乘法器模塊的改進(jìn)隨著現(xiàn)代通信的發(fā)展,數(shù)字?jǐn)?shù)據(jù)處理的廣泛應(yīng)用日益增多。在數(shù)據(jù)分析和數(shù)值計(jì)算中,乘法是非常重要的運(yùn)算之一,尤其是浮點(diǎn)乘法運(yùn)算。乘法器所占的資源較大。在小規(guī)模設(shè)計(jì)中,如果要用乘法器,通常會為減少資源占用(面積)而減少位數(shù),則精度得不到保證,這樣就會出現(xiàn)資源與精度相矛盾的情況,而成為設(shè)計(jì)中的瓶頸。筆者通過實(shí)際工作,自己設(shè)計(jì)了浮點(diǎn)數(shù)乘法器模塊,很好地解決了這一問題。該模塊可根據(jù)精度要求的不同,可以改變階碼和尾數(shù)的長度,從而方便的嵌入到其他設(shè)計(jì)中,實(shí)踐證明收到了良好的效果。本文詳細(xì)闡述了浮點(diǎn)數(shù)的構(gòu)成、重點(diǎn)介紹了該乘法器的結(jié)構(gòu),使設(shè)計(jì)者可以方便的移植利用。1階碼e的表示根據(jù)IEEE754標(biāo)準(zhǔn),單精浮點(diǎn)數(shù)的格式如圖1:通常用下式表示F=(-1)S×M×RE(1)其中S為符號,‘0’表示正數(shù),‘1’表示負(fù)數(shù);M為尾數(shù),E是階碼。R=2稱作“階的基數(shù)”。對于階碼E來說其表示范圍是0~255,將其減去偏移量2N-1可使其表示范圍為-128~127。而其尾數(shù)表示整數(shù)部分為‘1’的小數(shù)二進(jìn)制數(shù),即M=1.XXX……X=1.Mi。在標(biāo)準(zhǔn)格式中,第一位‘1’是被省去的,也就是說F=(-1)S×1.M′×RE-2N-1(2)例如3D82A993中S=0,E=(7B)H,M′=(02A993)H?E=(7B-80)H=(FB)H=(-4)D?M=(1.00000101010100110010011)B=(1.0208)D?F=(-1)0×1.0208×2-4=0.06382浮點(diǎn)數(shù)乘法器2.1浮點(diǎn)數(shù)乘法器運(yùn)算由式(2)可知乘法運(yùn)算的兩浮點(diǎn)數(shù)可表示為FA=(-1)SA×1.M′A×REA-2N-1(3)FB=(-1)SB×1.M′B×REB-2N-1(4)乘法運(yùn)算表達(dá)式為FA×FB=(-1)SA+SB×1.M′A×1.M′B×REA+EB-2N-1-2N-1(5)可以看出在結(jié)果中對偏移量進(jìn)行了重復(fù)相加,因此在結(jié)果中階碼和應(yīng)減去偏移量,即F=(-1)S×1.M′A×1.M′B×RE-2N-1(6)浮點(diǎn)數(shù)乘法器運(yùn)算可分為三步:第一步:將數(shù)據(jù)分為三個(gè)部分,符號、階碼、尾數(shù)。第二步:符號位異或,階碼相加,尾數(shù)相乘。第三步:對結(jié)果進(jìn)行規(guī)格化并輸出。2.2浮點(diǎn)數(shù)的n-1浮點(diǎn)數(shù)乘法先利用無符號乘法器將兩浮點(diǎn)數(shù)的尾數(shù)相乘得到雙精度的運(yùn)算結(jié)果,同時(shí)階碼相加并且減去偏移量2N-1,由于標(biāo)準(zhǔn)的浮點(diǎn)數(shù)表示省略了首位‘1’,所以在運(yùn)算時(shí)需將首位‘1’還原。階碼相加并減去偏移量后還應(yīng)加兩次1,但由于兩尾數(shù)均為1XXX…X形式,乘法運(yùn)算后其結(jié)果必然為01XXX…X的形式或1XXX…X的形式,所以階碼相加并減去偏移量后只加了一個(gè)1,而另一次加1則根據(jù)乘法運(yùn)算結(jié)果的形式來確定。2.3dat-jud模塊根據(jù)浮點(diǎn)數(shù)乘法的原理,其結(jié)構(gòu)如圖2所示。可以看出,首先乘數(shù)與被乘數(shù)兩路浮點(diǎn)數(shù)據(jù)通過DAT-DIV模塊分為符號、階碼與尾數(shù)三部分,兩路數(shù)據(jù)的符號SA、SB通過異或門直接進(jìn)入DAT-COM模塊輸出。階碼部分做加法運(yùn)算,為防止兩階碼相加結(jié)果超過255,階碼部分的寬度為9,其結(jié)果須進(jìn)入一個(gè)常數(shù)加法器,即與(110000001)B相加,此模塊的功能是實(shí)現(xiàn)階碼和減去偏移量再加‘1’的運(yùn)算。尾數(shù)部分寬度為24,且第一位補(bǔ)一。而兩數(shù)據(jù)尾數(shù)部分則通過一個(gè)無符號乘法運(yùn)算得到一個(gè)雙精度的結(jié)果,此處為滿足規(guī)格化要求,不能直接輸入給DAT-COM,需通過DAT-JUD模塊。對這一結(jié)果進(jìn)行判斷,若最高位為‘1’則向指數(shù)運(yùn)算過程中的常數(shù)加法器的進(jìn)位位送‘1’,反之為‘0’。同時(shí)選擇乘法結(jié)果的第46位至第24位或第45位至第23位位最終的尾數(shù)輸出,最后DAT-COM將異或運(yùn)算得到結(jié)果的符號、處理后的階碼及規(guī)格化的尾數(shù)組合成32位的浮點(diǎn)數(shù)結(jié)果輸出。3u3000epf30etc144-1該模塊設(shè)計(jì)結(jié)構(gòu)為兩輸入一輸出,其DATAA、DATAB端輸入被乘數(shù)和乘數(shù)且均為32位輸入端。DATAOUT為32位的輸出端。選擇器件EPF10K30ETC144-1,系統(tǒng)綜合后共占用邏輯單元1679個(gè)。為了驗(yàn)證該模塊功能,這里列出了四組數(shù)據(jù)如表1。表中的乘數(shù)、被乘數(shù)及結(jié)果反映了數(shù)據(jù)符號及階碼符號不同的情況,有一定的代表性。如第一組數(shù)據(jù)中被乘數(shù)階碼小于等于零,乘數(shù)階碼大于零且均為正數(shù),結(jié)果為階碼大于零的正數(shù);第二組中被乘數(shù)為階碼大于零的正數(shù),乘數(shù)階碼小于零,結(jié)果為正且階碼小于零。仿真后波形如圖3所示,其運(yùn)算結(jié)果是正確的。4altfp-mslt浮點(diǎn)數(shù)乘法器簡介實(shí)踐證明,該乘法器模塊同種芯片用不同的工具綜合,其結(jié)果占用的資源不同。以芯片10K30ETC144-1為例,本乘法器模塊用Quartus綜合,占用821個(gè)LCS(邏輯單元),占用了資源的47%;用MaxplusⅡ綜合,占用邏輯單元1679,占了資源的97%。Quartus中的宏模塊ALTFP-mult,可以生成singleprecision(32位)、doubleprecision(64位)和singleextendedprecision(43位~64位)的浮點(diǎn)數(shù)乘法器。利用該宏模塊生成的單精度浮點(diǎn)數(shù)乘法器,綜合后在10K200SFC672-1中占用邏輯單元1422個(gè)。然而,ALTFP-mult不支持10K及其以下芯片,因此本文提出的設(shè)計(jì)用VHDL語言編寫,并設(shè)有參數(shù)MANT-WIDTH,EXPT-WIDTH可以根據(jù)需要改變浮點(diǎn)數(shù)的格式,以更好的適應(yīng)小規(guī)模設(shè)計(jì)的需要。此外

溫馨提示

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

最新文檔

評論

0/150

提交評論