天天看點

verilog 浮點轉定點_定點數和浮點數

定點數

定點數是指,數字在小數點之後和之前具有固定的位數。

可以用Qm.n表示法進行表示.

  • m位為整數部分 
  • n位小數部分
  • 有符号數的總位數N = m + n + 1

當n=0時,則定點數用來存儲整數。

定點數(整數)

定點數可以用來存儲整數,包括正整數和負整數。定點(整數)表示的常見格式有unsigned integer, offset binary, sign and magnitude, two’s complement。

假設每個整數都用4個bit來表示,則在上面四種格式下,二進制和十進制之間的關系如下圖所示。

verilog 浮點轉定點_定點數和浮點數

Unsigned integer是最直覺的二進制格式,用windows自帶的電腦就能實作換算。

verilog 浮點轉定點_定點數和浮點數

Offset binary與unsigned integer類似,不同之處是相同的二進制表示,offset binary下代表的十進制數與unsigned integer下代表的十進數有一個整體偏移,這樣就可以表示負數。

比如在圖1中,4 bit二進制數對應于整數-7~8,在offset binary格式下,十進制數整體偏移了7。

對于這個偏移量,沒有固定标準,比如上面的偏移量是7,也可以為8。在ADC和DAC中,經常會用到offset binary.

sign and magnitude是表示負整數的另一種簡單方法。 最左邊的位為符号位,0代表正數,1代表負數。其他位是數字絕對值的标準二進制表示形式。因為對于零有兩種表示形式,即0000(正零)和1000(負零),是以會導緻一個浪費的位模式。

verilog 浮點轉定點_定點數和浮點數

Two’s complement(二進制補碼)是硬體工程師喜歡的格式,也是計算機中通常表示整數的方式。 最左邊的位為符号位,0代表數字為正數或0,1代表數字為1。

其編碼模式可以了解為:

對于4bit二進制,其二進制表示仍為0000~1111。如上圖所示,将圓盤分為16等分,把0000~1111依次帶入。然後以0為分界線,按順時針轉,即0000~0111代表0~7;按逆時針轉,即1111~1000代表-1~-8。

采用二進制補碼時,對于正數,在十進制數和二進制補碼之間進行轉換很簡單,即從十進制到二進制的簡單轉換。 對于負數,通常使用以下算法:

(1)取十進制數的絕對值,

(2)将其轉換為二進制,

(3)對所有位進行補碼(1變為零,0變為1),

(4)在二進制數上加1。

二進制補碼對人類的大腦來說比較複雜,但是在進行資料處理時,則非常友善。

定點數(小數)

verilog 浮點轉定點_定點數和浮點數

以上是當N=16時,不同的m/n值時,所對應的動态範圍和精度。

浮點數(實數)

浮點數的編碼方案比定點的編碼方案複雜,其基本概念與科學計數法中的基本思想相同,兩者的不同點,在與浮點數的基為2,科學計數法的基為10。

ANSI/IEEE Std. 754-1985标準将32bit資料形式定義為單精度(single precision),64bit資料形式定義為雙精度(double precision)。

以單精度為例,将其32位分為三個獨立的組:位0到22形成尾數(記為M),位23到30形成指數(記為E),位31是符号位(記為S)。則:

verilog 浮點轉定點_定點數和浮點數

IEEE标準将最大數和最小數的範圍略微縮小,分别為

verilog 浮點轉定點_定點數和浮點數

verilog 浮點轉定點_定點數和浮點數

與定點設計相比,浮點設計會消耗更多的FPGA資源,帶來更高的消耗。是以在滿足名額要求的情況下,優先采用定點設計,可以有助于降低FPGA資源的使用、減少功耗。

文獻[3]中,則闡述了,在保證名額的情況下,采用定點設計,可以減少資源使用,進而降低功耗。

verilog 浮點轉定點_定點數和浮點數

參考文獻:

[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

相關文獻下載下傳,可回複消息:“ 定點、浮點數文獻下載下傳“