a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 一種新的基于FPGA的數據格式轉換方法

一種新的基于FPGA的數據格式轉換方法

作者: 時間:2011-11-16 來源:網絡 收藏

摘要:針對目前多數的都支持浮點IP核,卻較少關注數據源獲取的問題,提出了一種。使用VHDL語言,采用流水線處理方式將ASCII碼所表示的一定范圍內的實數為單精度浮點數。經過ModelSim功能仿真和實際下載驗證,該設計的時間可達10-1μs量級。利用Matlab對轉換結果進行分析驗證,該的轉換精度可達10-3。在此采用的設計結構合理,可為浮點IP核提供數據源。
關鍵詞:單精度浮點數;流水線處理;;IP核

0 引言
隨著向高集成度、大容量、高速和低功耗方向的快速發展,相應的EDA軟件工具也日趨成熟,提供了更多的數字信號處理IP核,使得FPGA在高速數字信號處理領域得到了越來越廣泛的應用。
浮點運算作為數字信號處理中最常見的運算之一,各大EDA軟件都帶有免費的浮點運算IP核。通過對IP核的生成和例化來實現浮點運算,把FPGA設計者從繁重的代碼編寫中解脫了出來,同時可以對IP核進行功能剪裁以避免對FPGA邏輯資源的浪費,實現最優設計。但對浮點數的獲取卻關注很少。在浮點運算中,單精度浮點以其極強的通用性得到了最廣泛的應用。本文將目光集中在單精度浮點數的獲取上,為浮點IP核提供數據源。在數據的傳輸上,ASCII碼是經常采用的一種形式,本文以串口接收到的ASCII碼所表示的實數為例,采用流水處理方式高速地將實數轉換為單精度浮點數。

1 實數轉換為單精度浮點數的原理
1.1 單精度浮點數格式
浮點數的表示遵循IEEE 754標準,它由3部分組成:符號位(sign)、階碼(exponent)和尾數(fraction)。IEEE 754標準規定的單精度浮點數格式占用32位,包含:1位符號位s、8位帶偏移量的指數e[30:23]和23位尾數f[22:0],如圖1。單精度的指數使用正偏值形式表示,指數值的大小從1~254(0和255是特殊值)。采用該種形式表示是為了有利于比較大小,浮點小數在計算時,指數值減去偏正值即是實際的指數大小。其中偏移值(bias)為127,尾數有1位隱藏位。

本文引用地址:http://www.j9360.com/article/190975.htm

a.JPG


單精度浮點數包含以下幾種情況:
(1)規格化數:0e255, 值V=(-1)s×2e-bias×1.f;
(2)(+0,-0):如果e=0且f=0,則V=(-1)s×0;
(3)非規格化數:e=0但f≠0則V為非規格化數;
(4)(+∞,-∞):e=255,且f=0,則V=(-1)s×∞;
(5)NaN(不是一個數):e=255,且f≠0,則V=NaN。
1.2 轉換原理
例如有一個實數為6.91,首先將其轉換為二進制形式表示:110.1110100011110101110000101000。再將其規范化為如下:
6.91=1.101110100011110101110000101000×22則可以得到基本原型:
s:0;
e:2+127(十進制)=129(十進制)=10000001(二進制);
f:101110100011110101110000101000(注:小數部分取28位,且小數點前面的1不要)。
小數部分取28位的目的在于更為準確地表示實數,后五位用于舍入處理。在IEEE 754標準中,舍入處理提供了4種可選:就近舍入、朝0舍入、朝+∞舍入和朝-∞舍入,本文采用就近舍入原則。就近舍入的實質就是通常所說的“四舍五入”。例如:尾數超過規定的23位的多余數字是10010,多余位的值超過規定的最低有效值的一半。故最低有效位應增1,若多余的5位是01111則簡單地截尾即可,對多余的5位100 00這種特殊情況:若最低有效位現為0,則截尾;若最低有效位現1,則向上進一位使其變為0。所以,此例中要將最后5位作舍棄處理。得到的結果為:0 100000011011101000111101011100001。組合后等于0100 0000 1101 1101 0001 1110 1011 1000等于40DDIEB8。至此在原理上完成一個實數到單精度浮點數的轉換。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