4 Remove first part no longer relevant after migration / merge
source | link

Answer also posted on StackOverflow.

It is not similar to ==/===, if the left hand operand is signed then >>> performs sign extension.

reg signed [9:0] b = 10'sb11_0101_0101;
reg signed [9:0] a_signed;
reg        [9:0] a_unsigned; 

always_comb begin
  a_signed   = b >>> 2;
  a_unsigned = b >>  2;
end

Result:

#a_signed   1111010101
#a_unsigned 0011010101

Example on EDA Playground.

Answer also posted on StackOverflow.

It is not similar to ==/===, if the left hand operand is signed then >>> performs sign extension.

reg signed [9:0] b = 10'sb11_0101_0101;
reg signed [9:0] a_signed;
reg        [9:0] a_unsigned; 

always_comb begin
  a_signed   = b >>> 2;
  a_unsigned = b >>  2;
end

Result:

#a_signed   1111010101
#a_unsigned 0011010101

Example on EDA Playground.

It is not similar to ==/===, if the left hand operand is signed then >>> performs sign extension.

reg signed [9:0] b = 10'sb11_0101_0101;
reg signed [9:0] a_signed;
reg        [9:0] a_unsigned; 

always_comb begin
  a_signed   = b >>> 2;
  a_unsigned = b >>  2;
end

Result:

#a_signed   1111010101
#a_unsigned 0011010101

Example on EDA Playground.

3 s/operator/operand/
source | link

Answer also posted on StackOverflow.

It is not similar to ==/===, if the rightleft hand operatoroperand is signed then >>> performs sign extension.

reg signed [9:0] b = 10'sb11_0101_0101;
reg signed [9:0] a_signed;
reg        [9:0] a_unsigned; 

always_comb begin
  a_signed   = b >>> 2;
  a_unsigned = b >>  2;
end

Result:

#a_signed   1111010101
#a_unsigned 0011010101

Example on EDA Playground.

Answer also posted on StackOverflow.

It is not similar to ==/===, if the right hand operator is signed then >>> performs sign extension.

reg signed [9:0] b = 10'sb11_0101_0101;
reg signed [9:0] a_signed;
reg        [9:0] a_unsigned; 

always_comb begin
  a_signed   = b >>> 2;
  a_unsigned = b >>  2;
end

Result:

#a_signed   1111010101
#a_unsigned 0011010101

Example on EDA Playground.

Answer also posted on StackOverflow.

It is not similar to ==/===, if the left hand operand is signed then >>> performs sign extension.

reg signed [9:0] b = 10'sb11_0101_0101;
reg signed [9:0] a_signed;
reg        [9:0] a_unsigned; 

always_comb begin
  a_signed   = b >>> 2;
  a_unsigned = b >>  2;
end

Result:

#a_signed   1111010101
#a_unsigned 0011010101

Example on EDA Playground.

2 Output updated
source | link

Answer also posted on StackOverflow.

It is not similar to ==/===, if the right hand operator is signed then >>> performs sign extension.

reg signed [9:0] b = 10'sb11_0101_0101;
reg signed [9:0] a_signed;
reg        [9:0] a_unsigned; 

always_comb begin
  a_signed   = b >>> 2;
  a_unsigned = b >>  2;
end

Result:

#a_signed   11101010101111010101
#a_unsigned 01101010100011010101

Example on EDA Playground.

Answer also posted on StackOverflow.

It is not similar to ==/===, if the right hand operator is signed then >>> performs sign extension.

reg signed [9:0] b = 10'sb11_0101_0101;
reg signed [9:0] a_signed;
reg        [9:0] a_unsigned; 

always_comb begin
  a_signed   = b >>> 2;
  a_unsigned = b >>  2;
end

Result:

#a_signed   1110101010
#a_unsigned 0110101010

Example on EDA Playground.

Answer also posted on StackOverflow.

It is not similar to ==/===, if the right hand operator is signed then >>> performs sign extension.

reg signed [9:0] b = 10'sb11_0101_0101;
reg signed [9:0] a_signed;
reg        [9:0] a_unsigned; 

always_comb begin
  a_signed   = b >>> 2;
  a_unsigned = b >>  2;
end

Result:

#a_signed   1111010101
#a_unsigned 0011010101

Example on EDA Playground.

1
source | link