Verilog中带符号的数值运算
(1)之前的笔记写过《补码探讨》,可知在FPGA综合成电路的时候最底层都是以补码的形式在运算,正数的补码就是本身,负数的补码要取反+1。
(2)那么Verilog中编程的时候对编程人员来说,其实想不到现在的编译器(Quartus II 9.1和ISE10.1没有问题,更高的版本应该更加可以了)都支持verilog有符号运算的综合了。在定义时直接加上signed即可,如下:
input signed [7:0] a, b;
output signed [15:0] c;
wire signed [15:0] x;
reg signed [15:0]y;
很明显,这种采用signed定义的情况,可以避免手动转换带来的麻烦,同时可以节省很多开发时间
(3)当使用移位运算“>>”进行1/2倍运算时,需注意:
posted on 2012-05-01 17:02 lanlingshan 阅读(3842) 评论(0) 编辑 收藏 举报