<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于Verilog計(jì)算精度可調(diào)的整數(shù)除法器的設(shè)計(jì)

          基于Verilog計(jì)算精度可調(diào)的整數(shù)除法器的設(shè)計(jì)

          作者: 時(shí)間:2009-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

          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)。用硬件的方法來(lái)實(shí)現(xiàn)除法器的研究很多,如利用微處理器實(shí)現(xiàn)快速乘除法運(yùn)算,F(xiàn)PGA實(shí)現(xiàn)二進(jìn)制除法運(yùn)算,模擬除法器等;而通過(guò)軟件實(shí)現(xiàn)的除法器算法,可以大大提高器件的工作頻率和設(shè)計(jì)的靈活性,可以從總體上提高設(shè)計(jì)性能,而設(shè)計(jì)高效實(shí)用的算法是除法器的關(guān)鍵,故除法器的算法研究成為現(xiàn)今熱點(diǎn)。
          目前,軟件方面主要是通過(guò)減法算法來(lái)實(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)確性和處理速度。

          本文引用地址:http://www.ex-cimer.com/article/192066.htm


          1 設(shè)計(jì)方法
          對(duì)于任意給定的兩個(gè)整數(shù)fenzi和fenmu,設(shè)fenzi為被除數(shù),fenmu為除數(shù)。為了得到兩個(gè)數(shù)相除的十進(jìn)制結(jié)果,本設(shè)計(jì)主要通過(guò)下面的算法來(lái)實(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)相減后的dataOdatal時(shí),再通過(guò)比較dataO*2是否大于datal,如果大于datal,則最后一位計(jì)數(shù)器的值加1,否則不變,最后把得到的整體值除以10的n次方,也就是小數(shù)點(diǎn)往左移動(dòng)n位。傳統(tǒng)除法算法由于采用多次相減的過(guò)程來(lái)實(shí)現(xiàn),相減的過(guò)程耗費(fèi)了大量時(shí)鐘脈沖,而且對(duì)運(yùn)算結(jié)果的最后一位沒(méi)有進(jìn)行處理;而本設(shè)計(jì)是通過(guò)采用位擴(kuò)展使除數(shù)和被除數(shù)位數(shù)相同,進(jìn)而對(duì)每一位進(jìn)行分開(kāi)處理,減少了做減法運(yùn)算的次數(shù),從而提高運(yùn)算速度;同時(shí)采用四舍五入的方法對(duì)運(yùn)算結(jié)果進(jìn)行處理,提高準(zhǔn)確性。上面算法是一種順序方式,用硬件描述語(yǔ)言很容易實(shí)現(xiàn),圖1為流程圖,其中假定fenzi為3位的整數(shù),fenmu為2位的整數(shù),除法運(yùn)算精確到百分位。

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


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();