99在线精品免费视频九九视-99在线精品视频-99在线精品视频免费观里-99在线精品视频在线观看-99在线免费播放



官方論壇
官方淘寶
官方博客
微信公眾號
點擊聯系吳工 點擊聯系周老師
您的當前位置:主頁 > FPGA原創 >

FPGA中正負數和定點小數的表示方法

發布時間:2019-12-13   作者:姬姬 瀏覽量:

FPGA中正負數和定點小數的表示方法


本文為明德揚原創文章,轉載請注明出處!

在日常生活中,我們常常需要到正數與負數,比如南北兩級氣溫常年為零度以下,這個時候我們就需要負數來表示溫度。那么在FPGA工程里面也是這樣,我們如果想要做溫度監測工程,自然而然的就會需要到負數來表達零下的溫度。當然FPGA中除了數字正負的表達,還需要用到小數。在加減乘除的運算中,小數的出現是不可避免的。作為FPGA工程師,我們無法保證所有設計都不出現負數或者小數的情況,不能避免我們就客服,今天就為大家分享一下FPGA中負數與小數的表達。

一、負數的表達

關于負數,大家都知道在任何正數前加上負號便成了負數,比如“π”前面加上負號為“”,“0.178”前面加上負號為“-0.178”。FPGA傳輸信號使用的是二進制表達,同樣二進制的負數表達也是在正數前面增加一個負號。即“1110”加負號為“-1110”,“1010100”前面加負號為“-1010100”。

明確了二進制負數的表達,我們再來考慮如何通過信號傳輸。在計算機中,數字信號的大小常用有限位的二進制數表示。信號1為高電平,信號0為低電平,高低電平的變化即可得到對應的信號。想要傳輸多位信號,就增加對應的線即改變位寬。例如我們需要傳輸五位二進制數10100就需要5條線,第一條線為高電平傳輸“1”,第二條線為低電平傳輸“0”,第三條線為高電平傳輸“1”,第四條線為低電平傳輸“0”,第五條線為低電平傳輸“0”。記住信號傳輸的原理,我們來考慮負數的表示。

在表示負數之前,我們需要明確一個理念—約定,即你我雙方一起遵守一個協議從而達成合作。就如手機制造商和耳機制造商合作一樣,如果想要耳機與手機達成適配,就需要達成約定使用一個標準。比如一致的使用圓孔,或者約定使用type-c接口;同時也要約定使用國際標準還是國家標準。如果沒有達成約定,兩個廠家想當然的進行設計,手機使用了國際標準的type-c接口,耳機卻是國家標準的圓孔,那想要達成最終合作也只會變成一場空,無論如何都是無法成功傳輸聲音的。關于數據傳輸也是一樣的,甲乙兩個模塊之間需要傳輸數據,一起約定了共傳輸六位數據,但是第一位數據不考慮,只取后五位。即傳輸信號為“101011”,其實表達的為“01011”。這個時候兩個模塊之間一方沒有遵守約定,就會得出兩種截然不同的結果。

理解了約定的概念,我們自然而然就解決了負數的問題。前面說過負數是在數的前面增加一個負數符號,那么我們就可以事先約定一條表示正負的線,并且此線為傳輸數據的第一條線,高電平1為負,低電平0為正。這時傳輸的數據就如下表所示:


二進制信號表示

約定前的十進制表示

約定后的十進制表示

001

1

+1

101

5

-1

010

2

+2

011

3

+3

111

7

-3



可以看出,我們約定為將第一位表示正負是完全沒有問題的,當然我們也發現,約定前和約定后的數值是完全不一樣的。因此在設計代碼的時候一定要注意,模塊與模塊之間的傳輸,一定要同時遵守同一約定。遵守約定后,不論我們是約定第幾條線表示正負,都可以達到數據正確傳輸的效果。

二、小數的表達

