From f84850064fc6747ea13faf41e4bae8b85be0ae5f Mon Sep 17 00:00:00 2001 From: David Shah Date: Mon, 23 Nov 2020 14:37:15 +0000 Subject: nexus: Improve error handling in global router Signed-off-by: David Shah --- nexus/global.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'nexus') diff --git a/nexus/global.cc b/nexus/global.cc index 2d183e95..f7abb399 100644 --- a/nexus/global.cc +++ b/nexus/global.cc @@ -55,6 +55,14 @@ struct NexusGlobalRouter WireId src = ctx->getNetinfoSourceWire(net); WireId dst = ctx->getNetinfoSinkWire(net, net->users.at(user_idx)); + if (src == WireId()) + log_error("Net '%s' has an invalid source port %s.%s\n", ctx->nameOf(net), ctx->nameOf(net->driver.cell), + ctx->nameOf(net->driver.port)); + + if (dst == WireId()) + log_error("Net '%s' has an invalid sink port %s.%s\n", ctx->nameOf(net), + ctx->nameOf(net->users.at(user_idx).cell), ctx->nameOf(net->users.at(user_idx).port)); + if (ctx->getBoundWireNet(src) != net) ctx->bindWire(src, net, STRENGTH_LOCKED); -- cgit v1.2.3