色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

FPGA系統中設計數字表示介紹

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2021-04-04 18:31 ? 次閱讀

FPGA系統中有兩個基本準則非常重要,分別為:數字表示法和代數運算的實現。本博文主要介紹數字表示。

可以購買相關書籍進行研讀。

零、計數系統框架

36a05e84-8e2a-11eb-8b86-12bb97331649.jpg

一 、整數的表示

數字信號處理中需要考慮的基本要點是數字的表示,數字信號處理需要將量值用有限精度的數字表示。一方面,該表示必須足夠準確地處理數字信號處理系統中真實世界的輸入和輸出;另一方面, 該表示必須在硬件實現方面具有高效性。

二進制數的使用是任何數字系統的基礎, 當處理大型復雜的 DSP 系統時, 每秒將需要處理數十億次的乘加運算。因此, 通過減少位數來降低硬件開銷的方法將變得非常有意義。

假設有一個使用 16 位分辨率運算的 DSP 濾波應用, 因此對于一個 16 位乘 16 位并行乘法 , 硬件開銷的量級為 16 X 16 = 256 個單元。使用 16 位字長的原因是它就是 DSP處理器通常使用的字長, 鑒于習慣仍然選擇一樣的字長。在 FPGA世界中可以選擇分辨率。因此, 如果說 9 位分辨率已經足夠了, 乘法器的硬件開銷即為 9 X 9= 81 個單元。這大約是使用 16 位計算開銷的 30%。

因此正確選擇字長很重要:使用太多位浪費硬件資源, 而太少則會損失分辨率。所以, 保證選擇正確的字長的前提是掌握算法和 DSP 知識。

1.1 二進制反碼

可使用二進制反碼描述正數和負數。求一個數的反碼只需對所有的位取反。然而需要注意, 當使用反碼時, 有兩種表示數字 0 的方法, 通常來說, 用反碼并不能直接表示算術運算。

當在這種數字系統中執行二進制運算時, 將遇到奇怪的問題, 這是由于數字 0 有兩個表示版本。事實上,-0 小于+0,這是由于使用反碼表示時:-0+ 1 =+0;+0 -1=-0。

實現上述功能需要相當復雜的硬件。實際需要的是這樣一種系統, 其處理正數和負數與處理無符號數字一樣, 不需要增加硬件的復雜性。

反碼實際上從來沒有在實時 DSP 或數字系統中使用過, 但是它能夠引出標準形式的二進制補碼的概念。

1.2 二進制補碼

對于+0 和-0 來說, 更加合理的數字系統為只有一個 0 的二進制補碼。表 1.1 給出了二進制補碼的表示。

生成 0 的第 9 位可被忽略, 注意用二進制補碼可以表示- 128,但不能表示+ 128。在對正值取反時, 會發現需要用第 9 位表示負零。然而, 如果簡單地忽略這個第 9 位 , 那么這個負零與正零的表示將完全相同。

377fe202-8e2a-11eb-8b86-12bb97331649.jpg

注意在數值系統中, 每個位置上階的意義。例如對于十進制 156 來說:

37ef5cb8-8e2a-11eb-8b86-12bb97331649.png

也就是說字符串“156”代表數字 156,它是每個位置上的值與其階的乘積的和。

如表1.2 所示, 這個規則對二進制數也同樣適用。如表 1.3 所示, 對于二進制補碼整數, 如果將最左列考慮為負值, 則結果同樣適。

3861c744-8e2a-11eb-8b86-12bb97331649.jpg

二、 非整數值的表示

在數字信號處理系統中, 經常希望描述諸如正弦波的信號, 顯然需要處理非整數數值的情況。對這種非整數值要求的一種可能的解決辦法是允許正弦波幅度按比例增加并以整數形式來表示。

這種方法很常見, 但在某些情況下, 需要表示 0~1 之間的數值, 也需要表示整數之間的數值。用十進制表示小數很容易。通過引入十進制小數點來描述非整數, 并在小數點的右邊插人數字。例如:

3898a0c0-8e2a-11eb-8b86-12bb97331649.png

在式中, 字符串“10.34”代表數字 10. 34 ,即 10 的乘方的倍數的總和。

