加、減 使用補碼時,加減法可以統一,因而對加減不加區分,對有無符號也不加以區分。
為了不丟失進位,M位+N位時,設M>=N,則結果需要M+1位儲存結果
圖源:Xilinx FPGA數字信號處理設計:基礎版 (杜勇),下同
當多個數據累加時,顯然多一位存儲結果,結果能夠表示2倍(無符號數);當擁有3-4個操作數時,結果的最大值為4倍的單個操作數表示的最大值,因而增加2bit即可;類似的5-8個操作數,最大為8倍,因而增加3bit即可
另一方面,當計算結果能夠被約束時,不加證明地,存在一個結論:多個數相加,若結果需要Nbit即可,計算的中間值也只需Nbit
上面的計算過程若按照6bit運算過程如下,結果是一致的
2、乘法
對于無符號數,N位*M位將得到N+M位的結果??梢灾庇^的證明,如下圖移位相加,N*M將移位(M-1)次,從而至少有(N+M-1)位,若加法出現進位,還需要額外1bit,共(N+M)位
有符號數,最高位需要表征符號,同樣進行無符號乘法,再確定符號。因而N*M的有符號數,可以看成(N-1)*(M-1)的無符號數相乘,結果需要N+M-2位,還需要增加符號位,因而總共需要N+M-1位。
3、除法
除法更為簡單,M/N,對于整數而言,N的絕對值大于等于1,因而商最大和M一樣,只需要M位就行。
4、more
當結果位寬不夠,會進行截斷,帶來丟失精度的計算結果。
審核編輯:劉清
-
FPGA設計
+關注
關注
9文章
428瀏覽量
26642 -
Verilog
+關注
關注
28文章
1352瀏覽量
110449
原文標題:verilog 整數四則運算的位寬考量
文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
霧盈FPGA筆記之(二十五)六位數四則運算計算器(1)整體結構及設計思路
霧盈FPGA筆記之(二十九)六位四則運算計算器(5)數碼管顯示
霧盈FPGA筆記之(三十)六位四則運算計算器(6)小算法實現BCD轉二進制
霧盈FPGA筆記之(三十二)六位四則運算計算器(8)算法實現加減乘除
西門子S7200四則運算指令表分享
利用simulink設計四則運算仿真模型
如何去實現基于單片機的四則運算計算器設計
使用51單片機設計一個四則運算帶括號的計算器設計報告免費下載
![使用51單片機設計一個<b class='flag-5'>四則運算</b>帶括號的計算器設計報告免費下載](https://file.elecfans.com/web1/M00/A2/DD/o4YBAF1SMluABBZqAAZ_nLHDLP8686.png)
使用51單片機實現簡易四則運算計算器的資料和程序免費下載
![使用51單片機實現簡易<b class='flag-5'>四則運算</b>計算器的資料和程序免費下載](https://file.elecfans.com/web1/M00/9C/CC/pIYBAF0n8OyAdSuTAASWe20WINU760.png)
基于單片機四則運算計算器設計+proteus仿真
![基于單片機<b class='flag-5'>四則運算</b>計算器設計+proteus仿真](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
FPGA中浮點四則運算的實現過程
![FPGA中浮點<b class='flag-5'>四則運算</b>的實現過程](https://file1.elecfans.com/web2/M00/0B/C2/wKgZomc4D8yACyL2AAAWwvTkxeE056.jpg)
FPGA中的浮點四則運算是什么
![FPGA中的浮點<b class='flag-5'>四則運算</b>是什么](https://file1.elecfans.com/web2/M00/0B/C2/wKgZomc4D8yACyL2AAAWwvTkxeE056.jpg)
評論