一、无符号:
直接运算
二、有符号与无符号:
强制当作无符号运算
如c=a+b,a、b四位,c五位,计算时Verilog会将a和b扩展到五位再做加法,如果ab中有无符号数,则展宽会按照无符号数来,就是高位补0,因此有符号数结果将不正确。
解决:$signed(),c=a+$signed(b),扩展会按照有符号数的方式扩展,高位补符号位
一、无符号:
直接运算
二、有符号与无符号:
强制当作无符号运算
如c=a+b,a、b四位,c五位,计算时Verilog会将a和b扩展到五位再做加法,如果ab中有无符号数,则展宽会按照无符号数来,就是高位补0,因此有符号数结果将不正确。
解决:$signed(),c=a+$signed(b),扩展会按照有符号数的方式扩展,高位补符号位