同樣地, 可以對二進制數執行同樣的運算:

38f40dfc-8e2a-11eb-8b86-12bb97331649.png

在式屮, 字符串“10.01”表示數字 2.25,即 2 的乘方的倍數的總和。

2.1 定點二進制數

定點數就是二進制小數點在固定位罝的數。二進制小數點左邊部分的位被定義為整數位, 而該點右邊部分的位被定義成小數位。舉例來說:“101.01011”有 3 個整數位, 5個小數位。如表 2.1 所示, 定點數按類似的方式處理有符號整數。

399aa0ea-8e2a-11eb-8b86-12bb97331649.png

根據表 2.1可得, 110.00111( 二進制數) = - 1.78125( 十進制數)

如表 2.2所示 , 一種非常重要的定點數字類型只有一個整數位。

例如, Motorola StarCore 和 TI C62x DSP 處理器都使用只有一個整數位的定點表示法。這種格式可能是有問題的, 因為它不能表示+ 1.0,實際上, 任何定點格式都不能表示其負數最小值的相反數。

所以在使用定點數時要多加注意。一些 DSP 處理器結構允許利用擴展位對格式進行 1 個整數位的擴展( 這些擴展位就是附加的整數位)。

39cd3f96-8e2a-11eb-8b86-12bb97331649.png

2.2 定點量化

重新考慮數字的格式:aaa. bbbb 表示 3 個整數位, 5 個小數位。可以表示- 4 和3.96785 之間的數, 數之間的步長為 0.03125。由于具有 8 位, 故具有 28 = 256 個不同的值。需要注意使用定點時的量化,將有± 1 /2LSB( 最低有效位) 的誤差。

量化就是使用有限數位來表示無限精度的數。在十進制中, 很熟悉處理給定位數的十進制小數的方法。實數可以表示為 3.14159265… , 可以量化或將其表述為帶 4 個十進制位的小數 3.1416。如果在這里使用舍人, 則誤差為:

3.14159265…- 3.1416 =- 0.00000735

如果使用截斷法( 即第 4 位小數以后的位數被扔掉) , 則誤差將變得更大, 如下:

3.14159265…- 3.1415 = 0.00009265

很明顯, 舍人是比較合適的能夠得到預期精度的方法。然而該方法也會有一些硬件開銷。盡管開銷相對較小, 但它的確不是免費的。

當乘以小數時需要處理到給定數目的位數。例如, 如果需要計算兩個十進制小數位, 則計算過程如下:

0.57 X 0.43 = 0.2451

可被舍人到 0.25,或者截斷到 0.24。結果是不同的。

一旦開始在數字信號處理系統中執行上億次的乘加運算, 就不難發現這些微小的誤差會因為累積而造成嚴重的影響。

2.3歸一化處理

使川二進制小數使得算術運算變得容易, 也易于處理字長增長。作為一個例子, 考這樣一個“ 機器”, 它有 4 位十進制數和一個具有 4 個數字位的算術單元, 范圍為-9999~+9999。兩個 4 位數相乘將導致多達 8 個有效數字。

6787 X 4198 = 28491826 --》(標定)2849.1826–》(截斷)2849

如果想把這個數送到該機器的下一級( 算術運算具有 4 位的精度 ) , 那么需要按比例減小 10000 倍, 然后截斷 。

將其歸一化到范圍-0.9999 ~+0.9999。

0.6787 X 0.4198 = 0.28491826 —》(截斷) 0.2849

現在截斷到 4 位的操作變得相當容易。當然兩種結果是嚴格一致的, 而差別僅僅在于如何執行截斷和標定。

然而對輸入執行歸一化操作, 所有的輸人值都位于-1~ + 1 的區間內。可以注意到該區間內任意兩個數的乘積同樣存在于-1 +1 的區間之內。

同樣的歸一化操作也適用于二進制, 而且大多數數字信號處理系統也使用二進制點。

下面考慮 二 進 制 補 碼 中 的 8 位 數 值。因 此 該 數 值 的 取 值 范 圍 是 10 0 0 0 0 0 0~01111111 (-128~+127)。

