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:
commit
58a1b473b8
@ -203,6 +203,8 @@ static void pack_carries(Context *ctx)
|
|||||||
CellInfo *carry_lc = nullptr;
|
CellInfo *carry_lc = nullptr;
|
||||||
if (carry_ci_lc && carry_lcs.find(carry_ci_lc->name) != carry_lcs.end()) {
|
if (carry_ci_lc && carry_lcs.find(carry_ci_lc->name) != carry_lcs.end()) {
|
||||||
carry_lc = carry_ci_lc;
|
carry_lc = carry_ci_lc;
|
||||||
|
} else if (ci_const && carry_lcs.size() == 1) {
|
||||||
|
carry_lc = ctx->cells.at(*(carry_lcs.begin())).get();
|
||||||
} else {
|
} else {
|
||||||
// No LC to pack into matching I0/I1, insert a new one
|
// No LC to pack into matching I0/I1, insert a new one
|
||||||
std::unique_ptr<CellInfo> created_lc =
|
std::unique_ptr<CellInfo> created_lc =
|
||||||
|
Loading…
Reference in New Issue
Block a user