verilog 整數(shù)四則運(yùn)算的位寬考量
時(shí)間:2025-11-09 22:40:17
手機(jī)看文章
掃描二維碼
隨時(shí)隨地手機(jī)看文章
使用補(bǔ)碼時(shí),加減法可以統(tǒng)一,因而對(duì)加減不加區(qū)分,對(duì)有無(wú)符號(hào)也不加以區(qū)分。為了不丟失進(jìn)位,M位+N位時(shí),設(shè)M>=N,則結(jié)果需要M+1位儲(chǔ)存結(jié)果
圖源:Xilinx FPGA數(shù)字信號(hào)處理設(shè)計(jì):基礎(chǔ)版 (杜勇),下同
當(dāng)多個(gè)數(shù)據(jù)累加時(shí),顯然多一位存儲(chǔ)結(jié)果,結(jié)果能夠表示2倍(無(wú)符號(hào)數(shù));當(dāng)擁有3-4個(gè)操作數(shù)時(shí),結(jié)果的最大值為4倍的單個(gè)操作數(shù)表示的最大值,因而增加2bit即可;類(lèi)似的5-8個(gè)操作數(shù),最大為8倍,因而增加3bit即可
上面的計(jì)算過(guò)程若按照6bit運(yùn)算過(guò)程如下,結(jié)果是一致的
對(duì)于無(wú)符號(hào)數(shù),N位*M位將得到N+M位的結(jié)果??梢灾庇^的證明,如下圖移位相加,N*M將移位(M-1)次,從而至少有(N+M-1)位,若加法出現(xiàn)進(jìn)位,還需要額外1bit,共(N+M)位
3、除法
除法更為簡(jiǎn)單,M/N,對(duì)于整數(shù)而言,N的絕對(duì)值大于等于1,因而商最大和M一樣,只需要M位就行
4、more當(dāng)結(jié)果位寬不夠,會(huì)進(jìn)行截?cái)?,帶?lái)丟失精度的計(jì)算結(jié)果





