精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

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

FPGA設計論壇 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2022-10-13 16:23 ? 次閱讀

FPGA浮點轉定點運算、除法轉乘法運算以及運算誤差分析

FPGA在常規運算時不能進行浮點運算,只能進行定點整型運算,在處理數據的小數乘加運算和除法運算時FPGA一般是無能為力的,其中一種常用的處理方法就是數據進行浮點到定點的轉換。

浮點數轉化為定點數一般有兩種方法:

浮點數直接乘以一個數值。浮點小數(X)到定點數據(Xq)的轉換其實很簡單,就是把浮點小數乘以一個很大的2的n次冪的數據Xq=X*2^n,來把小數轉化為整數,然后再進行數據的乘加運算,運算結果通過移位來得到實際對應的理論數據結果。

直接把浮點數轉化為有符號的二進制小數用SxQn來表示,然后進行乘加運算,運算結果通過移位來得到實際對應的理論數據結果。

通過上述兩種方法運算能完成浮點到定點乘加運算的結果,但是上述兩種方法存在一定的問題:

存在浮點小數(X)進行整數轉化定點數據(Xq)后依然還是一個小數的情況。

浮點數轉化為二進制數存在數據位寬激增情況,使得SxQn的數據位寬變大。

數據運算存在一定的截位誤差,這部分誤差只能減小而不能消除。

浮點到定點數據轉化后數據位寬變大,占用邏輯資源增加。

在實際使用時由于直接把浮點數轉化為有符號的二進制小數用SxQn來表示這種方法局限性較多,近而大都采用浮點數直接乘以一個數值這種方式,但是這種方式使用時需要注意截位誤差和量化誤差。

第一種浮點數直接乘以一個數值方法具體過程如下:

浮點數(x)轉換為定點數(xq):xq=(int)x2^Q 定點數(xq)轉換浮點數(x):x= (float)xq2^(-Q) 比如,16進制數2000H,用Q0表示就是8192;若用Q15表示,則為0.25。 下面介紹Q格式運算中Q值的確定:

(1)定點加減法:需要轉換成相同Q格式才能加減 (2)定點乘法:不同Q格式的數據相乘,相當于Q值相加 (3)定點除法:不同Q格式的數據相除,相當于Q值相減 (4)定點左移:相當于Q值增加 (5)定點右移:相當于Q值減少 比如,Q15表示的4000H(浮點數0.5)乘以Q15表示的4000H,4000H×4000H=1000 0000H,乘完之后Q值變為15+15=30,即結果為0.01B,即為浮點數0.25。 對應浮點數的除法運算時是把除法轉換成乘法運算來實現。即分子/分母(A/B)轉化為A*(1/B),這時會面臨B是固定值和變值兩種情況 1、如果B是固定值利用這種方式即可把(1/B)轉化為定點數,然后進行乘法運算,這樣計算速率較塊,且通過合理的選擇放大倍數來減小數據的誤差。 2、如果對應B不是固定值,那么就將B變為對應位寬的整數,然后再進行數據的乘法運算。 數據的誤差來源于浮點轉化為定點時截位和運算結果截位引起的,這里可以通過常用的截位方式來實現截位。 常見的截位方式有:

1、負數直接截位后+1,就是所有數都按絕對值取floor 2、Truncate:直接截位,就是正數取floor,負數按絕對值取ceil 3、Rounding:舍入截位,就是所有數按絕對值取四舍五入

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

    關注

    1626

    文章

    21665

    瀏覽量

    601806
  • 數據
    +關注

    關注

    8

    文章

    6888

    瀏覽量

    88826

