From fba7c2caef79668341882404f2c6a1655df23548 Mon Sep 17 00:00:00 2001 From: David Shah Date: Wed, 7 Aug 2019 16:51:29 +0100 Subject: timing: Improve support for out-of-context flows Signed-off-by: David Shah --- common/timing.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'common/timing.cc') diff --git a/common/timing.cc b/common/timing.cc index 599d6dbd..37600c8c 100644 --- a/common/timing.cc +++ b/common/timing.cc @@ -185,8 +185,16 @@ struct Timing } } - std::deque queue(topographical_order.begin(), topographical_order.end()); + // In out-of-context mode, handle top-level ports correctly + if (bool_or_default(ctx->settings, ctx->id("arch.ooc"))) { + for (auto &p : ctx->ports) { + if (p.second.type != PORT_IN || p.second.net == nullptr) + continue; + topographical_order.emplace_back(p.second.net); + } + } + std::deque queue(topographical_order.begin(), topographical_order.end()); // Now walk the design, from the start points identified previously, building up a topographical order while (!queue.empty()) { const auto net = queue.front(); -- cgit v1.2.3