3.3 signed operation
3.3.1 Difference between signed and unsigned operation in multiplier
Let's see an example.

`define DIFF_CHECK
module signed_mul_test;
        parameter integer width=3;
        parameter integer mul_width=width*2;
        integer i,j;
        reg signed [width-1:0] as,bs;
        reg [width-1:0] a,b;
        reg [mul_width-1:0] mul;
        reg  signed [mul_width-1:0] muls;
        wire  [mul_width-1:0] mulw=a*b;
        wire signed [mul_width-1:0] mulws=as*bs;

        initial begin
                for (i=0;i<2**width-1;i=i+1) begin
                        a=i;
                        as=i;
                        for (j=0;j<2**width-1;j=j+1) begin
                                b=j;
                                bs=j;
                                mul=a*b;
                                muls=as*bs;
                                                        
                                #10;
                                `ifdef DIFF_CHECK
                                        if (mul !=muls) begin
                                
                                                $display("Unsigned a =%d[%b] b =%d[%b] mul =%d[%b] ",a,a,b,b,mul,mul);
                                                $display("Signed    as=%d[%b] bs=%d[%b] muls=%d[%b] ",as,as,bs,bs,muls,muls);
                                                $display("");
                                        end
                                `endif
                                if (mul !=mulw) $display("Fail");
                                if (muls !=mulws) $display("Fail");
                        end
                end

        end

endmodule


Here is a result.

Unsigned a =1[001] b =4[100] mul = 4[000100] 
Signed    as= 1[001] bs=-4[100] muls= -4[111100] 

Unsigned a =1[001] b =5[101] mul = 5[000101] 
Signed    as= 1[001] bs=-3[101] muls= -3[111101] 

Unsigned a =1[001] b =6[110] mul = 6[000110] 
Signed    as= 1[001] bs=-2[110] muls= -2[111110] 

Unsigned a =2[010] b =4[100] mul = 8[001000] 
Signed    as= 2[010] bs=-4[100] muls= -8[111000] 

Unsigned a =2[010] b =5[101] mul =10[001010] 
Signed    as= 2[010] bs=-3[101] muls= -6[111010] 

Unsigned a =2[010] b =6[110] mul =12[001100] 
Signed    as= 2[010] bs=-2[110] muls= -4[111100] 

Unsigned a =3[011] b =4[100] mul =12[001100] 
Signed    as= 3[011] bs=-4[100] muls=-12[110100] 

Unsigned a =3[011] b =5[101] mul =15[001111] 
Signed    as= 3[011] bs=-3[101] muls= -9[110111] 

Unsigned a =3[011] b =6[110] mul =18[010010] 
Signed    as= 3[011] bs=-2[110] muls= -6[111010] 

Unsigned a =4[100] b =1[001] mul = 4[000100] 
Signed    as=-4[100] bs= 1[001] muls= -4[111100] 

Unsigned a =4[100] b =2[010] mul = 8[001000] 
Signed    as=-4[100] bs= 2[010] muls= -8[111000] 

Unsigned a =4[100] b =3[011] mul =12[001100] 
Signed    as=-4[100] bs= 3[011] muls=-12[110100] 

Unsigned a =4[100] b =5[101] mul =20[010100] 
Signed    as=-4[100] bs=-3[101] muls= 12[001100] 

Unsigned a =4[100] b =6[110] mul =24[011000] 
Signed    as=-4[100] bs=-2[110] muls=  8[001000] 

Unsigned a =5[101] b =1[001] mul = 5[000101] 
Signed    as=-3[101] bs= 1[001] muls= -3[111101] 

Unsigned a =5[101] b =2[010] mul =10[001010] 
Signed    as=-3[101] bs= 2[010] muls= -6[111010] 

Unsigned a =5[101] b =3[011] mul =15[001111] 
Signed    as=-3[101] bs= 3[011] muls= -9[110111] 

Unsigned a =5[101] b =4[100] mul =20[010100] 
Signed    as=-3[101] bs=-4[100] muls= 12[001100] 

Unsigned a =5[101] b =5[101] mul =25[011001] 
Signed    as=-3[101] bs=-3[101] muls=  9[001001] 

Unsigned a =5[101] b =6[110] mul =30[011110] 
Signed    as=-3[101] bs=-2[110] muls=  6[000110] 

Unsigned a =6[110] b =1[001] mul = 6[000110] 
Signed    as=-2[110] bs= 1[001] muls= -2[111110] 

Unsigned a =6[110] b =2[010] mul =12[001100] 
Signed    as=-2[110] bs= 2[010] muls= -4[111100] 

Unsigned a =6[110] b =3[011] mul =18[010010] 
Signed    as=-2[110] bs= 3[011] muls= -6[111010] 

Unsigned a =6[110] b =4[100] mul =24[011000] 
Signed    as=-2[110] bs=-4[100] muls=  8[001000] 

Unsigned a =6[110] b =5[101] mul =30[011110] 
Signed    as=-2[110] bs=-3[101] muls=  6[000110] 

Unsigned a =6[110] b =6[110] mul =36[100100] 
Signed    as=-2[110] bs=-2[110] muls=  4[000100] 


When MSB is 1, signed and unsigned operations will make different result.