alu bugfix
This commit is contained in:
+1
-1
@@ -9,7 +9,7 @@ package adder16 (
|
|||||||
wire [15:0]c
|
wire [15:0]c
|
||||||
);
|
);
|
||||||
|
|
||||||
lookahead(c, a, b);
|
c = lookahead(c, a, b);
|
||||||
|
|
||||||
adder(sum16[0], carry16[0] = c[0], a16[0], b16[0],);
|
adder(sum16[0], carry16[0] = c[0], a16[0], b16[0],);
|
||||||
adder(sum16[1], carry16[1] = c[1], a16[1], b16[1]);
|
adder(sum16[1], carry16[1] = c[1], a16[1], b16[1]);
|
||||||
|
|||||||
+5
-5
@@ -19,7 +19,7 @@ assign nb = sel[3]; // if nx=1, b=!b
|
|||||||
assign f = sel[4]; // if f=0 -> a&b; else -> a+b
|
assign f = sel[4]; // if f=0 -> a&b; else -> a+b
|
||||||
assign no = sel[5]; // if no=1, out=!out
|
assign no = sel[5]; // if no=1, out=!out
|
||||||
|
|
||||||
wire [15:0]zero16 = 0;
|
wire [15:0] zero16 = 15'b0000000000000000;
|
||||||
|
|
||||||
always @(*) begin
|
always @(*) begin
|
||||||
|
|
||||||
@@ -47,10 +47,10 @@ always @(*) begin
|
|||||||
alu_out = tmpOut;
|
alu_out = tmpOut;
|
||||||
end
|
end
|
||||||
|
|
||||||
if (alu_out == 0)
|
if (alu_out < 0)
|
||||||
flag = 0; // zero flag
|
flag = 0; // negative flag
|
||||||
else if (alu_out < 0)
|
else if (alu_out = 0)
|
||||||
flag = 1; // negative flag
|
flag = 1; // zero flag
|
||||||
else if
|
else if
|
||||||
flag = 2 // positive flag
|
flag = 2 // positive flag
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user