如何比较verilog中的负数(2的补码)?
How to compare negative numbers (2's complement) in verilog?
我在verilog中有如下比较语句,效果很好(正比较)
if((count_cc >= 13'b0000000011110)&&(count_cc <= 13'b0000000111100)) //30,60
begin
level=4'b0010; //level 2
end
但是,当我使用 2 的补码时,它不起作用,
if((count_cc >= 13'b1111111100100)&&(count_cc <= 13'b1111111110110)) //-10 , -28
begin
level=4'b0101; //level 5
end
任何指导都会有所帮助。
假设 count_cc
已经声明为签名,使用
if((count_cc >= 13'sb1111111100100)&&(count_cc <= 13'sb1111111110110)) //-10 , -28
begin
level=4'b0101; //level 5
end
当然,这也行
if((count_cc >= -10)&&(count_cc <= -28)
我在verilog中有如下比较语句,效果很好(正比较)
if((count_cc >= 13'b0000000011110)&&(count_cc <= 13'b0000000111100)) //30,60
begin
level=4'b0010; //level 2
end
但是,当我使用 2 的补码时,它不起作用,
if((count_cc >= 13'b1111111100100)&&(count_cc <= 13'b1111111110110)) //-10 , -28
begin
level=4'b0101; //level 5
end
任何指导都会有所帮助。
假设 count_cc
已经声明为签名,使用
if((count_cc >= 13'sb1111111100100)&&(count_cc <= 13'sb1111111110110)) //-10 , -28
begin
level=4'b0101; //level 5
end
当然,这也行
if((count_cc >= -10)&&(count_cc <= -28)