aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/ice40/arith_map.v
diff options
context:
space:
mode:
Diffstat (limited to 'techlibs/ice40/arith_map.v')
-rw-r--r--techlibs/ice40/arith_map.v37
1 files changed, 15 insertions, 22 deletions
diff --git a/techlibs/ice40/arith_map.v b/techlibs/ice40/arith_map.v
index eefc375dd..4449fdc1b 100644
--- a/techlibs/ice40/arith_map.v
+++ b/techlibs/ice40/arith_map.v
@@ -44,32 +44,25 @@ module _80_ice40_alu (A, B, CI, BI, X, Y, CO);
genvar i;
generate for (i = 0; i < Y_WIDTH; i = i + 1) begin:slice
- ICE40_CARRY_LUT carry_lut (
+ SB_CARRY carry (
+ .I0(AA[i]),
+ .I1(BB[i]),
+ .CI(C[i]),
+ .CO(CO[i])
+ );
+ SB_LUT4 #(
+ // I0: 1010 1010 1010 1010
+ // I1: 1100 1100 1100 1100
+ // I2: 1111 0000 1111 0000
+ // I3: 1111 1111 0000 0000
+ .LUT_INIT(16'b 0110_1001_1001_0110)
+ ) adder (
+ .I0(1'b0),
.I1(AA[i]),
.I2(BB[i]),
- .CI(C[i]),
- .CO(CO[i]),
+ .I3(C[i]),
.O(Y[i])
);
-// SB_CARRY carry (
-// .I0(AA[i]),
-// .I1(BB[i]),
-// .CI(C[i]),
-// .CO(CO[i])
-// );
-// SB_LUT4 #(
-// // I0: 1010 1010 1010 1010
-// // I1: 1100 1100 1100 1100
-// // I2: 1111 0000 1111 0000
-// // I3: 1111 1111 0000 0000
-// .LUT_INIT(16'b 0110_1001_1001_0110)
-// ) adder (
-// .I0(1'b0),
-// .I1(AA[i]),
-// .I2(BB[i]),
-// .I3(C[i]),
-// .O(Y[i])
-// );
end endgenerate
assign X = AA ^ BB;