From f31889847462509c450e30f739bb2f2e2109546a Mon Sep 17 00:00:00 2001 From: gatecat Date: Sat, 15 May 2021 13:22:49 +0100 Subject: [PATCH] router2: Hacky workaround for slow Cyclone V convergence Signed-off-by: gatecat --- common/router2.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/router2.cc b/common/router2.cc index cbed0f69..d189cd68 100644 --- a/common/router2.cc +++ b/common/router2.cc @@ -835,9 +835,6 @@ struct Router2 // Ripup failed arcs to start with // Check if arc is already legally routed if (check_arc_routing(net, i, j)) { -#if 0 - ROUTE_LOG_DBG("Arc '%s' (user %zu, arc %zu) already routed skipping.\n", ctx->nameOf(net), i, j); -#endif continue; } @@ -904,10 +901,13 @@ struct Router2 ++net_data.fail_count; if ((net_data.fail_count % 3) == 0) { // Every three times a net fails to route, expand the bounding box to increase the search space +#ifndef ARCH_MISTRAL + // This patch seems to make thing worse for CycloneV, as it slows down the resolution of TD congestion, disable it net_data.bb.x0 = std::max(net_data.bb.x0 - 1, 0); net_data.bb.y0 = std::max(net_data.bb.y0 - 1, 0); net_data.bb.x1 = std::min(net_data.bb.x1 + 1, ctx->getGridDimX()); net_data.bb.y1 = std::min(net_data.bb.y1 + 1, ctx->getGridDimY()); +#endif } } }