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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的多項(xiàng)式運(yùn)算器設(shè)計(jì)

          基于FPGA的多項(xiàng)式運(yùn)算器設(shè)計(jì)

          作者: 時(shí)間:2012-04-25 來源:網(wǎng)絡(luò) 收藏

          3 設(shè)計(jì)
          3.1 四則運(yùn)算電路
          文獻(xiàn)中瞄述了各種無符號(hào)整數(shù)間的運(yùn)算電路。雖然也可以進(jìn)行用反碼表示的符號(hào)數(shù)的運(yùn)算,但不傾向于使用。因?yàn)樾枰鏊膭t混合運(yùn)算;反碼易于做加、減法,但不易做乘、除法。而用非反碼的帶符號(hào)位的數(shù)據(jù),符號(hào)位做單獨(dú)計(jì)算,其余數(shù)據(jù)做無符號(hào)運(yùn)算,整個(gè)計(jì)算結(jié)構(gòu)是最簡單的。另外即便是無符號(hào)數(shù)做除法也很復(fù)雜,不過考慮到有種特殊的除法運(yùn)算除外,那就是對于二進(jìn)制數(shù)去掉最末位就相當(dāng)于除以2。所以運(yùn)算時(shí)可以盡量避免除以非2倍數(shù)的數(shù),以此來簡化計(jì)算。
          表示小數(shù)在計(jì)算中是必須的。文獻(xiàn)中介紹了二進(jìn)制定點(diǎn)小數(shù),比如需要保留數(shù)的2位二進(jìn)制小數(shù)位,可以將二進(jìn)制小數(shù)“…b3b2b1.a(chǎn)1 a2”表示為:
          b.jpg
          運(yùn)算中還是可以視為對整數(shù)的計(jì)算。這樣用無符號(hào)的定點(diǎn)數(shù)進(jìn)行計(jì)算,配合獨(dú)立的符號(hào)位表示正負(fù),就可以用簡單的無符號(hào)進(jìn)行復(fù)雜的運(yùn)算。
          3.2 多項(xiàng)式的變換
          式(4)為一個(gè)3次多項(xiàng)式,以它為例來介紹設(shè)計(jì)方法:
          y=a0+a1×x+a2×x2+a3×x3 (4)
          首先將式(4)中所有的數(shù)都用一個(gè)符號(hào)位加無符號(hào)二進(jìn)制形式表示。分別用N1,N2表示y和x中包含的小數(shù)位數(shù),可以將式(4)寫成:
          c.jpg
          式中:X,Y是x,y去掉小數(shù)點(diǎn)后的整數(shù)(注:這里和式(3)一樣只是去掉小數(shù)點(diǎn),不是去掉小數(shù)位)。A0,A1,A2,A3作為系統(tǒng)的常數(shù)也是一樣;n0,n1,n2,n3分別是a0,a1,a2,a3二進(jìn)制形式的小數(shù)位數(shù)??梢赃M(jìn)一步變換式(5)為:
          d.jpg
          不難發(fā)現(xiàn)式(6)是很容易實(shí)現(xiàn)的。先進(jìn)行各項(xiàng)符號(hào)位的計(jì)算,然后就只剩下無符號(hào)整形數(shù)據(jù)計(jì)算;而且除法全是除以2的倍數(shù)。最后各項(xiàng)之間根據(jù)符號(hào)位做加、減運(yùn)算就得到輸出Y,是帶符號(hào)有N1位小數(shù)的定點(diǎn)數(shù)。


          關(guān)鍵詞: FPGA 運(yùn)算器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();