FPGA减法运算,商位宽设置比除数和被除数多一位,若商最高位为1,则为负数,如果结果为负数,取值为反码加1
例:
wire [2:0]A;
wire [2:0]B;
reg [3:0]C1;
reg [2:0]C;
assign A=010;
assign B=101;
always@(posedge clk)
begin
C1<=A-B;
end
assign C=C1[3]?(~C1[2:0]+1):C1[2:0];
FPGA减法运算,商位宽设置比除数和被除数多一位,若商最高位为1,则为负数,如果结果为负数,取值为反码加1
例:
wire [2:0]A;
wire [2:0]B;
reg [3:0]C1;
reg [2:0]C;
assign A=010;
assign B=101;
always@(posedge clk)
begin
C1<=A-B;
end
assign C=C1[3]?(~C1[2:0]+1):C1[2:0];