diff --git a/cpu/alu/adder16.sv b/cpu/alu/adder16.sv index fc8e2d7..8335d8c 100644 --- a/cpu/alu/adder16.sv +++ b/cpu/alu/adder16.sv @@ -9,7 +9,7 @@ package adder16 ( 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[1], carry16[1] = c[1], a16[1], b16[1]); diff --git a/cpu/alu/alu.sv b/cpu/alu/alu.sv index baf3e8f..bcb9abf 100644 --- a/cpu/alu/alu.sv +++ b/cpu/alu/alu.sv @@ -12,14 +12,14 @@ package alu ( output [2:0] flag ); -assign za = sel[0]; // if zx=1, a=0 -assign na = sel[1]; // if nx=1, a=!a -assign zb = sel[2]; // if zy=1, b=0 -assign nb = sel[3]; // if nx=1, b=!b -assign f = sel[4]; // if f=0 -> a&b; else -> a+b -assign no = sel[5]; // if no=1, out=!out +assign za = sel[0]; // if zx=1, a=0 +assign na = sel[1]; // if nx=1, a=!a +assign zb = sel[2]; // if zy=1, b=0 +assign nb = sel[3]; // if nx=1, b=!b +assign f = sel[4]; // if f=0 -> a&b; else -> a+b +assign no = sel[5]; // if no=1, out=!out -wire [15:0]zero16 = 0; +wire [15:0] zero16 = 15'b0000000000000000; always @(*) begin @@ -47,12 +47,12 @@ always @(*) begin alu_out = tmpOut; end - if (alu_out == 0) - flag = 0; // zero flag - else if (alu_out < 0) - flag = 1; // negative flag + if (alu_out < 0) + flag = 0; // negative flag + else if (alu_out = 0) + flag = 1; // zero flag else if - flag = 2 // positive flag + flag = 2 // positive flag end endpackage \ No newline at end of file