aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/ice40/cells_map.v
diff options
context:
space:
mode:
Diffstat (limited to 'techlibs/ice40/cells_map.v')
-rw-r--r--techlibs/ice40/cells_map.v23
1 files changed, 14 insertions, 9 deletions
diff --git a/techlibs/ice40/cells_map.v b/techlibs/ice40/cells_map.v
index 0c10c9ac4..b4b831165 100644
--- a/techlibs/ice40/cells_map.v
+++ b/techlibs/ice40/cells_map.v
@@ -62,21 +62,26 @@ module \$lut (A, Y);
endmodule
`endif
-`ifndef NO_ADDER
-module \$__ICE40_CARRY_WRAPPER (output CO, O, input A, B, CI, I0, I3);
- parameter LUT = 0;
+`ifdef _ABC
+module \$__ICE40_FULL_ADDER (output CO, O, input A, B, CI);
SB_CARRY carry (
.I0(A),
.I1(B),
.CI(CI),
.CO(CO)
);
- \$lut #(
- .WIDTH(4),
- .LUT(LUT)
- ) lut (
- .A({I3,B,A,I0}),
- .Y(O)
+ 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(A),
+ .I2(B),
+ .I3(CI),
+ .O(O)
);
endmodule
`endif