加、減 使用補(bǔ)碼時(shí),加減法可以統(tǒng)一,因而對加減不加區(qū)分,對有無符號也不加以區(qū)分。
為了不丟失進(jìn)位,M位+N位時(shí),設(shè)M>=N,則結(jié)果需要M+1位儲存結(jié)果
圖源:Xilinx FPGA數(shù)字信號處理設(shè)計(jì):基礎(chǔ)版 (杜勇),下同
當(dāng)多個(gè)數(shù)據(jù)累加時(shí),顯然多一位存儲結(jié)果,結(jié)果能夠表示2倍(無符號數(shù));當(dāng)擁有3-4個(gè)操作數(shù)時(shí),結(jié)果的最大值為4倍的單個(gè)操作數(shù)表示的最大值,因而增加2bit即可;類似的5-8個(gè)操作數(shù),最大為8倍,因而增加3bit即可
另一方面,當(dāng)計(jì)算結(jié)果能夠被約束時(shí),不加證明地,存在一個(gè)結(jié)論:多個(gè)數(shù)相加,若結(jié)果需要Nbit即可,計(jì)算的中間值也只需Nbit
上面的計(jì)算過程若按照6bit運(yùn)算過程如下,結(jié)果是一致的
2、乘法
對于無符號數(shù),N位*M位將得到N+M位的結(jié)果??梢灾庇^的證明,如下圖移位相加,N*M將移位(M-1)次,從而至少有(N+M-1)位,若加法出現(xiàn)進(jìn)位,還需要額外1bit,共(N+M)位
有符號數(shù),最高位需要表征符號,同樣進(jìn)行無符號乘法,再確定符號。因而N*M的有符號數(shù),可以看成(N-1)*(M-1)的無符號數(shù)相乘,結(jié)果需要N+M-2位,還需要增加符號位,因而總共需要N+M-1位。
3、除法
除法更為簡單,M/N,對于整數(shù)而言,N的絕對值大于等于1,因而商最大和M一樣,只需要M位就行。
4、more
當(dāng)結(jié)果位寬不夠,會進(jìn)行截?cái)?,帶來丟失精度的計(jì)算結(jié)果。
審核編輯:劉清
-
FPGA設(shè)計(jì)
+關(guān)注
關(guān)注
9文章
428瀏覽量
27314 -
Verilog
+關(guān)注
關(guān)注
29文章
1367瀏覽量
112191
原文標(biāo)題:verilog 整數(shù)四則運(yùn)算的位寬考量
文章出處:【微信號:Hack電子,微信公眾號:Hack電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
霧盈FPGA筆記之(二十五)六位數(shù)四則運(yùn)算計(jì)算器(1)整體結(jié)構(gòu)及設(shè)計(jì)思路
霧盈FPGA筆記之(二十九)六位四則運(yùn)算計(jì)算器(5)數(shù)碼管顯示
霧盈FPGA筆記之(三十)六位四則運(yùn)算計(jì)算器(6)小算法實(shí)現(xiàn)BCD轉(zhuǎn)二進(jìn)制
霧盈FPGA筆記之(三十二)六位四則運(yùn)算計(jì)算器(8)算法實(shí)現(xiàn)加減乘除
西門子S7200四則運(yùn)算指令表分享
利用simulink設(shè)計(jì)四則運(yùn)算仿真模型
如何利用simulink去設(shè)計(jì)一種四則運(yùn)算仿真模型
如何去實(shí)現(xiàn)基于單片機(jī)的四則運(yùn)算計(jì)算器設(shè)計(jì)
四則運(yùn)算_實(shí)驗(yàn)10
使用51單片機(jī)設(shè)計(jì)一個(gè)四則運(yùn)算帶括號的計(jì)算器設(shè)計(jì)報(bào)告免費(fèi)下載

使用51單片機(jī)實(shí)現(xiàn)簡易四則運(yùn)算計(jì)算器的資料和程序免費(fèi)下載

基于單片機(jī)四則運(yùn)算計(jì)算器設(shè)計(jì)+proteus仿真

FPGA中浮點(diǎn)四則運(yùn)算的實(shí)現(xiàn)過程

FPGA中的浮點(diǎn)四則運(yùn)算是什么

評論