aboutsummaryrefslogtreecommitdiffstats
path: root/common/placer1.cc
diff options
context:
space:
mode:
Diffstat (limited to 'common/placer1.cc')
-rw-r--r--common/placer1.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/common/placer1.cc b/common/placer1.cc
index c2698ad9..1f940dac 100644
--- a/common/placer1.cc
+++ b/common/placer1.cc
@@ -552,7 +552,9 @@ class SAPlacer
add_move_cell(moveChange, other_cell, newBel);
}
- if (!ctx->isBelLocationValid(newBel) || ((other_cell != nullptr && !ctx->isBelLocationValid(oldBel)))) {
+ // Always check both the new and old locations; as in some cases of dedicated routing ripping up a cell can deny
+ // use of a dedicated path and thus make a site illegal
+ if (!ctx->isBelLocationValid(newBel) || !ctx->isBelLocationValid(oldBel)) {
ctx->unbindBel(newBel);
if (other_cell != nullptr)
ctx->unbindBel(oldBel);