衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

SwM2_ChinaAET ? 來源:未知 ? 作者:易水寒 ? 2018-06-12 19:34 ? 次閱讀

所謂定點小數,就是小數點固定地隱含在某一位置上的數據。由于小數點的位置是固定的,所以就沒有必要儲存它(如果儲存了小數點的位置,那就是浮點數了)。而小數的具體位置則完全是由程序設計者自己決定的,因此,對于定點小數的處理,完全可以采用普通整數的處理方式。

下面我們來簡單地聊一聊定點小數的常規格式、相對于浮點小數的優勢與劣勢,以及如何使用Lattice ECP3/ECP5的sysDSP乘法器來實現基本的定點小數運算(加法和乘法)。并會在后續的文章中介紹定點小數的除法、平方根、平方根倒數和CORDIC算法的基本理論和HDL的實現等。

1、定點小數的常規格式

常規的定點小數格式如下圖:

FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

其中,有符號定點小數的值可以表示為:

FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

無符號定點小數的值可以表示為:

FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

定點數的位寬w和小數部分的位寬wf可以看做是定點數的兩個要素。其中,w決定了定點數的動態范圍,wf決定了定點數的精度。需要注意的是,在進行定點數運算的時候,需要注意數值溢出的問題(包括向上溢出和向下溢出)。所謂向上溢出是指運算結果超出了定點數整數部分所能表示的范圍,向下溢出表示運算結果超出了定點數小數部分所能表示的范圍。顯然,一旦溢出將會造成計算精度的丟失,甚至是計算結果的錯誤。因此,合理地選擇w和wf至關重要,w和wf的值過大會浪費資源,過小又會造成精度丟失。

2、定點數與浮點數的比較

與浮點數相比,定點數具有如下的一些優勢:

(1)更少的資源

通常在FPGA中進行浮點運算時,會消耗更多的LUT、寄存器和乘法器。定點數由于不需要存儲小數點的位置,所以定點數的運算消耗的資源基本上和同樣位寬的整數運算相當,遠遠低于浮點運算的開銷。

(2)更高的性能

浮點運算在消耗更多資源的同時,也會給MAP和PAR帶來壓力,從而導致整個設計的Fmax降低。在同樣規模的運算量下,采用定點數的設計則可以獲得更高的Fmax。

與此同時,相對于浮點數,定點數也有很多的缺陷和不足:

(1)能夠表示數值的動態范圍較小

(2)數值溢出的問題

浮點數由于采用了統一的格式(IEEE-754),且動態范圍很大,因此基本不存在數值溢出的問題。但是定點數則需要程序設計中合理地選取w和wf的值,并且沒有統一的格式規范也為復雜程序的協同設計帶來麻煩。

從應用的需求來看,很多場合下,采用定點數即可滿足系統的性能需求,但是也有一些場合對精度的要求很高,如雷達成像,醫學成像,高精度數據采集與分析等則需要采用浮點數進行運算。

3、Lattice ECP3/ECP5 中的sysDSP乘法器

Lattice的ECP3/ECP5系列FPGA內部集成了多個sysDSP架構的乘法器模塊,基于sysDSP,用戶可以便捷地設計出低功耗高性能的數字信號處理應用。相比于用LUT實現的乘法器,基于sysDSP的乘法器具有顯著的性能優勢。此外,Lattice還提供了多種基于sysDSP的IP,如FFT、FIR和CIC等。

ECP5中sysDSP的Slice結構圖如下圖所示:

FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

4、定點小數的加法與乘法

定點小數的加法與乘法運算基本上和普通整數的加法與乘法一致,但是需要注意運算結果的w和wf的與原值的w和wf之間的對應關系。

下面來舉一個簡單的例子:兩個32位的有符號定點小數相乘,其中w=32,wf=23。即

FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

此時,

FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

我們可以直接使用Clarity來生成整數乘法器的Module,如下圖所示。其中符號位可以提取出來進行異或操作,剩余的31位進行乘法運算。

FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

如果需將運算結果也轉換為和輸入相同的格式,則可以進行如下的操作:

FPGA定點小數的常規格式、相對于浮點小數的優勢與劣勢和計算的概述

上面的例子,是將有符號數轉換為無符號數,再進行運算的(即采用原碼直接運算的)。實際上,我們還可以直接將MULT的Module中的Data Type配置為Signed,此時操作數將以補碼的形式進行運算。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21796

    瀏覽量

    606011
  • HDL
    HDL
    +關注

    關注

    8

    文章

    328

    瀏覽量

    47468
  • CORDIC算法
    +關注

    關注

    0

    文章

    17

    瀏覽量

    9759

原文標題:【博文連載】FPGA定點小數計算(一)