學習了負數的表達,感受了約定的力量,那么小數的表達也就迎刃而解了。這里有的同學會問,我也需要增加一根線表示小數點嗎,其實是不用的。就算加入了一條線,電平不會有變化,不但給數值的表示增加了困難,還浪費了資源,屬于多此一舉的行為。但是我們也知道一個3位二進制數字“101”,小數點的位置不同時,對應的值就不同。同樣我們需要在事先約定好,這里的約定,即是小數點的位置。并不需要將小數點實際的表示出來,但是傳輸信號雙方需要約定好,并且互相都以小數點位置是已知的為基礎進行信號傳輸的。

比如對于剛剛的3位二進制數字“101”,定位小數點在第二位之后,那么此二進制數字為“10.1”即十進制的“2.5”。我們管小數點位置固定的數稱為定點小數。確定了小數點的位置,自然而然我么就確定了小數點后有幾位數。我們使用Qn來表示小數點后有n位的定點小數,如同樣是5位二進制數字“10101”,將其不同小數位置表示出來如下:


5位二進制數

小數點位置

對應小數表達

10101

Q0

10101

10101

Q1

1010.1

10101

Q2

101.01

10101

Q3

10.101

10101

Q4

1.0101

10101

Q5

0.10101


因此我們只要定位了小數點后需要跟幾位數字,就可以在FPGA中表達小數。比如約定6位二進制數字的小數點之后有4位就叫做Q4格式的定點小數,隨機拿一個數字表達即“0.1010”;比如約定10為二進制的小數點之后有7位就叫做Q7格式的定點小數,隨機拿一個數字表達即“011.0111010”。

以上就是FPGA中負數和小數的表達,我們再來回顧一下,負數的表達方式為增加一位信號,小數的表達方式則是定位小數點。但是不論是哪種方式,我們都想傳達給大家一個思想,就是不論多么復雜的傳輸內容,傳輸數據雙方都可以對其進行約定,只要約定達成一致,那么傳輸任何數據都沒有問題了。

明德揚專注FPGA研究,本人正在連載兩本書籍: 《基于FPGA至簡設計法實現的圖像邊緣檢測系統》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=691)、《ASICFPGA時序約束理論與應用》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=705),有興趣點擊觀看。也歡迎加入群(838209674),及時獲取最新的文章信息,個性化問題也可以找我哦:Q 1744527324(明德揚小冉)。


上一篇:沒有了
  •   
  •   
  •   
  •  
  • FPGA教育領域第一品牌
  • 咨詢熱線:020-39002701
  • 技術交流Q群:544453837
主站蜘蛛池模板: 欧美综合偷拍在线另类卡通小说 | 亚洲欧美日韩综合一区久久 | 国产福利视频 | 欧美亚洲视频在线观看 | 日韩中文字| 国产精品嫩草影院免费看 | 国产精品久久久免费视频 | 国产二区三区毛片 | 三级黄色毛片 | 国产亚洲欧美日韩在线观看一区二区 | 久久免费视频7 | 国产在线观看高清不卡 | 三级全黄a | 精品国产高清a毛片无毒不卡 | 国产91精选在线观看麻豆 | 日本特黄特色aaa大片免费欧 | 亚洲国产婷婷综合在线精品 | 日本一区精品 | 国产麻豆网 | 成人日韩在线 | 免费看欧美一级特黄α大片 | 国产一区二区丁香婷婷 | 国产一级鲁丝片 | 午夜hhh视频在线观看hhhh | 一区卡二区卡三区卡视频 | 国产日本三级在线播放线观看 | 免费看又爽又黄禁片视频1000 | 91在线播放视频 | 91中文在线 | 国产一级大片免费看 | 一级做a爰性色毛片 | 日本亚洲乱码中文字幕影院 | 国产淫语对白在线视频 | 白丝丝袜高跟国产在线视频 | 丰满美女福利视频在线播放 | 手机看片自拍自拍自拍 | 黄色三级国产 | 久久免费精品视频 | 国产一久久香蕉国产线看观看 | 一区二区三区国产 | 中国一级特黄的片子免费 |