1)以前的笔记写过《补码探讨》,可知在FPGA综合成电路的时候最底层都是以补码的形式在运算,正数的补码就是自己,负数的补码要取反+1。编程
(2)那么Verilog中编程的时候对编程人员来讲,其实想不到如今的编译器(Quartus II 9.1和ISE10.1没有问题,更高的版本应该更加能够了)都支持verilog有符号运算的综合了。在定义时直接加上signed便可,以下:spa
input signed [7:0] a, b;
output signed [15:0] c;
wire signed [15:0] x;blog
reg signed [15:0]y;开发
很明显,这种采用signed定义的状况,能够避免手动转换带来的麻烦,同时能够节省不少开发时间input
(3)当使用移位运算“>>”进行1/2倍运算时,需注意:编译器