如果將這些數歸一化到-1~ 1 之間( 除以 128 ), 那么二進制的范圍是 1.0000000~0.1111111( -1~ 0.9921875,其中 127/128= 0.9921875 )。所以把十進制乘法中歸一化的概念用于二進制。

十進制乘法 36 X 97=3492 等價于二進制乘法 0010 0100 X 0110 0001 = 0000 1101 1010010。在二進制中,將值歸一化就是計算 0.0100100 X 0.1100001 =0.00110110100100。等價于十進制中:

0.28125 X 0.7578125=0.213134765625

注意:在 數 字 信 號 處 理 系 統 中, 在 設 計 者 的 眼 中, 二 進 制 點 是 存 在 的, 然 而 卻 沒 有 實際 的 連 接 或 連 線。這 只 是 使 得 跟 蹤 字 長 增 長, 以 及 通 過 扔 掉 小 數 位 來 截 斷 變 得 更 加 容易。當 然 如 果 更 愿 意 使 用 整 數 并 且 跟 蹤 定 標 等 , 也 可 以 這 樣 做。得 到 的 答 案 是 相 同 的 ,硬 件 開 銷 也 是 相 同 的。

2.4 小數部分截斷

二進制中, 截斷是簡單地將位去除的過程。通常使用這種強制的方法來將大的二進制字長變小, 通常需要截掉最低有效位 (LSB),該操作的影響是降低了準確度。

考慮將十進制數 7.8 9 9 2 截 斷 到 3 個 有 效 位 7.89。當然, 可以截斷最低有效位 , 其結果是損失了精度( 分辨率) , 但它仍是最初 5 位數的代表。如果截斷最高有效位 992 ( 或0.0992), 其結果將不是所希望的, 而且也失去了意義。

在二進制中, 最髙有效位截斷的概念是很少使用的, 在十進制的例子中, 最高有效位截斷通常是災難性的。然而, 在某些極少情況下, 一系列的操作將導致整個數值的范圍減小。所以移除 MSB 也是有好處的。

截斷 MSB 通常發生在要截斷的位為空的時候。當使用有符號的值時, 由于丟失了符號位, 截斷 MSB 將會帶來問題。

舍入是一種更準確的方法, 但同時也是更復雜的技術。該技術需要進行一個加法操作, 然后再直接截斷,該過程等價于十進制的四舍五人, 即通過在 7 。 8 9 上 加 0 。 0 5 然 后 再 截 斷 到 7.9 來 舍人到一個小數位。因此簡單的舍人需要一個加法操作。

2.5 一種不同的方法 Trounding

Trounding 是截斷 truncation )和 舍 人( rounding )之 間 的 一 種 折中方 法, 其 特 點如下。

① 和舍人一樣, Trcnmding 保留了 LSB 以上的信息

② 它和舍人不同, 它不影響新的 LSB 以上的任何位。

其具體實現方法在 XtremDSP 中進行了詳細的介紹, 具體可以參看這部分相關內容。Trounding 的好處是它不需要全加器, 而且可以通過或門得到比截斷更好的性能。盡管是一個很小的優點, 但這種成本上的節省以及性能的改善還是有價值的。

三、 浮點數定義及表示

3.1 標 準 浮 點 數 表 述

浮點數可以在更大的動態范圍內提供更高的分辨率, 通常當定點數由于受其精度和動態范圍所限不能勝任時, 浮點數能提供解決方案。當然, 也在速度和復雜度方面帶來了損失 , 大多數的浮點數都遵循單精度或雙精度的 IEEE 浮點標準。標準浮點數字長由一個符號位 S,指數 e 和無符號( 小數) 的規格化尾數m構成, 其格式如下:

3a7e1d98-8e2a-11eb-8b86-12bb97331649.png

浮點數可以用下式描述:

3af09580-8e2a-11eb-8b86-12bb97331649.png

指數 e=1…2 是為∞準備的。而 e=0 是 為 0 預 備 的。表 2.3 給 出 了 IEEE 的單精度和雙精度格式的參數

3b4711d0-8e2a-11eb-8b86-12bb97331649.png

