From 1ff2023f32320ffe8bf588d96a2cb8427ccbc618 Mon Sep 17 00:00:00 2001 From: gatecat Date: Thu, 4 Mar 2021 11:29:11 +0000 Subject: timing: Replace all users of criticality with new engine Signed-off-by: gatecat --- ecp5/arch_place.cc | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'ecp5/arch_place.cc') diff --git a/ecp5/arch_place.cc b/ecp5/arch_place.cc index 5565a01c..57c3b181 100644 --- a/ecp5/arch_place.cc +++ b/ecp5/arch_place.cc @@ -95,8 +95,8 @@ bool Arch::isBelLocationValid(BelId bel) const void Arch::permute_luts() { - NetCriticalityMap nc; - get_criticalities(getCtx(), &nc); + TimingAnalyser tmg(getCtx()); + tmg.setup(); std::unordered_map port_to_user; for (auto net : sorted(nets)) { @@ -121,13 +121,7 @@ void Arch::permute_luts() ci->ports[port_names.at(i)].type = PORT_IN; } auto &port = ci->ports.at(port_names.at(i)); - float crit = 0; - if (port.net != nullptr && nc.count(port.net->name)) { - auto &n = nc.at(port.net->name); - size_t usr = port_to_user.at(&port); - if (usr < n.criticality.size()) - crit = n.criticality.at(usr); - } + float crit = (port.net == nullptr) ? 0 : tmg.get_criticality(CellPortKey(ci->name, port_names.at(i))); orig_nets.push_back(port.net); inputs.emplace_back(crit, i); } -- cgit v1.2.3