mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-30 23:10:09 +00:00
Try using an ICE40_CARRY_LUT primitive to avoid ABC issues
This commit is contained in:
parent
d59185f1d6
commit
a7632ab332
7 changed files with 102 additions and 35 deletions
|
@ -57,3 +57,27 @@ module \$lut (A, Y);
|
|||
endgenerate
|
||||
endmodule
|
||||
`endif
|
||||
|
||||
`ifndef NO_CARRY
|
||||
module ICE40_CARRY_LUT (output CO, O, input CI, I1, I2);
|
||||
SB_CARRY carry (
|
||||
.I0(I1),
|
||||
.I1(I2),
|
||||
.CI(CI),
|
||||
.CO(CO),
|
||||
);
|
||||
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(I1),
|
||||
.I2(I2),
|
||||
.I3(CI),
|
||||
.O(O)
|
||||
);
|
||||
endmodule
|
||||
`endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue