基于Verilog計算精度可調(diào)的整數(shù)除法器的設計
從圖2的波形可以看出,輸出結果為1 164,除法運算要精確到百分位,所以往左移動2位,其最終的值為11.64,而實際的值為11.636 36……,經(jīng)過四舍五入得到的結果完成正確。從仿真時間來看,對于相同的數(shù)值輸入,本設計只用了12個脈沖,而普通除法器至少需要20個脈沖(128/11=11余7,70/11=6余4,40/11=3余7,1l+6+3=20),相比之下本設計的除法算法有很大的優(yōu)勢。
然而對于兩個位數(shù)相差很大的數(shù)相除,則本設計的速度優(yōu)勢更加的明顯,本設計每一位的運行時間都不會超過9個時鐘脈沖,因此進行,z位計算的總脈沖也不會超過9n個,而傳統(tǒng)的除法運算需要多個時鐘脈沖,一般會是本設計時鐘脈沖的數(shù)倍。該算法同樣適合小數(shù)的運算,只要把小數(shù)化成整數(shù),再做同樣的處理,就可以得到精確的結果。
3 結 語
通過對除法器算法的改進,用四舍五入的方法對數(shù)據(jù)進行處理,使得到的結果準確性有了進一步的提高;運用移位、循環(huán)減法,實現(xiàn)數(shù)據(jù)的高速運算,并能任意設定計算的精度。運用此方法在軟件方面設計除法器對速度和準確性的提高有積極意義。
評論