无符号数加减

来源:互联网 发布:淘宝买守望先锋亚服 编辑:程序博客网 时间:2024/06/05 18:08

转载本文无需通知作者,表明转载即可。

在写本文之前,在网上看了很多关于无符号数加减的问题,大受裨益。然而在Verilog处理无符号数加减的过程中,依然碰到了问题。这在里谈一些小细节,愿有助于大家。

先简述一下计算机中无符号数加减的原理。
计算机中的加减法,编程软件一般都将其处理成补码的加减。而补码的转化方式,简单来说就是按位取反加一,例a的补码就是~a+1.

而到了FPGA这里,发现情况有点不一样。例:
wire[3:0] a,b,c;

wire[4:0] d;
assign a =4’d1;
assign b =4’d2;
assign c =4’d3;
上述代码将a=1,b=2,c=3;
如果目标d=a+c-b,我们编程时可以这么写:d=a+c+(~a+1’b1)

0 0