From 8863b962fdb095dca06025cac6e8e639a57b8344 Mon Sep 17 00:00:00 2001 From: gatecat Date: Tue, 30 Mar 2021 14:44:18 +0100 Subject: interchange: Fix illegal placements Signed-off-by: gatecat --- common/placer1.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'common') 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); -- cgit v1.2.3