方法一:
若符号位发生进位则Cs=1,否则为0
若最高数值为发生进位则Cp=1,否则为0
方法二:
符号位0(正数),符号位1(负数)
a[7] && b[7] && ~s[7]:
正数相加产生一个负数,判断溢出。
~a[7] && ~b[7] && s[7]:
负数相减(补码相加)产生正数,判断溢出。
module top_module (
input [7:0] a,
input [7:0] b,
output [7:0] s,
output overflow
);
assign s=a+b;
assign overflow=~a[7]&~b[7]&s[7] | a[7]&b[7]&~s[7];
endmodule