(原創) 如何處理signed integer的加法運算與overflow? (SOC) (Verilog)

完整请移步:  (原創) 如何處理signed integer的加法運算與overflow? (SOC) (Verilog)

二進位Signed加法運算Summary

根據之前三個實際的例子,我們得到以下結論

  • m bit + m bit => (m+1) bit
  • m bit + n bit => (m+1) bit,其中n < m
    • m bit與n bit都必須先做signed extension到(m+1) bit才能相加
    • 若結果有到(m+2) bit則忽略之,實際的結果為(m+1) bit
  • 若Sum[m+1] ^ Sum[m]為1,表示有overflow
    • 若Sum[m+1]為0且Sum[m]為1,則為正overflow
    • 若Sum[m+1]為1且Sum[m]為0,則為負overflow
原文地址:https://www.cnblogs.com/ymir/p/3101213.html