在浮點乘法中, 尾數部分可以像定點數一樣相乘, 而把指數部分相加。浮點數減法復雜一些,因為首先將尾數歸一化, 就是將兩個數都調整到較大的指數, 然后將兩個尾數相加。對于加法和乘法混合運算來說, 最終的歸一化, 就是將結果尾數再統一乘小數1.m 形式的表達式, 這是非常必要的。

一些浮點編碼的范例 ( 單精度浮點 32 位, 注意這些運算都是基于二進制的計算)。如下:

3c1f177e-8e2a-11eb-8b86-12bb97331649.jpg

注意小數點之前的 1 沒有被編碼( 那里一直有個 1, 因而不需要顯式表示)。

3.2 浮點數的短指數表示

簡化浮點硬件的一種方法是創建一種使用短指數的數據格式。這種情況下有一個 4位的指數和一個 11 位的尾數。因此可以表示-7~ 8 的范圍內的指數。其結果在動態范圍內顯著地增加, 代價只是精度輕微降低。表 2.4 給出了定點數和短指數的比較。

3c5af69a-8e2a-11eb-8b86-12bb97331649.jpg

3.3 浮點數的應用

浮點在許多具有專用浮點單元( FPU ) 的 DSP 處理器中被廣泛使用。不在 FPGA中使用浮點的原因如下。

① 運算速度慢:FPU 是一個復雜的單元, 設計中的每個代數運算將共用該單元。

② 低效的芯片面積:使用 FPGA 實現 FPU 需要很大的硬件空間。

然而, 某些情況下 FPU 也許是必不可少的, 例如在需要一個巨大的動態范圍的應用場合, 使用浮點可能使得設計更加簡單 , 這是因為在定點設計中, 需要最好地利用可用的動態范圍, 但是在浮點設計中, 動態范圍的限制不是一個需要考慮的問題。

原文標題:基于 FPGA 的數字表示

文章出處:【微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

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

    關注

    1629

    文章

    21729

    瀏覽量

    603048
  • FPU
    FPU
    +關注

    關注

    0

    文章

    42

    瀏覽量

    21313

