Verilog中的signed运算
1.纯signed运算
module signed_op(
input clk_i,
input rst_n,
input signed cin,
input signed [3:0] dataa_i,
input signed [3:0] datab_i,
output signed [4:0] sum_o
);
assign sum_o = dataa_i + datab_i + cin;
endmodule
- 最后四行都是Decimal格式显示。
- cin为signed时,高就是减一,低电平无影响。
- 纯signed运算没有异常。
2.signed与unsigned混合运算
module signed_op(
input clk_i,
input rst_n,
input cin,
input signed [3:0] dataa_i,
input signed [3:0] datab_i,
output signed [4:0] sum_o
);
assign sum_o = dataa_i + datab_i + cin;
endmodule
- 最后四行都是Decimal格式显示。