aboutsummaryrefslogtreecommitdiffstats
path: root/common/router1.cc
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-09-29 17:36:08 +0100
committerDavid Shah <davey1576@gmail.com>2018-09-29 17:36:08 +0100
commitc5f9a12bb103626e980bd4b843d270eb3ae64d41 (patch)
treeb52c6573dfae639474997f0a72a05a854e8bb396 /common/router1.cc
parentc2a062d254a749cb194ed7fcd44072b69bc9f2ff (diff)
downloadnextpnr-c5f9a12bb103626e980bd4b843d270eb3ae64d41.tar.gz
nextpnr-c5f9a12bb103626e980bd4b843d270eb3ae64d41.tar.bz2
nextpnr-c5f9a12bb103626e980bd4b843d270eb3ae64d41.zip
ecp5: Global router produces a working bitstream
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'common/router1.cc')
-rw-r--r--common/router1.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/common/router1.cc b/common/router1.cc
index 5cd4414c..d29cdd68 100644
--- a/common/router1.cc
+++ b/common/router1.cc
@@ -532,6 +532,12 @@ void addNetRouteJobs(Context *ctx, const Router1Cfg &cfg, IdString net_name,
{
NetInfo *net_info = ctx->nets.at(net_name).get();
+#ifdef ARCH_ECP5
+ // ECP5 global nets currently appear part-unrouted due to arch database limitations
+ // Don't touch them in the router
+ if (!net_info->wires.empty() && net_info->wires.begin()->second.strength == STRENGTH_LOCKED)
+ return;
+#endif
if (net_info->driver.cell == nullptr)
return;