verilog中,都是以补码表示,布尔类型的0和1本来是没有符号的,人为认为最高位为符号位,且NC-verilog也会把数当成有符号数。硬件设计中,当进行无符号数运算的时候,扩展最高位,结果截断位32位(32位数位例),然后人为看成无符号数。(个人理解) 1、溢出判断 用变形补码进行双符号位运算(正数符为00,负数符号以11) 若运算结果的符号位为"01",则上溢; 若结果双符号为10,则下溢出; 若结果的双符号位为00或11,无溢出。 2、大小判断 两个32位数,例:[31:0] src1和src