nexus: Fix arith_map CO signal.
authorMarcelina Kościelnicka <mwk@0x04.net>
Sun, 6 Feb 2022 11:48:44 +0000 (12:48 +0100)
committerMarcelina Kościelnicka <mwk@0x04.net>
Sun, 6 Feb 2022 12:05:30 +0000 (13:05 +0100)
Fixes #3187.

techlibs/nexus/arith_map.v

index 9a1fedfc81a71e7c68529a9a6521752a6bfb22c1..81ab7ba54721062a930fa17acb3534565a5689b9 100644 (file)
@@ -90,7 +90,7 @@ module _80_nexus_alu (A, B, CI, BI, X, Y, CO);
 
                assign CO[i] = (AA[i] && BB[i]) || ((Y[i] ^ AA[i] ^ BB[i]) && (AA[i] || BB[i]));
                if (i+1 < Y_WIDTH) begin
-                       assign CO[i + 1] = (AA[i] && BB[i]) || ((Y[i] ^ AA[i] ^ BB[i]) && (AA[i] || BB[i]));
+                       assign CO[i + 1] = (AA[i + 1] && BB[i + 1]) || ((Y[i + 1] ^ AA[i + 1] ^ BB[i + 1]) && (AA[i + 1] || BB[i + 1]));
                        assign Y[i+1] = Y1[i];
                end
        end endgenerate