Merge pull request #873 from YosysHQ/gatecat/ice40-carry-lut

ice40: Pack LUT at start of carry chain if there is 1 candidate
This commit is contained in:
gatecat 2022-01-16 19:59:56 +00:00 committed by GitHub
commit 58a1b473b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -203,6 +203,8 @@ static void pack_carries(Context *ctx)
CellInfo *carry_lc = nullptr;
if (carry_ci_lc && carry_lcs.find(carry_ci_lc->name) != carry_lcs.end()) {
carry_lc = carry_ci_lc;
} else if (ci_const && carry_lcs.size() == 1) {
carry_lc = ctx->cells.at(*(carry_lcs.begin())).get();
} else {
// No LC to pack into matching I0/I1, insert a new one
std::unique_ptr<CellInfo> created_lc =