<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 數字電路中小數的操作

數字電路中小數的操作

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

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

本文引用地址:http://dyxdggzs.com/article/280100.htm

  1,小數的運算

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

  舉例說(shuō)明:

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

  b3b2b1b0.b-1b-2b-3

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

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

  從理論上來(lái)說(shuō)a*b的結果有13bits,其中8bits整數,5bits小數

  結果是:c7c6c5c4c3c2c1c0.c-1c-2c-3c-4c-5

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

  f=a*b - c

  a*b的結果是8bits整數,5bits小數,而d為4bits整數,2bits小數,

  如果在rtl描述中,直接寫(xiě)成

  f = c-d;

  那么結果就變成:

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

  - d3d2d1d0.d-1d-2

  很顯然得出的結果是錯誤的,正確的結果應該是:

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

  - d3d2d1d0.d-1d-2 00 0

  也就是(沒(méi)有小數點(diǎn)了)

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

  - d3d2d1d0d-1d-2 00 0

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

  這樣得到的結果就是8bits整數,和5bits小數。

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

  所以如果要RTL描述的話(huà)需要如下:

  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}

  這樣得到的結果就是9bits整數,和5bits小數。



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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>