日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

verilog 浮点转定点_定点数和浮点数

發(fā)布時(shí)間:2024/7/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 verilog 浮点转定点_定点数和浮点数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

定點(diǎn)數(shù)

定點(diǎn)數(shù)是指,數(shù)字在小數(shù)點(diǎn)之后和之前具有固定的位數(shù)。

可以用Qm.n表示法進(jìn)行表示.

  • m位為整數(shù)部分?

  • n位小數(shù)部分

  • 有符號(hào)數(shù)的總位數(shù)N = m + n + 1

當(dāng)n=0時(shí),則定點(diǎn)數(shù)用來(lái)存儲(chǔ)整數(shù)。

定點(diǎn)數(shù)(整數(shù))

定點(diǎn)數(shù)可以用來(lái)存儲(chǔ)整數(shù),包括正整數(shù)和負(fù)整數(shù)。定點(diǎn)(整數(shù))表示的常見格式有unsigned integer, offset binary, sign and magnitude, two’s complement。

假設(shè)每個(gè)整數(shù)都用4個(gè)bit來(lái)表示,則在上面四種格式下,二進(jìn)制和十進(jìn)制之間的關(guān)系如下圖所示。

Unsigned integer是最直觀的二進(jìn)制格式,用windows自帶的計(jì)算器就能實(shí)現(xiàn)換算。

?

Offset binary與unsigned integer類似,不同之處是相同的二進(jìn)制表示,offset binary下代表的十進(jìn)制數(shù)與unsigned integer下代表的十進(jìn)數(shù)有一個(gè)整體偏移,這樣就可以表示負(fù)數(shù)。

比如在圖1中,4?bit二進(jìn)制數(shù)對(duì)應(yīng)于整數(shù)-7~8,在offset binary格式下,十進(jìn)制數(shù)整體偏移了7。

對(duì)于這個(gè)偏移量,沒(méi)有固定標(biāo)準(zhǔn),比如上面的偏移量是7,也可以為8。在ADC和DAC中,經(jīng)常會(huì)用到offset binary.

sign and magnitude是表示負(fù)整數(shù)的另一種簡(jiǎn)單方法。?最左邊的位為符號(hào)位,0代表正數(shù),1代表負(fù)數(shù)。其他位是數(shù)字絕對(duì)值的標(biāo)準(zhǔn)二進(jìn)制表示形式。因?yàn)閷?duì)于零有兩種表示形式,即0000(正零)和1000(負(fù)零),所以會(huì)導(dǎo)致一個(gè)浪費(fèi)的位模式。

?

Two’s complement(二進(jìn)制補(bǔ)碼)是硬件工程師喜歡的格式,也是計(jì)算機(jī)中通常表示整數(shù)的方式。?最左邊的位為符號(hào)位,0代表數(shù)字為正數(shù)或0,1代表數(shù)字為1。

其編碼模式可以理解為:

對(duì)于4bit二進(jìn)制,其二進(jìn)制表示仍為0000~1111。如上圖所示,將圓盤分為16等分,把0000~1111依次帶入。然后以0為分界線,按順時(shí)針轉(zhuǎn),即0000~0111代表0~7;按逆時(shí)針轉(zhuǎn),即1111~1000代表-1~-8。

采用二進(jìn)制補(bǔ)碼時(shí),對(duì)于正數(shù),在十進(jìn)制數(shù)和二進(jìn)制補(bǔ)碼之間進(jìn)行轉(zhuǎn)換很簡(jiǎn)單,即從十進(jìn)制到二進(jìn)制的簡(jiǎn)單轉(zhuǎn)換。 對(duì)于負(fù)數(shù),通常使用以下算法:

(1)取十進(jìn)制數(shù)的絕對(duì)值,

(2)將其轉(zhuǎn)換為二進(jìn)制,

(3)對(duì)所有位進(jìn)行補(bǔ)碼(1變?yōu)榱?#xff0c;0變?yōu)?),

(4)在二進(jìn)制數(shù)上加1。

二進(jìn)制補(bǔ)碼對(duì)人類的大腦來(lái)說(shuō)比較復(fù)雜,但是在進(jìn)行數(shù)據(jù)處理時(shí),則非常方便。

定點(diǎn)數(shù)(小數(shù))

?

以上是當(dāng)N=16時(shí),不同的m/n值時(shí),所對(duì)應(yīng)的動(dòng)態(tài)范圍和精度。

浮點(diǎn)數(shù)(實(shí)數(shù))

浮點(diǎn)數(shù)的編碼方案比定點(diǎn)的編碼方案復(fù)雜,其基本概念與科學(xué)計(jì)數(shù)法中的基本思想相同,兩者的不同點(diǎn),在與浮點(diǎn)數(shù)的基為2,科學(xué)計(jì)數(shù)法的基為10。

ANSI/IEEE Std. 754-1985標(biāo)準(zhǔn)將32bit數(shù)據(jù)形式定義為單精度(single precision),64bit數(shù)據(jù)形式定義為雙精度(double precision)。

以單精度為例,將其32位分為三個(gè)獨(dú)立的組:位0到22形成尾數(shù)(記為M),位23到30形成指數(shù)(記為E),位31是符號(hào)位(記為S)。則:

?

IEEE標(biāo)準(zhǔn)將最大數(shù)和最小數(shù)的范圍略微縮小,分別為和。

與定點(diǎn)設(shè)計(jì)相比,浮點(diǎn)設(shè)計(jì)會(huì)消耗更多的FPGA資源,帶來(lái)更高的消耗。所以在滿足指標(biāo)要求的情況下,優(yōu)先采用定點(diǎn)設(shè)計(jì),可以有助于降低FPGA資源的使用、減少功耗。

文獻(xiàn)[3]中,則闡述了,在保證指標(biāo)的情況下,采用定點(diǎn)設(shè)計(jì),可以減少資源使用,進(jìn)而降低功耗。

參考文獻(xiàn):

[1]The Scientist and Engineer's Guide to Digital Signal Processing_Ch4

[2]EE 3610 Digital Systems

[3]Ambrose Finnerty and Hervé Ratigner,Reduce Power and Cost by Converting from Floating Point to Fixed Point

[4]Floating Point Converter:https://babbage.cs.qc.cuny.edu/IEEE-754.old/Decimal.html

相關(guān)文獻(xiàn)下載,可回復(fù)消息:“?定點(diǎn)、浮點(diǎn)數(shù)文獻(xiàn)下載“

總結(jié)

以上是生活随笔為你收集整理的verilog 浮点转定点_定点数和浮点数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。