原文標題:基于 FPGA 的數字表示

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用FPGA構建ADAS系統簡易過程

    之前已經介紹過《FPGA在汽車電子應用-ADAS》,但是很多人留言說是沒有相關例程,應用不夠直觀,所以,今天他來了-使用FPGA制作一個便攜式 ADAS
    的頭像 發表于 11-05 09:19 ?250次閱讀

    多電量數字變送器在現代配電系統的應用

    ?多電量數字變送器是現代配電系統中一種重要的電量監控與數據傳輸設備,具備高精度和實時監測的能力,廣泛應用于工業和商業環境。本文通過介紹BD系列多電量數字變送器的功能、技術參數、優勢及其
    的頭像 發表于 11-04 17:07 ?210次閱讀
    多電量<b class='flag-5'>數字</b>變送器在現代配電<b class='flag-5'>系統</b><b class='flag-5'>中</b>的應用

    計數器的特點和參數

    計數器作為一種常用的電子元件,在電子設備和系統扮演著至關重要的角色。它們不僅用于存儲和增減數字值,還廣泛應用于時序和頻率測量、事件計數、控
    的頭像 發表于 08-29 14:54 ?944次閱讀

    計數器同步和異步怎么判斷

    計數器同步和異步是數字電路設計的一個重要概念,它們在很多應用場景中都扮演著關鍵角色。 一、計數器概述 計數器是一種常見的
    的頭像 發表于 07-23 11:14 ?1205次閱讀

    基于FPGA的圖像采集與顯示系統設計

    源和固有的并行處理能力,在數字信號處理、硬件加速、汽車電子等領域得到了廣泛應用。在圖像采集與顯示系統FPGA能夠實現高速、并行的數據處理,顯著提高
    的頭像 發表于 07-17 10:58 ?1845次閱讀

    同步計數器的主要類型和工作原理

    數字電子領域,計數器是一種用于統計脈沖信號數量的設備,廣泛應用于各種數字系統和電路。其中,同步計數
    的頭像 發表于 05-24 14:34 ?1373次閱讀

    脈沖計數器的分類和作用

    在電子技術和數字系統,脈沖計數器作為一種基本而重要的邏輯器件,其應用廣泛且功能多樣。脈沖計數器不僅能夠實現基本的
    的頭像 發表于 05-15 17:11 ?1190次閱讀

    基于FPGA的“俄羅斯方塊”系統設計

    今天給各位大俠帶來基于FPGA的“俄羅斯方塊”設計。 設計目的 通過此次項目,完成以下目的: 1) 熟悉Xilinx FPGA的架構及開發流程; 2) 設計一個功能完整的系統
    發表于 05-02 19:27

    電機 IP防水等級詳細劃分

    IP后面的兩位數字表示該設備外殼對于固體異物和水侵入的防護強度,第1個數字表示電器設備防塵、防止外物侵入的等級,第2個數字表示設備防濕氣、防水侵入的密閉程度,
    的頭像 發表于 04-03 09:49 ?3336次閱讀
    電機 IP防水等級詳細劃分

    基于FPGA設計頻率計方案介紹分享

    系統提高系統集成度、可靠性的最佳選擇之一。 FPGA是由存放在片內RAM的程序來設置其工作狀態的,因此,工作時需要對片內的RAM進行編程。用戶可以根據不同的配置模式,采用不同的編程方
    發表于 03-31 16:22

    讀《FPGA入門教程》

    使用FPGA計數字電路時,其開發流程是給基于HDL的。流程圖如下圖所示: 需求定義(功能定義) 設計和實現一個系統的第一步,是明確整個系統的性能指標,然后進一步將
    發表于 03-29 16:42

    品讀《基于FPGA與RISC-V的嵌入式系統設計》

    曾經何時,偶然間獲得了這本書,這本是來自清華大學出版社的,作者顧長怡。此書比較詳細介紹了RISC-V指令集和其背后的設計思想,并且涉及到一種稱為FARM的軟硬件開發模式,將FPGA與RISC-V
    發表于 03-29 00:06

    fpga數字ic區別 fpga和plc區別

    fpga數字ic區別 FPGA(現場可編程邏輯門陣列)和數字IC(集成電路)在設計、功能、應用等方面存在顯著的區別。 FPGA
    的頭像 發表于 03-14 18:08 ?2620次閱讀

    計數器怎么用 計數器的作用有哪些

    計數器是一種被廣泛應用于各個領域的實用工具,在我們的日常生活隨處可見。無論是進行時間統計,協助工作任務的完成,還是用于科學研究和編程技術,在各個領域都起到了重要的作用。本文將詳細介紹計數
    的頭像 發表于 02-03 10:04 ?5377次閱讀

    FPGA多功能數字系統原理

    FPGA(可編程邏輯門陣列)是一種集成電路芯片,具有可編程的數字邏輯功能。多功能數字系統利用FPGA技術實現了時鐘的顯示、計時、報時等功能
    的頭像 發表于 01-02 16:50 ?1262次閱讀
    主站蜘蛛池模板: www.x日本| 火影小南被爆羞羞网站| 老师的丝袜脚| 午夜福利视频极品国产83| 99国产热视频在线观看| 国内精品一级毛片免费看| 啪啪后入内射日韩| 在线观看亚洲 日韩 国产| 国产成人自产拍免费视频| 男人和女人一级黄色大片| 亚洲午夜精品aaa级久久久久| 俄罗斯美女破处| 蜜柚视频网在线观看免费| 亚洲视频免费在线观看| 国产99久久| 欧洲内射VIDEOXXX3D| 24小时日本高清免费看| 黄色a级免费网站| 午夜深情在线观看免费| 成片免费观看视频在线网| 美女张开腿让男人桶爽无弹窗| 亚洲视频91| 黑人阴茎插女人图片| 婷婷激情综合色五月久久竹菊影视 | 7m凹凸国产刺激在线视频| 激情丛林电影完整在线| 午夜伦理yy44008影院| 丰满少妇69激情啪啪无码| 欧美日韩一区不卡在线观看| 26uuu老色哥| 久久精品人人做人人爽97| 亚洲欧美在无码片一区二区| 国产精品人妻无码久久久2022| 日本特交大片免费观看| rio 快播| 欧美14videosex性欧美成人| 5566av资源| 快播最新电影网站| 伊人情人网综合| 久久成人亚洲| 伊人久久大香线蕉综合亚洲|