diff options
author | gatecat <gatecat@ds0.me> | 2021-05-06 13:58:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-06 13:58:08 +0100 |
commit | c322cda3f875a5e5dd2575d3a390cbe1cee073e0 (patch) | |
tree | fcd843131002f8986decf8dcd9352cf3ebd54290 /common/timing_opt.cc | |
parent | ed17091e6ada98a55396186a22c748abf3fca310 (diff) | |
parent | 0d6be6f4749174f4a6938a675456cb663edc47cb (diff) | |
download | nextpnr-c322cda3f875a5e5dd2575d3a390cbe1cee073e0.tar.gz nextpnr-c322cda3f875a5e5dd2575d3a390cbe1cee073e0.tar.bz2 nextpnr-c322cda3f875a5e5dd2575d3a390cbe1cee073e0.zip |
Merge pull request #688 from YosysHQ/gatecat/new-cluster-api
New cluster API
Diffstat (limited to 'common/timing_opt.cc')
-rw-r--r-- | common/timing_opt.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/common/timing_opt.cc b/common/timing_opt.cc index dba96bf1..854cbc5b 100644 --- a/common/timing_opt.cc +++ b/common/timing_opt.cc @@ -182,8 +182,7 @@ class TimingOptimiser CellInfo *bound = ctx->getBoundBelCell(bel); if (bound == nullptr) { free_bels_at_loc.push_back(bel); - } else if (bound->belStrength <= STRENGTH_WEAK && bound->constr_parent == nullptr && - bound->constr_children.empty()) { + } else if (bound->belStrength <= STRENGTH_WEAK && bound->cluster == ClusterId()) { bound_bels_at_loc.push_back(bel); } } @@ -378,7 +377,7 @@ class TimingOptimiser if (front_net != nullptr && front_net->driver.cell != nullptr) { auto front_cell = front_net->driver.cell; if (front_cell->belStrength <= STRENGTH_WEAK && cfg.cellTypes.count(front_cell->type) && - front_cell->constr_parent == nullptr && front_cell->constr_children.empty()) { + front_cell->cluster == ClusterId()) { path_cells.push_back(front_cell->name); } } @@ -392,7 +391,7 @@ class TimingOptimiser if (std::find(path_cells.begin(), path_cells.end(), port->cell->name) != path_cells.end()) continue; if (port->cell->belStrength > STRENGTH_WEAK || !cfg.cellTypes.count(port->cell->type) || - port->cell->constr_parent != nullptr || !port->cell->constr_children.empty()) + port->cell->cluster != ClusterId()) continue; if (ctx->debug) log_info(" can move\n"); |