原文標題:FPGA浮點轉定點運算、除法轉乘法運算以及運算誤差分析

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA實現的自定義浮點數

    基于FPGA實現各種設計的首要前提是理解并掌握數字的表示方法,計算機中的數字表示方法有兩種:定點數表示法和浮點數表示
    發表于 10-10 10:30 ?1407次閱讀

    浮點數定點數

    本帖最后由 gk320830 于 2015-3-5 23:17 編輯 數制,浮點數定點數的文檔,上數電時老師給的。有興趣的同學可以來看看
    發表于 03-27 21:31

    【安富萊——DSP教程】第7章 DSP定點數浮點數(重要)

    第7章DSP定點數浮點數(重要) 本期教程主要跟大家講解一下定點數浮點數的基礎知識,了解這些基礎知識對于后面學習ARM官方的DSP庫大有裨益。特別是初學的一定要理解這些基礎知識。
    發表于 06-03 11:47

    第7章 DSP定點數浮點數

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

    verilog程序定點數的資料

    verilog程序中需要用到定點數,用浮點數太復雜。。。有誰有關于定點數比較系統的資料嗎。。。我找到黑金的教程,是關于浮點數運算的verilog實現,很詳細,先傳上來 Verilog
    發表于 03-27 06:35

    功能函數中的浮點數轉換為定點數

    第16章 DSP功能函數-數據拷貝,數據填充和浮點定點本期教程主要講解功能函數中的數據拷貝,數據填充和浮點數轉換為定點數。目錄第16章 DSP功能函數-數據拷貝,數據填充和
    發表于 08-17 07:37

    定點數浮點數的區別是什么

    定點數浮點數的區別目的:理解定點數浮點數在傅里葉變換(FFT)的實際應用中的選擇單片機中如果需要進行一定的運算(常見的傅里葉變換)時,需要在不同情況下對AD采集的數據進行一定的處理
    發表于 02-21 07:22

    擴充浮點運算集是否需要自己在FPGA板子上設置一個定點數轉為浮點數的部分?

    擴充浮點運算集的時候,是否需要自己在FPGA板子上設置一個定點數轉為浮點數的部分?
    發表于 08-11 09:13

    請問ADSP-21469的匯編指令集ISA/VISA中有沒有專門用來進行浮點數定點數轉換的指令?

    得到的ADC數據需要進行定點數浮點數的轉換,為了節省開銷,想使用匯編程序進行定點浮點之間的轉換。請問ADSP-21469的匯編指令集ISA/VISA中有沒有專門用來進行
    發表于 11-29 08:03

    功能:雙字節十六進制定點數轉換成格式化浮點數

    功能:雙字節十六進制定點數轉換成格式化浮點數 入口條件:雙字節定點數的絕對值在[R0]中,數符在位1FH中,整數部分的位數在A中。
    發表于 01-19 22:45 ?3153次閱讀

    FPGA浮點數定點數表示法原理展示

    浮點數定點數表示法是我們在計算機中常用的表示方法 所以必須要弄懂原理,特別是在FPGA里面,由于FPGA不能像在MCU一樣直接用乘除法。
    發表于 11-18 02:15 ?8717次閱讀
    在<b class='flag-5'>FPGA</b>里<b class='flag-5'>浮點數</b>與<b class='flag-5'>定點數</b>表示法原理展示

    單片機浮點數運算的源碼設計

    單片機執行程序的過程,實際上就是執行我們所編制程序的過程。即逐條指令的過程。本文詳細介紹了浮點數在單片機中的表示方式和匯編子程序,浮點數定點數加減法要困難,但是克服了定點數表示范圍小
    的頭像 發表于 03-07 15:19 ?1w次閱讀
    單片機<b class='flag-5'>浮點數</b>運算的源碼設計

    Xilinx怎么定點數浮點數

    轉化為浮點數可以是單精度也可以是雙精度。
    發表于 07-05 08:09 ?3866次閱讀
    Xilinx怎么<b class='flag-5'>定點數</b>轉<b class='flag-5'>浮點數</b>

    定點數浮點數在STM32單片機中使用傅里葉(FFT)變換的理解

    定點數浮點數的區別目的:理解定點數浮點數在傅里葉變換(FFT)的實際應用中的選擇單片機中如果需要進行一定的運算(常見的傅里葉變換)時,需要在不同情況下對AD采集的數據進行一定的處理
    發表于 12-24 19:22 ?16次下載
    <b class='flag-5'>定點數</b>和<b class='flag-5'>浮點數</b>在STM32單片機中使用傅里葉(FFT)變換的理解

    定點數浮點數的概念 浮點數二進制序列與指數表達式之間的轉化

    的缺點:由于小數點位置固定不變,定點數所表示的數的范圍非常有限,不能同時表達特別大或特別小的數,所以才出現了浮點數,以此來擴充數的范圍,同時浮點數也廣泛應用于精度要求高的場合。簡單的理解浮點數
    的頭像 發表于 08-22 16:06 ?7767次閱讀
    <b class='flag-5'>定點數</b>和<b class='flag-5'>浮點數</b>的概念 <b class='flag-5'>浮點數</b>二進制序列與指數表達式之間的<b class='flag-5'>轉化</b>