文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    浮點處理器相對于定點處理器有何不同

    對程序做出改動。浮點處理器相對于定點處理器有如下好處: 編程更簡單 性能更優,比如除法,開方,FFT和IIR濾波等算法運算效率更高。 程序魯棒性更強。 一、IEEE754格式
    的頭像 發表于 03-07 08:57 ?1.1w次閱讀
    <b class='flag-5'>浮點</b>處理器<b class='flag-5'>相對于</b><b class='flag-5'>定點</b>處理器有何不同

    Q格式的表示方式以及相應的運算

    Q格式是二進制的定點格式相對于浮點數,Q格式指定了相應的
    的頭像 發表于 09-23 15:20 ?4450次閱讀

    第7章 DSP定點數和浮點

    。7.1.2 浮點數 在計算機系統的發展過程中,曾經提出過多種方法表達實數。典型的比如相對于浮點數的定點數(Fixed Point Numb
    發表于 09-22 13:02

    基于牛頓迭代法的FPGA定點小數計算

    倒數運算分為這兩個步驟則需要更多的時間開銷和空間開銷。而采用常規浮點運算單元(FPU)來求解的話,同樣需要很長的計算時間。本文介紹一種基于牛頓迭代法(又稱Newton-Raphson算法)的平方根
    發表于 07-18 07:33

    32位帶小數格式應該怎么計算?

    各位前輩,問個簡單的問題。自學PIC32單片機,在學習ADC的時候,發現ADC結果格式有8中,我選用的是32位帶小數格式。請問,應該怎么計算?整數
    發表于 06-10 09:27

    IEEE 754標準浮點格式可分為哪幾種

    IEEE 754標準浮點格式可分為符號位s,指數位e以及尾數位f三部分。其中真實的指數E相對于實際的指數有一個偏移量,所以E的值應該為e-Bias,Bias即為指數偏移量。這樣做的好處是便于使用無
    發表于 07-15 09:12

    定點小數的表示方法

    定點小數的表示方法   定點小數,是指小數點準確固定在數據某個位置上的小數,從實用角度看,都把
    發表于 10-13 17:12 ?8254次閱讀

    定點小數的編碼方法

    定點小數的編碼方法  用定點小數引出數值的三種編碼(原碼、補碼和反碼)方法是最方便的。   (1) 原碼表示法,是用機器數的最高一位代表符號,以下各位
    發表于 10-13 17:19 ?3424次閱讀
    <b class='flag-5'>定點</b><b class='flag-5'>小數</b>的編碼方法

    IEEE754浮點格式

    計算機中,需要對小數進行計算,因此需要相應的電路支持。支持小數計算的電路有兩種:定點部件和
    發表于 11-17 11:09 ?1.5w次閱讀

    一文了解FPGA浮點小數定點小數的換算及應用

    定點小數運算 有些FPGA中是不能直接對浮點數進行操作的,只能采用定點數進行數值運算。 所謂定點
    的頭像 發表于 06-28 15:49 ?7237次閱讀

    FPGA定點小數常規格式相對于浮點小數優勢劣勢

     Lattice的ECP3/ECP5系列FPGA內部集成了多個sysDSP架構的乘法器模塊,基于sysDSP,用戶可以便捷地設計出低功耗高性能的數字信號處理應用。相比于用LUT實現的乘法器
    的頭像 發表于 03-27 08:54 ?8630次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>定點</b><b class='flag-5'>小數</b>的<b class='flag-5'>常規格式</b>、<b class='flag-5'>相對于</b><b class='flag-5'>浮點</b><b class='flag-5'>小數</b>的<b class='flag-5'>優勢</b>與<b class='flag-5'>劣勢</b>

    LM4F定點格式浮點格式的對比和浮點運算的應用詳細中文資料

    定點數指小數點在數中的位置是固定不變的,通常有定點整數和定點小數。在對小數點位置作出選擇之后,運
    發表于 05-09 11:40 ?11次下載
    LM4F<b class='flag-5'>定點</b><b class='flag-5'>格式</b>于<b class='flag-5'>浮點</b><b class='flag-5'>格式</b>的對比和<b class='flag-5'>浮點</b>運算的應用詳細中文資料

    FOC之定點小數運算

    許多MCU 芯片只支持整數運算,如果要在這些芯片上進行小數運算,定點運算應該是最佳選擇了;此外即使芯片支持浮點數,定點小數運算也是最佳的速度
    的頭像 發表于 07-11 15:10 ?6477次閱讀
    FOC之<b class='flag-5'>定點</b><b class='flag-5'>小數</b>運算

    FPGA浮點數轉化為定點數方法

    FPGA常規運算時不能進行浮點運算,只能進行定點整型運算,在處理數據的小數乘加運算和除法運算時FPGA
    的頭像 發表于 10-13 16:23 ?4912次閱讀

    浮點定點運算以及數據定標和精度問題

    計算機體系結構中浮點定點數據的表示 1、定點數: 定點數指小數點在數中的位置是固定不變的,通常
    的頭像 發表于 12-06 10:00 ?5081次閱讀
    百家乐有多少局| 逍遥坊百家乐官网的玩法技巧和规则| 大发888促销代码| 百家乐马渚| 百家乐官网如何骗人| 雅安市| 蒙特卡罗国际网址| bet365公司欧赔| 大发888娱乐游戏下载 客户端| 百家乐如何切牌好| 百家乐百乐发破解版| 风水24山图| 英皇百家乐官网的玩法技巧和规则| 百家乐官网15人专用桌布| 晋中市| 巴塘县| 吉安县| 百家乐官网视频软件下载| 名仕百家乐的玩法技巧和规则 | 大发888客服电话| 大发888优惠红利代码| 大发888亚洲游戏咋玩| 大发888游戏平台46| 威尼斯人娱乐老品牌| 百家乐园棋牌| 新锦江百家乐娱乐场| 潘多拉百家乐的玩法技巧和规则| CEO百家乐的玩法技巧和规则| 澳门百家乐官网网站| 百家乐游戏新| 大发888体育在线投注平台| 网络博彩公司| 广灵县| 百家乐官网娱乐天上人间| 威尼斯人娱乐网网址| 香港六合彩官方| 奇博娱乐| 鸿博,| 宽城| 棋牌百家乐官网赢钱经验技巧评测网 | 皇冠网上投注|