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

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 數(shù)字電路中小數(shù)的操作

          數(shù)字電路中小數(shù)的操作

          作者: 時(shí)間:2015-09-14 來源:網(wǎng)絡(luò) 收藏

            簡介:在的運(yùn)算中,沒有小數(shù)點(diǎn)概念的,小數(shù)你知道在哪個(gè)位置,但是電路不知道小數(shù)點(diǎn)的位置,所以你要想法讓電路在不知道小數(shù)點(diǎn)的情況下仍然能夠運(yùn)算出你想要的結(jié)果。這里就要進(jìn)行小數(shù)點(diǎn)對齊。

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

            1,小數(shù)的運(yùn)算

            在的運(yùn)算中,沒有小數(shù)點(diǎn)概念的,小數(shù)你知道在哪個(gè)位置,但是電路不知道小數(shù)點(diǎn)的位置,所以你要想法讓電路在不知道小數(shù)點(diǎn)的情況下仍然能夠運(yùn)算出你想要的結(jié)果。這里就要進(jìn)行小數(shù)點(diǎn)對齊。

            舉例說明:

            兩個(gè)無符號小數(shù):a3a2a1a0.a-1a-2

            b3b2b1b0.b-1b-2b-3

            其中a有6bits,其中4位為整數(shù),2位為小數(shù),而b有4bits整數(shù),3bits小數(shù),這個(gè)小數(shù)點(diǎn)是認(rèn)為點(diǎn)的。

            比如說我要做兩者的乘法,那么應(yīng)該怎么做呢?

            從理論上來說a*b的結(jié)果有13bits,其中8bits整數(shù),5bits小數(shù)

            結(jié)果是:c7c6c5c4c3c2c1c0.c-1c-2c-3c-4c-5

            一個(gè)減數(shù)為d3d2d1d0.d-1d-2,要從c中減去,應(yīng)該如何操作呢?

            f=a*b - c

            a*b的結(jié)果是8bits整數(shù),5bits小數(shù),而d為4bits整數(shù),2bits小數(shù),

            如果在rtl描述中,直接寫成

            f = c-d;

            那么結(jié)果就變成:

            c7c6c5c4c3c2c1c0.c-1c-2c-3c-4c-5

            - d3d2d1d0.d-1d-2

            很顯然得出的結(jié)果是錯(cuò)誤的,正確的結(jié)果應(yīng)該是:

            c7c6c5c4c3c2c1c0.c-1c-2c-3c-4c-5

            - d3d2d1d0.d-1d-2 00 0

            也就是(沒有小數(shù)點(diǎn)了)

            c7c6c5c4c3c2c1c0c-1c-2c-3c-4c-5

            - d3d2d1d0d-1d-2 00 0

            很明顯需要將減數(shù)左移3位將其小數(shù)點(diǎn)和被減數(shù)對齊。

            這樣得到的結(jié)果就是8bits整數(shù),和5bits小數(shù)。

            當(dāng)然也可以將c右移3位,這樣就損失了精度。得到結(jié)果是6bits整數(shù)和2bits小數(shù)。小數(shù)點(diǎn)的位置你自己是知道的。

            所以如果要RTL描述的話需要如下:

            wire [5:0] a;

            wire [6:0] b;

            wire [12:0] mul_result;

            assign mul_result = a *b;

            wire [13:0] result;

            assign result = mul_result - {5'b0,d,3'b0}

            這樣得到的結(jié)果就是9bits整數(shù),和5bits小數(shù)。



          關(guān)鍵詞: 數(shù)字電路

          評論


          相關(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); })();