基于Verilog計(jì)算可調(diào)的整數(shù)除法器的設(shè)計(jì)
出處:oldzhang 發(fā)布于:2009-09-26 11:46:24
0 引 言
除法器是電子技術(shù)領(lǐng)域的基礎(chǔ)模塊,在電子電路設(shè)計(jì)中得到廣泛應(yīng)用。目前,實(shí)現(xiàn)除法器的方法有硬件實(shí)現(xiàn)和軟件實(shí)現(xiàn)兩種方法。硬件實(shí)現(xiàn)的方法主要是以硬件的消耗為代價(jià),從而有實(shí)現(xiàn)速度快的特點(diǎn)。用硬件的方法來實(shí)現(xiàn)除法器的研究很多,如利用微處理器實(shí)現(xiàn)快速乘除法運(yùn)算,F(xiàn)PGA實(shí)現(xiàn)二進(jìn)制除法運(yùn)算,模擬除法器等;而通過軟件實(shí)現(xiàn)的除法器算法,可以大大提高器件的工作頻率和設(shè)計(jì)的靈活性,可以從總體上提高設(shè)計(jì)性能,而設(shè)計(jì)高效實(shí)用的算法是除法器的關(guān)鍵,故除法器的算法研究成為現(xiàn)今熱點(diǎn)。
目前,軟件方面主要是通過減法算法來實(shí)現(xiàn)除法運(yùn)算,把被除數(shù)作為被減數(shù),除數(shù)作為減數(shù),作減法,直到被減數(shù)小于減數(shù)為止,記錄能夠相減的次數(shù)即得到商的整數(shù)部分。將所得的余數(shù)乘以10作為被減數(shù),除數(shù)作為減數(shù),作減法,差重新置入被減數(shù),反復(fù)相減,直到被減數(shù)小于減數(shù)為止,記錄能夠相減的次數(shù)即得到商的十分位數(shù)值。依此繼續(xù)下去,可得到商的百分位數(shù)值,千分位數(shù)值,……,要到哪一位,就依次做到哪一位。此方法的缺點(diǎn)是速度慢,而且一位的不高,為了克服以上的缺點(diǎn),這里設(shè)計(jì)一種算法在軟件上改進(jìn)了除法器運(yùn)算的準(zhǔn)確性和處理速度。
1 設(shè)計(jì)方法
對(duì)于任意給定的兩個(gè)整數(shù)fenzi和fenmu,設(shè)fenzi為被除數(shù),fenmu為除數(shù)。為了得到兩個(gè)數(shù)相除的十進(jìn)制結(jié)果,本設(shè)計(jì)主要通過下面的算法來實(shí)現(xiàn),假如要保留小數(shù)點(diǎn)后面的n位有效數(shù)字,首先把fenzi乘以10的n次方,賦值給寄存器變量dataO;接著把fenmu分別乘以10的(n+m),(n+m一1),(n+m一2),…,1,O次方分別賦值給(n+m+1)個(gè)不同的變量data(n+m+1),data(n+m),…,datal,其中m是fenzi和fenmu的位數(shù)之差(當(dāng)fenzi的位數(shù)多于fenmu時(shí),m為正,否則為負(fù));先求出商的位的值,如果dataO大于data(n+m+1),則計(jì)數(shù)器自動(dòng)加1,再把dataO和data(n+m+1)的差值賦給data0,再相減直到data0的值小于data(n+m+1),此時(shí)計(jì)數(shù)器的計(jì)數(shù)值就是位的值;依此用同樣的方法繼續(xù)下去,就可得到各個(gè)位上的值。對(duì)一位進(jìn)行四舍五入處理,當(dāng)相減后的dataO<datal時(shí),再通過比較dataO*2是否大于datal,如果大于datal,則一位計(jì)數(shù)器的值加1,否則不變,把得到的整體值除以10的n次方,也就是小數(shù)點(diǎn)往左移動(dòng)n位。傳統(tǒng)除法算法由于采用多次相減的過程來實(shí)現(xiàn),相減的過程耗費(fèi)了大量時(shí)鐘脈沖,而且對(duì)運(yùn)算結(jié)果的一位沒有進(jìn)行處理;而本設(shè)計(jì)是通過采用位擴(kuò)展使除數(shù)和被除數(shù)位數(shù)相同,進(jìn)而對(duì)每一位進(jìn)行分開處理,減少了做減法運(yùn)算的次數(shù),從而提高運(yùn)算速度;同時(shí)采用四舍五入的方法對(duì)運(yùn)算結(jié)果進(jìn)行處理,提高準(zhǔn)確性。上面算法是一種順序方式,用Verilog硬件描述語(yǔ)言很容易實(shí)現(xiàn),圖1為流程圖,其中假定fenzi為3位的整數(shù),fenmu為2位的整數(shù),除法運(yùn)算到百分位。

2 仿真結(jié)果及分析
對(duì)上述的流程圖用Verilog描述語(yǔ)言編程,在Ca—dence的NC—Verilog仿真器下仿真,設(shè)輸入的Ienzi和fenmu的值分別為128和11,仿真波形如圖2所示。

從圖2的波形可以看出,輸出結(jié)果為1 164,除法運(yùn)算要到百分位,所以往左移動(dòng)2位,其終的值為11.64,而實(shí)際的值為11.636 36……,經(jīng)過四舍五入得到的結(jié)果完成正確。從仿真時(shí)間來看,對(duì)于相同的數(shù)值輸入,本設(shè)計(jì)只用了12個(gè)脈沖,而普通除法器至少需要20個(gè)脈沖(128/11=11余7,70/11=*,40/11=3余7,1l+6+3=20),相比之下本設(shè)計(jì)的除法算法有很大的優(yōu)勢(shì)。
然而對(duì)于兩個(gè)位數(shù)相差很大的數(shù)相除,則本設(shè)計(jì)的速度優(yōu)勢(shì)更加的明顯,本設(shè)計(jì)每一位的運(yùn)行時(shí)間都不會(huì)超過9個(gè)時(shí)鐘脈沖,因此進(jìn)行,z位計(jì)算的總脈沖也不會(huì)超過9n個(gè),而傳統(tǒng)的除法運(yùn)算需要多個(gè)時(shí)鐘脈沖,一般會(huì)是本設(shè)計(jì)時(shí)鐘脈沖的數(shù)倍。該算法同樣適合小數(shù)的運(yùn)算,只要把小數(shù)化成整數(shù),再做同樣的處理,就可以得到的結(jié)果。
3 結(jié) 語(yǔ)
通過對(duì)除法器算法的改進(jìn),用四舍五入的方法對(duì)數(shù)據(jù)進(jìn)行處理,使得到的結(jié)果準(zhǔn)確性有了進(jìn)一步的提高;運(yùn)用移位、循環(huán)減法,實(shí)現(xiàn)數(shù)據(jù)的高速運(yùn)算,并能任意設(shè)定計(jì)算的。運(yùn)用此方法在軟件方面設(shè)計(jì)除法器對(duì)速度和準(zhǔn)確性的提高有積極意義。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計(jì)運(yùn)維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場(chǎng)疑難問題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場(chǎng)調(diào)試與優(yōu)化實(shí)操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號(hào)采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14
- PCB焊盤與過孔設(shè)計(jì)核心實(shí)操規(guī)范(含可焊性與可靠性保障)
- 汽車電子常用電子元器件選型指南
- MOSFET驅(qū)動(dòng)與隔離方案設(shè)計(jì)
- 高溫環(huán)境下電源IC選型建議
- 安防監(jiān)控設(shè)備連接器應(yīng)用分析
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法









