OpenSTA/search/PathGroup.cc

971 lines
26 KiB
C++
Raw Normal View History

2018-09-28 17:54:21 +02:00
// OpenSTA, Static Timing Analyzer
// Copyright (c) 2025, Parallax Software, Inc.
2018-09-28 17:54:21 +02:00
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2018-09-28 17:54:21 +02:00
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
//
// The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software.
//
// Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
//
// This notice may not be removed or altered from any source distribution.
2018-09-28 17:54:21 +02:00
2020-04-05 23:53:44 +02:00
#include "PathGroup.hh"
2020-04-05 20:35:51 +02:00
2018-09-28 17:54:21 +02:00
#include <algorithm>
#include <limits>
2020-04-05 20:35:51 +02:00
2020-04-05 23:53:44 +02:00
#include "Stats.hh"
#include "Debug.hh"
#include "Mutex.hh"
#include "Fuzzy.hh"
#include "MinMax.hh"
#include "DispatchQueue.hh"
#include "ExceptionPath.hh"
#include "Sdc.hh"
#include "Graph.hh"
#include "PathEnd.hh"
#include "PathAnalysisPt.hh"
#include "Tag.hh"
#include "Corner.hh"
#include "Search.hh"
#include "VisitPathEnds.hh"
#include "PathEnum.hh"
2018-09-28 17:54:21 +02:00
namespace sta {
class Path replaces PathVertex etc commit 08c062d3dd1d0cea846407dda0b5fd75ca64329c Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:17:42 2025 -0700 ApiChanges.txt Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ef72112a00419e466e19b5c1442cac6f2835adaa Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:37:10 2025 -0700 crpr29/30 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2065acfbfbaa84307fde1c46ff51a1c619c45f50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:33:55 2025 -0700 compile error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d3133015b90b59f7e8e934c20d1ed8449d543d7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 15:20:55 2025 -0700 rebase falout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a4b81755765db823e18ffb497f1fb3f0c64ec7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 09:22:01 2025 -0700 rebase fallout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7ef00dcaa4ed0b6db3f4205da47013e4f2ef1049 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 17:00:51 2025 -0700 deleteEdge clear to path prev_paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 912dacbca8f5c286f623f13659c831be6ed4d93e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 12:05:06 2025 -0700 undo 7f8c7adb Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9944c2ec907e9f07ab46f71af55ec947f3815de0 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 21:25:10 2025 -0700 rm Path::path() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a42c28b8447466a445cd8f6fb022eb42e6dcc0f2 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:12:17 2025 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f72adf1b5ad5581adc81afd3e00be7343ae4183 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:03:04 2025 -0700 PathExpanded rm prev_arcs_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 25879e66eddf9f12db38705807e1270459661810 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 12:34:12 2025 -0700 worst path init path Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c7a4fbdf3b8823a1944074a7eb663c6ea8e32df Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 10:47:02 2025 -0700 delete edge -> xelete paths of to vertex Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa8d3035489de2cd25f27f7531177193be7a40ac Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 09:17:27 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53741b6c624b1313b0464a31e3900472d0b7c8d2 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:50:01 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cdebd8f3e476e5a2afab1a949449b75dcec9ed97 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:14:58 2025 -0700 dbg network_edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 60cc960439e65cda8cd244723456b81242ced458 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 07:42:22 2025 -0700 dbg network edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f4e4264ac1c11dafddbe18971ca35127a0ffc171 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 19:23:17 2025 -0700 rm PathVertex.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aeba9b293f095aecd01d0f5d16de51640f3d2381 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:33:21 2025 -0700 PathEnum rm divEdge Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad97706562da7ceb41b9fbf4c882083de36d578d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:18:38 2025 -0700 genclks use path vector Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9c2563199d0cee3dee3d420c70f8117cfd69221 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:42:12 2025 -0700 group_path_count, end_path_count use size_t Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f16309a8e09e22964b998bf1b7e0922fbb9f02c1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:30:08 2025 -0700 Path rm uused Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 51295613c4ab6a6a4170080252397e2846a61bf1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:22:23 2025 -0700 network_edit3 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5de6da2190460183cf07d0d4ffc1d1c6ebbe3e10 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 10:33:09 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f52dbc18ce08bd2b14d7107b61a57e614b1e3a07 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 08:06:56 2025 -0700 valgrind 3 leaks left Signed-off-by: James Cherry <cherry@parallaxsw.com> commit de1a3727d908c4494f3039ff714ddb939d3390b5 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:50 2025 -0700 Path::prevPath Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c40aadcac8d2cd6d6dd8ba18f2e9db607358a01f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:31 2025 -0700 clk_skew init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 041c97194553e7f7a4746f506be251ee42eb83ee Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 07:38:49 2025 -0700 delete path groups before paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fb4aed589f9f67ddb39f4260cb2901764cf49a98 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:23:27 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b3062872cefdcf1358847025bc7bb1a85f4a5b Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:09:45 2025 -0700 1 failure Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 92cd7c33c1eb22e4f574a767a645c5db1c9efe4d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 11:19:59 2025 -0700 7 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 537ec153a5f8ab30d800cd36130e7668047b67af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 09:05:31 2025 -0700 11 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df514124c4daaf90175a89138ed954e20573e02f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 08:37:00 2025 -0700 25 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0096e8ee5a83194aee84da2cba95f410931f5c0e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 8 16:05:04 2025 -0700 33 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 02ba7ffdf38b538cd1659df25837d37e8317e741 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 21:39:53 2025 -0700 delete path groups before pahts Signed-Off-by: James Cherry <cherry@parallaxsw.com> commit 270dbad6bc9303f9255256b5b85cac84deb27a94 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 18:27:52 2025 -0700 no seg faults, 42 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3ceca5981fd6032294523cd23dc1334b9619f6a0 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:43:28 2025 -0700 multiclk1,2 seg fault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0441c00dc172817cc1a39bbb740d6369cf163869 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:29:47 2025 -0700 gated_clocks15 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7a1f87737e9c8247acd2c78138ee482d46123952 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 09:05:09 2025 -0700 nworst, crpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74b52e5ac0ed9dac5b7c31835393c4e2dd30ca95 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:18:47 2025 -0700 check_timiing6 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 93bddf0d940e9b833d5bc47d5af8b3bdefac67a5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:13:24 2025 -0700 nworst10 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f1edddbffb2e0d23bc3f4a10733203b9756f2e2e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:22:25 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c57d241b668d305f0492e55e273b3411320692b4 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:09:11 2025 -0700 most nwost pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c6fca38e28571e5f2d63236aa67233d572c3a1d6 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 09:15:47 2025 -0700 most genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 82f5e6e9252987433f9699919c5716b3a4321a5d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:51:29 2025 -0700 genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 19f4035496e004c543110b063482928e55bddbc9 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:33:28 2025 -0700 nworst1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit edafefa4e4f98291a3edebe5c7b3e2630988723f Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 15:02:38 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e4684fd67eacdb474574eee9e51741e75bba907 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 21:07:18 2025 -0700 rm unused Path* files Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f04819c01002f8b5eec0f4b8f0caf6798f3a20f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 19:43:35 2025 -0700 more regressions pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 276d70283cda14dfd6c48d1e2e4f45d326bf286c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 10:43:30 2025 -0700 arrival1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 383a480450833741144b57383bb40a33310fad44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 19:23:40 2025 -0700 arrival1 no segfault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36e3a6b8d8b19f185a5a71fb4547e17586ea2c44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:40:23 2025 -0700 VertexPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 083c76201e1a5482726e5856f124b15a523453d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:18:15 2025 -0700 report_checks3 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 834c076b7e2cb733655d917881463c76ce6196f6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 14:10:34 2025 -0800 links Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371792b1e6dd44ad0c72399b999d86cd2557cbe1 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 13:37:33 2025 -0800 link errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 158e9dafa6d11e0a4fd4e7ef253b0b6cb7595bf6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 12:30:29 2025 -0800 compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8df515dab15c0744abe04eae7e4a7d7688455f03 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 09:41:51 2025 -0800 PathEnd compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d94f241d0803376b1526f32e4f5111d081c604af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 07:42:51 2025 -0800 compile progress Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 591997e3bb496c4cc2fd6963c3798a8e17b8f587 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 1 10:42:11 2025 -0800 path unification Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-27 02:21:03 +01:00
size_t PathGroup::group_path_count_max = std::numeric_limits<size_t>::max();
2019-02-16 21:07:59 +01:00
2018-09-28 17:54:21 +02:00
PathGroup *
PathGroup::makePathGroupSlack(const char *name,
int group_path_count,
int endpoint_path_count,
2018-09-28 17:54:21 +02:00
bool unique_pins,
float slack_min,
float slack_max,
const StaState *sta)
{
return new PathGroup(name, group_path_count, endpoint_path_count, unique_pins,
2018-09-28 17:54:21 +02:00
slack_min, slack_max, true, MinMax::min(), sta);
}
PathGroup *
PathGroup::makePathGroupArrival(const char *name,
int group_path_count,
int endpoint_path_count,
2018-09-28 17:54:21 +02:00
bool unique_pins,
const MinMax *min_max,
const StaState *sta)
{
return new PathGroup(name, group_path_count, endpoint_path_count, unique_pins,
2018-09-28 17:54:21 +02:00
0.0, 0.0, false, min_max, sta);
}
PathGroup::PathGroup(const char *name,
class Path replaces PathVertex etc commit 08c062d3dd1d0cea846407dda0b5fd75ca64329c Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:17:42 2025 -0700 ApiChanges.txt Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ef72112a00419e466e19b5c1442cac6f2835adaa Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:37:10 2025 -0700 crpr29/30 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2065acfbfbaa84307fde1c46ff51a1c619c45f50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:33:55 2025 -0700 compile error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d3133015b90b59f7e8e934c20d1ed8449d543d7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 15:20:55 2025 -0700 rebase falout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a4b81755765db823e18ffb497f1fb3f0c64ec7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 09:22:01 2025 -0700 rebase fallout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7ef00dcaa4ed0b6db3f4205da47013e4f2ef1049 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 17:00:51 2025 -0700 deleteEdge clear to path prev_paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 912dacbca8f5c286f623f13659c831be6ed4d93e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 12:05:06 2025 -0700 undo 7f8c7adb Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9944c2ec907e9f07ab46f71af55ec947f3815de0 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 21:25:10 2025 -0700 rm Path::path() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a42c28b8447466a445cd8f6fb022eb42e6dcc0f2 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:12:17 2025 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f72adf1b5ad5581adc81afd3e00be7343ae4183 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:03:04 2025 -0700 PathExpanded rm prev_arcs_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 25879e66eddf9f12db38705807e1270459661810 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 12:34:12 2025 -0700 worst path init path Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c7a4fbdf3b8823a1944074a7eb663c6ea8e32df Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 10:47:02 2025 -0700 delete edge -> xelete paths of to vertex Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa8d3035489de2cd25f27f7531177193be7a40ac Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 09:17:27 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53741b6c624b1313b0464a31e3900472d0b7c8d2 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:50:01 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cdebd8f3e476e5a2afab1a949449b75dcec9ed97 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:14:58 2025 -0700 dbg network_edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 60cc960439e65cda8cd244723456b81242ced458 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 07:42:22 2025 -0700 dbg network edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f4e4264ac1c11dafddbe18971ca35127a0ffc171 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 19:23:17 2025 -0700 rm PathVertex.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aeba9b293f095aecd01d0f5d16de51640f3d2381 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:33:21 2025 -0700 PathEnum rm divEdge Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad97706562da7ceb41b9fbf4c882083de36d578d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:18:38 2025 -0700 genclks use path vector Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9c2563199d0cee3dee3d420c70f8117cfd69221 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:42:12 2025 -0700 group_path_count, end_path_count use size_t Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f16309a8e09e22964b998bf1b7e0922fbb9f02c1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:30:08 2025 -0700 Path rm uused Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 51295613c4ab6a6a4170080252397e2846a61bf1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:22:23 2025 -0700 network_edit3 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5de6da2190460183cf07d0d4ffc1d1c6ebbe3e10 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 10:33:09 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f52dbc18ce08bd2b14d7107b61a57e614b1e3a07 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 08:06:56 2025 -0700 valgrind 3 leaks left Signed-off-by: James Cherry <cherry@parallaxsw.com> commit de1a3727d908c4494f3039ff714ddb939d3390b5 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:50 2025 -0700 Path::prevPath Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c40aadcac8d2cd6d6dd8ba18f2e9db607358a01f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:31 2025 -0700 clk_skew init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 041c97194553e7f7a4746f506be251ee42eb83ee Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 07:38:49 2025 -0700 delete path groups before paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fb4aed589f9f67ddb39f4260cb2901764cf49a98 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:23:27 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b3062872cefdcf1358847025bc7bb1a85f4a5b Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:09:45 2025 -0700 1 failure Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 92cd7c33c1eb22e4f574a767a645c5db1c9efe4d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 11:19:59 2025 -0700 7 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 537ec153a5f8ab30d800cd36130e7668047b67af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 09:05:31 2025 -0700 11 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df514124c4daaf90175a89138ed954e20573e02f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 08:37:00 2025 -0700 25 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0096e8ee5a83194aee84da2cba95f410931f5c0e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 8 16:05:04 2025 -0700 33 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 02ba7ffdf38b538cd1659df25837d37e8317e741 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 21:39:53 2025 -0700 delete path groups before pahts Signed-Off-by: James Cherry <cherry@parallaxsw.com> commit 270dbad6bc9303f9255256b5b85cac84deb27a94 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 18:27:52 2025 -0700 no seg faults, 42 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3ceca5981fd6032294523cd23dc1334b9619f6a0 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:43:28 2025 -0700 multiclk1,2 seg fault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0441c00dc172817cc1a39bbb740d6369cf163869 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:29:47 2025 -0700 gated_clocks15 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7a1f87737e9c8247acd2c78138ee482d46123952 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 09:05:09 2025 -0700 nworst, crpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74b52e5ac0ed9dac5b7c31835393c4e2dd30ca95 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:18:47 2025 -0700 check_timiing6 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 93bddf0d940e9b833d5bc47d5af8b3bdefac67a5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:13:24 2025 -0700 nworst10 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f1edddbffb2e0d23bc3f4a10733203b9756f2e2e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:22:25 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c57d241b668d305f0492e55e273b3411320692b4 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:09:11 2025 -0700 most nwost pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c6fca38e28571e5f2d63236aa67233d572c3a1d6 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 09:15:47 2025 -0700 most genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 82f5e6e9252987433f9699919c5716b3a4321a5d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:51:29 2025 -0700 genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 19f4035496e004c543110b063482928e55bddbc9 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:33:28 2025 -0700 nworst1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit edafefa4e4f98291a3edebe5c7b3e2630988723f Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 15:02:38 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e4684fd67eacdb474574eee9e51741e75bba907 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 21:07:18 2025 -0700 rm unused Path* files Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f04819c01002f8b5eec0f4b8f0caf6798f3a20f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 19:43:35 2025 -0700 more regressions pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 276d70283cda14dfd6c48d1e2e4f45d326bf286c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 10:43:30 2025 -0700 arrival1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 383a480450833741144b57383bb40a33310fad44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 19:23:40 2025 -0700 arrival1 no segfault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36e3a6b8d8b19f185a5a71fb4547e17586ea2c44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:40:23 2025 -0700 VertexPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 083c76201e1a5482726e5856f124b15a523453d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:18:15 2025 -0700 report_checks3 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 834c076b7e2cb733655d917881463c76ce6196f6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 14:10:34 2025 -0800 links Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371792b1e6dd44ad0c72399b999d86cd2557cbe1 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 13:37:33 2025 -0800 link errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 158e9dafa6d11e0a4fd4e7ef253b0b6cb7595bf6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 12:30:29 2025 -0800 compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8df515dab15c0744abe04eae7e4a7d7688455f03 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 09:41:51 2025 -0800 PathEnd compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d94f241d0803376b1526f32e4f5111d081c604af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 07:42:51 2025 -0800 compile progress Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 591997e3bb496c4cc2fd6963c3798a8e17b8f587 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 1 10:42:11 2025 -0800 path unification Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-27 02:21:03 +01:00
size_t group_path_count,
size_t endpoint_path_count,
2018-09-28 17:54:21 +02:00
bool unique_pins,
float slack_min,
float slack_max,
bool cmp_slack,
const MinMax *min_max,
const StaState *sta) :
name_(name),
group_path_count_(group_path_count),
endpoint_path_count_(endpoint_path_count),
2018-09-28 17:54:21 +02:00
unique_pins_(unique_pins),
slack_min_(slack_min),
slack_max_(slack_max),
min_max_(min_max),
compare_slack_(cmp_slack),
threshold_(min_max->initValue()),
sta_(sta)
{
}
PathGroup::~PathGroup()
{
path_ends_.deleteContents();
}
bool
PathGroup::saveable(PathEnd *path_end)
2018-09-28 17:54:21 +02:00
{
float threshold;
{
LockGuard lock(lock_);
threshold = threshold_;
}
2018-09-28 17:54:21 +02:00
if (compare_slack_) {
// Crpr increases the slack, so check the slack
// without crpr first because it is expensive to find.
Slack slack = path_end->slackNoCrpr(sta_);
if (!delayIsInitValue(slack, min_max_)
&& delayLessEqual(slack, threshold, sta_)
2020-07-12 02:43:30 +02:00
&& delayLessEqual(slack, slack_max_, sta_)) {
2018-09-28 17:54:21 +02:00
// Now check with crpr.
slack = path_end->slack(sta_);
return delayLessEqual(slack, threshold, sta_)
2020-07-12 02:43:30 +02:00
&& delayLessEqual(slack, slack_max_, sta_)
&& delayGreaterEqual(slack, slack_min_, sta_);
2018-09-28 17:54:21 +02:00
}
}
else {
const Arrival &arrival = path_end->dataArrivalTime(sta_);
return !delayIsInitValue(arrival, min_max_)
&& delayGreaterEqual(arrival, threshold, min_max_, sta_);
2018-09-28 17:54:21 +02:00
}
return false;
2018-09-28 17:54:21 +02:00
}
// endpoint_path_count > 1 with slack_min requires
// saving endpoints with slack > slack_min so that
// path enumeration can find them. Use the path end
// with the min(max) delay to prune ends that cannot
// onion peel down to slack_min.
bool
PathGroup::enumMinSlackUnderMin(PathEnd *path_end)
{
if (compare_slack_
&& endpoint_path_count_ > 1
&& slack_min_ > -INF) {
const Path *path = path_end->path();
PathAnalysisPt *other_ap = path->pathAnalysisPt(sta_)->tgtClkAnalysisPt();
const Tag *tag = path->tag(sta_);
VertexPathIterator other_iter(path->vertex(sta_),
path->transition(sta_),
other_ap, sta_);
while (other_iter.hasNext()) {
class Path replaces PathVertex etc commit 08c062d3dd1d0cea846407dda0b5fd75ca64329c Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:17:42 2025 -0700 ApiChanges.txt Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ef72112a00419e466e19b5c1442cac6f2835adaa Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:37:10 2025 -0700 crpr29/30 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2065acfbfbaa84307fde1c46ff51a1c619c45f50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:33:55 2025 -0700 compile error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d3133015b90b59f7e8e934c20d1ed8449d543d7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 15:20:55 2025 -0700 rebase falout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a4b81755765db823e18ffb497f1fb3f0c64ec7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 09:22:01 2025 -0700 rebase fallout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7ef00dcaa4ed0b6db3f4205da47013e4f2ef1049 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 17:00:51 2025 -0700 deleteEdge clear to path prev_paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 912dacbca8f5c286f623f13659c831be6ed4d93e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 12:05:06 2025 -0700 undo 7f8c7adb Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9944c2ec907e9f07ab46f71af55ec947f3815de0 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 21:25:10 2025 -0700 rm Path::path() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a42c28b8447466a445cd8f6fb022eb42e6dcc0f2 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:12:17 2025 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f72adf1b5ad5581adc81afd3e00be7343ae4183 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:03:04 2025 -0700 PathExpanded rm prev_arcs_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 25879e66eddf9f12db38705807e1270459661810 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 12:34:12 2025 -0700 worst path init path Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c7a4fbdf3b8823a1944074a7eb663c6ea8e32df Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 10:47:02 2025 -0700 delete edge -> xelete paths of to vertex Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa8d3035489de2cd25f27f7531177193be7a40ac Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 09:17:27 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53741b6c624b1313b0464a31e3900472d0b7c8d2 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:50:01 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cdebd8f3e476e5a2afab1a949449b75dcec9ed97 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:14:58 2025 -0700 dbg network_edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 60cc960439e65cda8cd244723456b81242ced458 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 07:42:22 2025 -0700 dbg network edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f4e4264ac1c11dafddbe18971ca35127a0ffc171 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 19:23:17 2025 -0700 rm PathVertex.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aeba9b293f095aecd01d0f5d16de51640f3d2381 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:33:21 2025 -0700 PathEnum rm divEdge Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad97706562da7ceb41b9fbf4c882083de36d578d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:18:38 2025 -0700 genclks use path vector Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9c2563199d0cee3dee3d420c70f8117cfd69221 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:42:12 2025 -0700 group_path_count, end_path_count use size_t Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f16309a8e09e22964b998bf1b7e0922fbb9f02c1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:30:08 2025 -0700 Path rm uused Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 51295613c4ab6a6a4170080252397e2846a61bf1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:22:23 2025 -0700 network_edit3 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5de6da2190460183cf07d0d4ffc1d1c6ebbe3e10 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 10:33:09 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f52dbc18ce08bd2b14d7107b61a57e614b1e3a07 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 08:06:56 2025 -0700 valgrind 3 leaks left Signed-off-by: James Cherry <cherry@parallaxsw.com> commit de1a3727d908c4494f3039ff714ddb939d3390b5 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:50 2025 -0700 Path::prevPath Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c40aadcac8d2cd6d6dd8ba18f2e9db607358a01f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:31 2025 -0700 clk_skew init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 041c97194553e7f7a4746f506be251ee42eb83ee Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 07:38:49 2025 -0700 delete path groups before paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fb4aed589f9f67ddb39f4260cb2901764cf49a98 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:23:27 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b3062872cefdcf1358847025bc7bb1a85f4a5b Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:09:45 2025 -0700 1 failure Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 92cd7c33c1eb22e4f574a767a645c5db1c9efe4d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 11:19:59 2025 -0700 7 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 537ec153a5f8ab30d800cd36130e7668047b67af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 09:05:31 2025 -0700 11 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df514124c4daaf90175a89138ed954e20573e02f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 08:37:00 2025 -0700 25 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0096e8ee5a83194aee84da2cba95f410931f5c0e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 8 16:05:04 2025 -0700 33 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 02ba7ffdf38b538cd1659df25837d37e8317e741 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 21:39:53 2025 -0700 delete path groups before pahts Signed-Off-by: James Cherry <cherry@parallaxsw.com> commit 270dbad6bc9303f9255256b5b85cac84deb27a94 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 18:27:52 2025 -0700 no seg faults, 42 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3ceca5981fd6032294523cd23dc1334b9619f6a0 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:43:28 2025 -0700 multiclk1,2 seg fault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0441c00dc172817cc1a39bbb740d6369cf163869 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:29:47 2025 -0700 gated_clocks15 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7a1f87737e9c8247acd2c78138ee482d46123952 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 09:05:09 2025 -0700 nworst, crpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74b52e5ac0ed9dac5b7c31835393c4e2dd30ca95 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:18:47 2025 -0700 check_timiing6 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 93bddf0d940e9b833d5bc47d5af8b3bdefac67a5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:13:24 2025 -0700 nworst10 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f1edddbffb2e0d23bc3f4a10733203b9756f2e2e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:22:25 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c57d241b668d305f0492e55e273b3411320692b4 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:09:11 2025 -0700 most nwost pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c6fca38e28571e5f2d63236aa67233d572c3a1d6 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 09:15:47 2025 -0700 most genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 82f5e6e9252987433f9699919c5716b3a4321a5d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:51:29 2025 -0700 genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 19f4035496e004c543110b063482928e55bddbc9 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:33:28 2025 -0700 nworst1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit edafefa4e4f98291a3edebe5c7b3e2630988723f Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 15:02:38 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e4684fd67eacdb474574eee9e51741e75bba907 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 21:07:18 2025 -0700 rm unused Path* files Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f04819c01002f8b5eec0f4b8f0caf6798f3a20f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 19:43:35 2025 -0700 more regressions pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 276d70283cda14dfd6c48d1e2e4f45d326bf286c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 10:43:30 2025 -0700 arrival1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 383a480450833741144b57383bb40a33310fad44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 19:23:40 2025 -0700 arrival1 no segfault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36e3a6b8d8b19f185a5a71fb4547e17586ea2c44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:40:23 2025 -0700 VertexPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 083c76201e1a5482726e5856f124b15a523453d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:18:15 2025 -0700 report_checks3 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 834c076b7e2cb733655d917881463c76ce6196f6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 14:10:34 2025 -0800 links Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371792b1e6dd44ad0c72399b999d86cd2557cbe1 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 13:37:33 2025 -0800 link errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 158e9dafa6d11e0a4fd4e7ef253b0b6cb7595bf6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 12:30:29 2025 -0800 compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8df515dab15c0744abe04eae7e4a7d7688455f03 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 09:41:51 2025 -0800 PathEnd compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d94f241d0803376b1526f32e4f5111d081c604af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 07:42:51 2025 -0800 compile progress Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 591997e3bb496c4cc2fd6963c3798a8e17b8f587 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 1 10:42:11 2025 -0800 path unification Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-27 02:21:03 +01:00
Path *other = other_iter.next();
if (tagMatchCrpr(other->tag(sta_), tag)) {
PathEnd *end_min = path_end->copy();
end_min->setPath(other);
float slack = delayAsFloat(end_min->slackNoCrpr(sta_));
bool slack_under = fuzzyGreater(slack, slack_min_);
delete end_min;
if (slack_under)
return true;
}
}
}
return false;
}
2018-09-28 17:54:21 +02:00
void
PathGroup::insert(PathEnd *path_end)
{
LockGuard lock(lock_);
2018-09-28 17:54:21 +02:00
path_ends_.push_back(path_end);
if (group_path_count_ != group_path_count_max
class Path replaces PathVertex etc commit 08c062d3dd1d0cea846407dda0b5fd75ca64329c Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:17:42 2025 -0700 ApiChanges.txt Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ef72112a00419e466e19b5c1442cac6f2835adaa Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:37:10 2025 -0700 crpr29/30 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2065acfbfbaa84307fde1c46ff51a1c619c45f50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:33:55 2025 -0700 compile error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d3133015b90b59f7e8e934c20d1ed8449d543d7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 15:20:55 2025 -0700 rebase falout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a4b81755765db823e18ffb497f1fb3f0c64ec7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 09:22:01 2025 -0700 rebase fallout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7ef00dcaa4ed0b6db3f4205da47013e4f2ef1049 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 17:00:51 2025 -0700 deleteEdge clear to path prev_paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 912dacbca8f5c286f623f13659c831be6ed4d93e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 12:05:06 2025 -0700 undo 7f8c7adb Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9944c2ec907e9f07ab46f71af55ec947f3815de0 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 21:25:10 2025 -0700 rm Path::path() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a42c28b8447466a445cd8f6fb022eb42e6dcc0f2 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:12:17 2025 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f72adf1b5ad5581adc81afd3e00be7343ae4183 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:03:04 2025 -0700 PathExpanded rm prev_arcs_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 25879e66eddf9f12db38705807e1270459661810 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 12:34:12 2025 -0700 worst path init path Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c7a4fbdf3b8823a1944074a7eb663c6ea8e32df Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 10:47:02 2025 -0700 delete edge -> xelete paths of to vertex Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa8d3035489de2cd25f27f7531177193be7a40ac Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 09:17:27 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53741b6c624b1313b0464a31e3900472d0b7c8d2 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:50:01 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cdebd8f3e476e5a2afab1a949449b75dcec9ed97 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:14:58 2025 -0700 dbg network_edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 60cc960439e65cda8cd244723456b81242ced458 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 07:42:22 2025 -0700 dbg network edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f4e4264ac1c11dafddbe18971ca35127a0ffc171 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 19:23:17 2025 -0700 rm PathVertex.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aeba9b293f095aecd01d0f5d16de51640f3d2381 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:33:21 2025 -0700 PathEnum rm divEdge Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad97706562da7ceb41b9fbf4c882083de36d578d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:18:38 2025 -0700 genclks use path vector Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9c2563199d0cee3dee3d420c70f8117cfd69221 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:42:12 2025 -0700 group_path_count, end_path_count use size_t Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f16309a8e09e22964b998bf1b7e0922fbb9f02c1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:30:08 2025 -0700 Path rm uused Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 51295613c4ab6a6a4170080252397e2846a61bf1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:22:23 2025 -0700 network_edit3 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5de6da2190460183cf07d0d4ffc1d1c6ebbe3e10 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 10:33:09 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f52dbc18ce08bd2b14d7107b61a57e614b1e3a07 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 08:06:56 2025 -0700 valgrind 3 leaks left Signed-off-by: James Cherry <cherry@parallaxsw.com> commit de1a3727d908c4494f3039ff714ddb939d3390b5 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:50 2025 -0700 Path::prevPath Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c40aadcac8d2cd6d6dd8ba18f2e9db607358a01f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:31 2025 -0700 clk_skew init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 041c97194553e7f7a4746f506be251ee42eb83ee Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 07:38:49 2025 -0700 delete path groups before paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fb4aed589f9f67ddb39f4260cb2901764cf49a98 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:23:27 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b3062872cefdcf1358847025bc7bb1a85f4a5b Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:09:45 2025 -0700 1 failure Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 92cd7c33c1eb22e4f574a767a645c5db1c9efe4d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 11:19:59 2025 -0700 7 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 537ec153a5f8ab30d800cd36130e7668047b67af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 09:05:31 2025 -0700 11 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df514124c4daaf90175a89138ed954e20573e02f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 08:37:00 2025 -0700 25 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0096e8ee5a83194aee84da2cba95f410931f5c0e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 8 16:05:04 2025 -0700 33 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 02ba7ffdf38b538cd1659df25837d37e8317e741 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 21:39:53 2025 -0700 delete path groups before pahts Signed-Off-by: James Cherry <cherry@parallaxsw.com> commit 270dbad6bc9303f9255256b5b85cac84deb27a94 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 18:27:52 2025 -0700 no seg faults, 42 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3ceca5981fd6032294523cd23dc1334b9619f6a0 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:43:28 2025 -0700 multiclk1,2 seg fault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0441c00dc172817cc1a39bbb740d6369cf163869 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:29:47 2025 -0700 gated_clocks15 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7a1f87737e9c8247acd2c78138ee482d46123952 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 09:05:09 2025 -0700 nworst, crpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74b52e5ac0ed9dac5b7c31835393c4e2dd30ca95 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:18:47 2025 -0700 check_timiing6 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 93bddf0d940e9b833d5bc47d5af8b3bdefac67a5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:13:24 2025 -0700 nworst10 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f1edddbffb2e0d23bc3f4a10733203b9756f2e2e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:22:25 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c57d241b668d305f0492e55e273b3411320692b4 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:09:11 2025 -0700 most nwost pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c6fca38e28571e5f2d63236aa67233d572c3a1d6 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 09:15:47 2025 -0700 most genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 82f5e6e9252987433f9699919c5716b3a4321a5d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:51:29 2025 -0700 genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 19f4035496e004c543110b063482928e55bddbc9 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:33:28 2025 -0700 nworst1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit edafefa4e4f98291a3edebe5c7b3e2630988723f Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 15:02:38 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e4684fd67eacdb474574eee9e51741e75bba907 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 21:07:18 2025 -0700 rm unused Path* files Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f04819c01002f8b5eec0f4b8f0caf6798f3a20f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 19:43:35 2025 -0700 more regressions pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 276d70283cda14dfd6c48d1e2e4f45d326bf286c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 10:43:30 2025 -0700 arrival1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 383a480450833741144b57383bb40a33310fad44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 19:23:40 2025 -0700 arrival1 no segfault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36e3a6b8d8b19f185a5a71fb4547e17586ea2c44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:40:23 2025 -0700 VertexPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 083c76201e1a5482726e5856f124b15a523453d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:18:15 2025 -0700 report_checks3 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 834c076b7e2cb733655d917881463c76ce6196f6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 14:10:34 2025 -0800 links Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371792b1e6dd44ad0c72399b999d86cd2557cbe1 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 13:37:33 2025 -0800 link errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 158e9dafa6d11e0a4fd4e7ef253b0b6cb7595bf6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 12:30:29 2025 -0800 compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8df515dab15c0744abe04eae7e4a7d7688455f03 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 09:41:51 2025 -0800 PathEnd compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d94f241d0803376b1526f32e4f5111d081c604af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 07:42:51 2025 -0800 compile progress Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 591997e3bb496c4cc2fd6963c3798a8e17b8f587 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 1 10:42:11 2025 -0800 path unification Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-27 02:21:03 +01:00
&& path_ends_.size() > group_path_count_ * 2)
2018-09-28 17:54:21 +02:00
prune();
}
void
PathGroup::prune()
{
sort();
VertexPathCountMap path_counts;
class Path replaces PathVertex etc commit 08c062d3dd1d0cea846407dda0b5fd75ca64329c Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:17:42 2025 -0700 ApiChanges.txt Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ef72112a00419e466e19b5c1442cac6f2835adaa Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:37:10 2025 -0700 crpr29/30 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2065acfbfbaa84307fde1c46ff51a1c619c45f50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:33:55 2025 -0700 compile error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d3133015b90b59f7e8e934c20d1ed8449d543d7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 15:20:55 2025 -0700 rebase falout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a4b81755765db823e18ffb497f1fb3f0c64ec7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 09:22:01 2025 -0700 rebase fallout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7ef00dcaa4ed0b6db3f4205da47013e4f2ef1049 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 17:00:51 2025 -0700 deleteEdge clear to path prev_paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 912dacbca8f5c286f623f13659c831be6ed4d93e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 12:05:06 2025 -0700 undo 7f8c7adb Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9944c2ec907e9f07ab46f71af55ec947f3815de0 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 21:25:10 2025 -0700 rm Path::path() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a42c28b8447466a445cd8f6fb022eb42e6dcc0f2 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:12:17 2025 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f72adf1b5ad5581adc81afd3e00be7343ae4183 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:03:04 2025 -0700 PathExpanded rm prev_arcs_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 25879e66eddf9f12db38705807e1270459661810 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 12:34:12 2025 -0700 worst path init path Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c7a4fbdf3b8823a1944074a7eb663c6ea8e32df Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 10:47:02 2025 -0700 delete edge -> xelete paths of to vertex Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa8d3035489de2cd25f27f7531177193be7a40ac Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 09:17:27 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53741b6c624b1313b0464a31e3900472d0b7c8d2 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:50:01 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cdebd8f3e476e5a2afab1a949449b75dcec9ed97 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:14:58 2025 -0700 dbg network_edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 60cc960439e65cda8cd244723456b81242ced458 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 07:42:22 2025 -0700 dbg network edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f4e4264ac1c11dafddbe18971ca35127a0ffc171 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 19:23:17 2025 -0700 rm PathVertex.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aeba9b293f095aecd01d0f5d16de51640f3d2381 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:33:21 2025 -0700 PathEnum rm divEdge Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad97706562da7ceb41b9fbf4c882083de36d578d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:18:38 2025 -0700 genclks use path vector Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9c2563199d0cee3dee3d420c70f8117cfd69221 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:42:12 2025 -0700 group_path_count, end_path_count use size_t Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f16309a8e09e22964b998bf1b7e0922fbb9f02c1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:30:08 2025 -0700 Path rm uused Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 51295613c4ab6a6a4170080252397e2846a61bf1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:22:23 2025 -0700 network_edit3 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5de6da2190460183cf07d0d4ffc1d1c6ebbe3e10 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 10:33:09 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f52dbc18ce08bd2b14d7107b61a57e614b1e3a07 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 08:06:56 2025 -0700 valgrind 3 leaks left Signed-off-by: James Cherry <cherry@parallaxsw.com> commit de1a3727d908c4494f3039ff714ddb939d3390b5 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:50 2025 -0700 Path::prevPath Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c40aadcac8d2cd6d6dd8ba18f2e9db607358a01f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:31 2025 -0700 clk_skew init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 041c97194553e7f7a4746f506be251ee42eb83ee Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 07:38:49 2025 -0700 delete path groups before paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fb4aed589f9f67ddb39f4260cb2901764cf49a98 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:23:27 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b3062872cefdcf1358847025bc7bb1a85f4a5b Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:09:45 2025 -0700 1 failure Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 92cd7c33c1eb22e4f574a767a645c5db1c9efe4d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 11:19:59 2025 -0700 7 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 537ec153a5f8ab30d800cd36130e7668047b67af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 09:05:31 2025 -0700 11 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df514124c4daaf90175a89138ed954e20573e02f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 08:37:00 2025 -0700 25 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0096e8ee5a83194aee84da2cba95f410931f5c0e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 8 16:05:04 2025 -0700 33 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 02ba7ffdf38b538cd1659df25837d37e8317e741 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 21:39:53 2025 -0700 delete path groups before pahts Signed-Off-by: James Cherry <cherry@parallaxsw.com> commit 270dbad6bc9303f9255256b5b85cac84deb27a94 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 18:27:52 2025 -0700 no seg faults, 42 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3ceca5981fd6032294523cd23dc1334b9619f6a0 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:43:28 2025 -0700 multiclk1,2 seg fault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0441c00dc172817cc1a39bbb740d6369cf163869 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:29:47 2025 -0700 gated_clocks15 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7a1f87737e9c8247acd2c78138ee482d46123952 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 09:05:09 2025 -0700 nworst, crpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74b52e5ac0ed9dac5b7c31835393c4e2dd30ca95 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:18:47 2025 -0700 check_timiing6 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 93bddf0d940e9b833d5bc47d5af8b3bdefac67a5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:13:24 2025 -0700 nworst10 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f1edddbffb2e0d23bc3f4a10733203b9756f2e2e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:22:25 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c57d241b668d305f0492e55e273b3411320692b4 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:09:11 2025 -0700 most nwost pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c6fca38e28571e5f2d63236aa67233d572c3a1d6 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 09:15:47 2025 -0700 most genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 82f5e6e9252987433f9699919c5716b3a4321a5d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:51:29 2025 -0700 genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 19f4035496e004c543110b063482928e55bddbc9 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:33:28 2025 -0700 nworst1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit edafefa4e4f98291a3edebe5c7b3e2630988723f Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 15:02:38 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e4684fd67eacdb474574eee9e51741e75bba907 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 21:07:18 2025 -0700 rm unused Path* files Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f04819c01002f8b5eec0f4b8f0caf6798f3a20f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 19:43:35 2025 -0700 more regressions pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 276d70283cda14dfd6c48d1e2e4f45d326bf286c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 10:43:30 2025 -0700 arrival1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 383a480450833741144b57383bb40a33310fad44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 19:23:40 2025 -0700 arrival1 no segfault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36e3a6b8d8b19f185a5a71fb4547e17586ea2c44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:40:23 2025 -0700 VertexPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 083c76201e1a5482726e5856f124b15a523453d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:18:15 2025 -0700 report_checks3 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 834c076b7e2cb733655d917881463c76ce6196f6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 14:10:34 2025 -0800 links Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371792b1e6dd44ad0c72399b999d86cd2557cbe1 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 13:37:33 2025 -0800 link errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 158e9dafa6d11e0a4fd4e7ef253b0b6cb7595bf6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 12:30:29 2025 -0800 compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8df515dab15c0744abe04eae7e4a7d7688455f03 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 09:41:51 2025 -0800 PathEnd compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d94f241d0803376b1526f32e4f5111d081c604af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 07:42:51 2025 -0800 compile progress Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 591997e3bb496c4cc2fd6963c3798a8e17b8f587 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 1 10:42:11 2025 -0800 path unification Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-27 02:21:03 +01:00
size_t end_count = 0;
2018-09-28 17:54:21 +02:00
for (unsigned i = 0; i < path_ends_.size(); i++) {
PathEnd *path_end = path_ends_[i];
Vertex *vertex = path_end->vertex(sta_);
// Squish up to endpoint_path_count path ends per vertex
// up to the front of path_ends_.
if (end_count < group_path_count_
&& path_counts[vertex] < endpoint_path_count_) {
2018-09-28 17:54:21 +02:00
path_ends_[end_count++] = path_end;
path_counts[vertex]++;
}
else
delete path_end;
}
path_ends_.resize(end_count);
// Set a threshold to the bottom of the sorted list that future
// inserts need to beat.
PathEnd *last_end = path_ends_[end_count - 1];
if (compare_slack_)
threshold_ = delayAsFloat(last_end->slack(sta_));
else
threshold_ = delayAsFloat(last_end->dataArrivalTime(sta_));
}
void
PathGroup::pushEnds(PathEndSeq &path_ends)
2018-09-28 17:54:21 +02:00
{
ensureSortedMaxPaths();
2020-01-07 04:36:04 +01:00
for (PathEnd *path_end : path_ends_)
path_ends.push_back(path_end);
2018-09-28 17:54:21 +02:00
}
PathGroupIterator *
PathGroup::iterator()
{
ensureSortedMaxPaths();
return new PathGroupIterator(path_ends_);
}
void
PathGroup::ensureSortedMaxPaths()
{
class Path replaces PathVertex etc commit 08c062d3dd1d0cea846407dda0b5fd75ca64329c Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:17:42 2025 -0700 ApiChanges.txt Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ef72112a00419e466e19b5c1442cac6f2835adaa Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:37:10 2025 -0700 crpr29/30 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2065acfbfbaa84307fde1c46ff51a1c619c45f50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:33:55 2025 -0700 compile error Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d3133015b90b59f7e8e934c20d1ed8449d543d7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 15:20:55 2025 -0700 rebase falout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8a4b81755765db823e18ffb497f1fb3f0c64ec7b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 17 09:22:01 2025 -0700 rebase fallout Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7ef00dcaa4ed0b6db3f4205da47013e4f2ef1049 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 17:00:51 2025 -0700 deleteEdge clear to path prev_paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 912dacbca8f5c286f623f13659c831be6ed4d93e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 15 12:05:06 2025 -0700 undo 7f8c7adb Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9944c2ec907e9f07ab46f71af55ec947f3815de0 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 21:25:10 2025 -0700 rm Path::path() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a42c28b8447466a445cd8f6fb022eb42e6dcc0f2 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:12:17 2025 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f72adf1b5ad5581adc81afd3e00be7343ae4183 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 14 17:03:04 2025 -0700 PathExpanded rm prev_arcs_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 25879e66eddf9f12db38705807e1270459661810 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 12:34:12 2025 -0700 worst path init path Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5c7a4fbdf3b8823a1944074a7eb663c6ea8e32df Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 10:47:02 2025 -0700 delete edge -> xelete paths of to vertex Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aa8d3035489de2cd25f27f7531177193be7a40ac Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 09:17:27 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 53741b6c624b1313b0464a31e3900472d0b7c8d2 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:50:01 2025 -0700 debug Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cdebd8f3e476e5a2afab1a949449b75dcec9ed97 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 08:14:58 2025 -0700 dbg network_edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 60cc960439e65cda8cd244723456b81242ced458 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 13 07:42:22 2025 -0700 dbg network edit Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f4e4264ac1c11dafddbe18971ca35127a0ffc171 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 19:23:17 2025 -0700 rm PathVertex.hh Signed-off-by: James Cherry <cherry@parallaxsw.com> commit aeba9b293f095aecd01d0f5d16de51640f3d2381 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:33:21 2025 -0700 PathEnum rm divEdge Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ad97706562da7ceb41b9fbf4c882083de36d578d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 13:18:38 2025 -0700 genclks use path vector Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a9c2563199d0cee3dee3d420c70f8117cfd69221 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:42:12 2025 -0700 group_path_count, end_path_count use size_t Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f16309a8e09e22964b998bf1b7e0922fbb9f02c1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:30:08 2025 -0700 Path rm uused Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 51295613c4ab6a6a4170080252397e2846a61bf1 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 12:22:23 2025 -0700 network_edit3 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5de6da2190460183cf07d0d4ffc1d1c6ebbe3e10 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 10:33:09 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f52dbc18ce08bd2b14d7107b61a57e614b1e3a07 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 11 08:06:56 2025 -0700 valgrind 3 leaks left Signed-off-by: James Cherry <cherry@parallaxsw.com> commit de1a3727d908c4494f3039ff714ddb939d3390b5 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:50 2025 -0700 Path::prevPath Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c40aadcac8d2cd6d6dd8ba18f2e9db607358a01f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 18:21:31 2025 -0700 clk_skew init Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 041c97194553e7f7a4746f506be251ee42eb83ee Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 10 07:38:49 2025 -0700 delete path groups before paths Signed-off-by: James Cherry <cherry@parallaxsw.com> commit fb4aed589f9f67ddb39f4260cb2901764cf49a98 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:23:27 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b3062872cefdcf1358847025bc7bb1a85f4a5b Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 17:09:45 2025 -0700 1 failure Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 92cd7c33c1eb22e4f574a767a645c5db1c9efe4d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 11:19:59 2025 -0700 7 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 537ec153a5f8ab30d800cd36130e7668047b67af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 09:05:31 2025 -0700 11 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df514124c4daaf90175a89138ed954e20573e02f Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 9 08:37:00 2025 -0700 25 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0096e8ee5a83194aee84da2cba95f410931f5c0e Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 8 16:05:04 2025 -0700 33 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 02ba7ffdf38b538cd1659df25837d37e8317e741 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 21:39:53 2025 -0700 delete path groups before pahts Signed-Off-by: James Cherry <cherry@parallaxsw.com> commit 270dbad6bc9303f9255256b5b85cac84deb27a94 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Mar 7 18:27:52 2025 -0700 no seg faults, 42 failures Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3ceca5981fd6032294523cd23dc1334b9619f6a0 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:43:28 2025 -0700 multiclk1,2 seg fault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0441c00dc172817cc1a39bbb740d6369cf163869 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 15:29:47 2025 -0700 gated_clocks15 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7a1f87737e9c8247acd2c78138ee482d46123952 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 6 09:05:09 2025 -0700 nworst, crpr Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 74b52e5ac0ed9dac5b7c31835393c4e2dd30ca95 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:18:47 2025 -0700 check_timiing6 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 93bddf0d940e9b833d5bc47d5af8b3bdefac67a5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 17:13:24 2025 -0700 nworst10 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f1edddbffb2e0d23bc3f4a10733203b9756f2e2e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:22:25 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c57d241b668d305f0492e55e273b3411320692b4 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 16:09:11 2025 -0700 most nwost pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c6fca38e28571e5f2d63236aa67233d572c3a1d6 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 5 09:15:47 2025 -0700 most genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 82f5e6e9252987433f9699919c5716b3a4321a5d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:51:29 2025 -0700 genclks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 19f4035496e004c543110b063482928e55bddbc9 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 17:33:28 2025 -0700 nworst1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit edafefa4e4f98291a3edebe5c7b3e2630988723f Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 4 15:02:38 2025 -0700 path enum Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3e4684fd67eacdb474574eee9e51741e75bba907 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 21:07:18 2025 -0700 rm unused Path* files Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3f04819c01002f8b5eec0f4b8f0caf6798f3a20f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 19:43:35 2025 -0700 more regressions pass Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 276d70283cda14dfd6c48d1e2e4f45d326bf286c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 3 10:43:30 2025 -0700 arrival1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 383a480450833741144b57383bb40a33310fad44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 19:23:40 2025 -0700 arrival1 no segfault Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36e3a6b8d8b19f185a5a71fb4547e17586ea2c44 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:40:23 2025 -0700 VertexPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 083c76201e1a5482726e5856f124b15a523453d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 18:18:15 2025 -0700 report_checks3 passes Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 834c076b7e2cb733655d917881463c76ce6196f6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 14:10:34 2025 -0800 links Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371792b1e6dd44ad0c72399b999d86cd2557cbe1 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 13:37:33 2025 -0800 link errors Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 158e9dafa6d11e0a4fd4e7ef253b0b6cb7595bf6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 12:30:29 2025 -0800 compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8df515dab15c0744abe04eae7e4a7d7688455f03 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 09:41:51 2025 -0800 PathEnd compiles Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d94f241d0803376b1526f32e4f5111d081c604af Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 2 07:42:51 2025 -0800 compile progress Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 591997e3bb496c4cc2fd6963c3798a8e17b8f587 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 1 10:42:11 2025 -0800 path unification Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-27 02:21:03 +01:00
if (path_ends_.size() > group_path_count_)
2018-09-28 17:54:21 +02:00
prune();
else
sort();
}
void
PathGroup::sort()
{
sta::sort(path_ends_, PathEndLess(sta_));
}
void
PathGroup::clear()
{
LockGuard lock(lock_);
2018-09-28 17:54:21 +02:00
threshold_ = min_max_->initValue();
path_ends_.clear();
}
////////////////////////////////////////////////////////////////
const char *PathGroups::path_delay_group_name_ = "path delay";
const char *PathGroups::gated_clk_group_name_ = "gated clock";
const char *PathGroups::async_group_name_ = "asynchronous";
const char *PathGroups::unconstrained_group_name_ = "unconstrained";
2018-09-28 17:54:21 +02:00
bool
PathGroups::isGroupPathName(const char *group_name)
{
return stringEq(group_name, path_delay_group_name_)
|| stringEq(group_name, gated_clk_group_name_)
|| stringEq(group_name, async_group_name_)
|| stringEq(group_name, unconstrained_group_name_);
}
PathGroups::PathGroups(int group_path_count,
int endpoint_path_count,
2018-09-28 17:54:21 +02:00
bool unique_pins,
float slack_min,
float slack_max,
PathGroupNameSet *group_names,
bool setup,
bool hold,
bool recovery,
bool removal,
bool clk_gating_setup,
bool clk_gating_hold,
bool unconstrained,
const StaState *sta) :
StaState(sta),
group_path_count_(group_path_count),
endpoint_path_count_(endpoint_path_count),
2018-09-28 17:54:21 +02:00
unique_pins_(unique_pins),
slack_min_(slack_min),
slack_max_(slack_max)
{
makeGroups(group_path_count, endpoint_path_count, unique_pins,
slack_min, slack_max, group_names,
2018-09-28 17:54:21 +02:00
setup, recovery, clk_gating_setup, unconstrained,
MinMax::max());
makeGroups(group_path_count, endpoint_path_count, unique_pins,
slack_min, slack_max, group_names,
2018-09-28 17:54:21 +02:00
hold, removal, clk_gating_hold, unconstrained,
MinMax::min());
}
void
PathGroups::makeGroups(int group_path_count,
int endpoint_path_count,
2018-09-28 17:54:21 +02:00
bool unique_pins,
float slack_min,
float slack_max,
PathGroupNameSet *group_names,
bool setup_hold,
bool async,
bool gated_clk,
bool unconstrained,
const MinMax *min_max)
{
int mm_index = min_max->index();
if (setup_hold) {
for (const auto [name, group] : sdc_->groupPaths()) {
2018-09-28 17:54:21 +02:00
if (reportGroup(name, group_names)) {
PathGroup *group = PathGroup::makePathGroupSlack(name,
group_path_count,
endpoint_path_count,
unique_pins,
2018-09-28 17:54:21 +02:00
slack_min, slack_max,
this);
named_map_[mm_index][name] = group;
}
}
2019-03-13 01:25:53 +01:00
for (auto clk : sdc_->clks()) {
2018-09-28 17:54:21 +02:00
const char *clk_name = clk->name();
if (reportGroup(clk_name, group_names)) {
PathGroup *group = PathGroup::makePathGroupSlack(clk_name,
group_path_count,
endpoint_path_count,
unique_pins,
2018-09-28 17:54:21 +02:00
slack_min, slack_max,
this);
clk_map_[mm_index][clk] = group;
}
}
}
if (setup_hold
&& reportGroup(path_delay_group_name_, group_names))
path_delay_[mm_index] = PathGroup::makePathGroupSlack(path_delay_group_name_,
group_path_count,
endpoint_path_count,
2018-09-28 17:54:21 +02:00
unique_pins,
slack_min, slack_max,
this);
else
2019-03-13 01:25:53 +01:00
path_delay_[mm_index] = nullptr;
2018-09-28 17:54:21 +02:00
if (gated_clk
&& reportGroup(gated_clk_group_name_, group_names))
gated_clk_[mm_index] = PathGroup::makePathGroupSlack(gated_clk_group_name_,
group_path_count,
endpoint_path_count,
2018-09-28 17:54:21 +02:00
unique_pins,
slack_min, slack_max,
this);
else
2019-03-13 01:25:53 +01:00
gated_clk_[mm_index] = nullptr;
2018-09-28 17:54:21 +02:00
if (async
&& reportGroup(async_group_name_, group_names))
async_[mm_index] = PathGroup::makePathGroupSlack(async_group_name_,
group_path_count,
endpoint_path_count,
2018-09-28 17:54:21 +02:00
unique_pins,
slack_min, slack_max,
this);
else
2019-03-13 01:25:53 +01:00
async_[mm_index] = nullptr;
2018-09-28 17:54:21 +02:00
if (unconstrained
&& reportGroup(unconstrained_group_name_, group_names))
unconstrained_[mm_index] =
PathGroup::makePathGroupArrival(unconstrained_group_name_,
group_path_count, endpoint_path_count,
unique_pins, min_max, this);
2018-09-28 17:54:21 +02:00
else
2019-03-13 01:25:53 +01:00
unconstrained_[mm_index] = nullptr;
2018-09-28 17:54:21 +02:00
}
PathGroups::~PathGroups()
{
2019-07-18 15:19:00 +02:00
for (auto mm_index : MinMax::rangeIndex()) {
2018-09-28 17:54:21 +02:00
named_map_[mm_index].deleteContents();
clk_map_[mm_index].deleteContents();
delete path_delay_[mm_index];
delete gated_clk_[mm_index];
delete async_[mm_index];
delete unconstrained_[mm_index];
}
}
PathGroup *
PathGroups::findPathGroup(const char *name,
const MinMax *min_max) const
{
return named_map_[min_max->index()].findKey(name);
}
PathGroup *
PathGroups::findPathGroup(const Clock *clock,
const MinMax *min_max) const
{
return clk_map_[min_max->index()].findKey(clock);
}
bool
PathGroups::reportGroup(const char *group_name,
PathGroupNameSet *group_names) const
{
2019-03-13 01:25:53 +01:00
return group_names == nullptr
2018-09-28 17:54:21 +02:00
|| group_names->empty()
|| group_names->hasKey(group_name);
}
PathGroup *
PathGroups::pathGroup(const PathEnd *path_end) const
{
const MinMax *min_max = path_end->minMax(this);
int mm_index = min_max->index();
GroupPath *group_path = groupPathTo(path_end);
if (path_end->isUnconstrained())
return unconstrained_[mm_index];
// GroupPaths have precedence.
else if (group_path) {
2018-09-28 17:54:21 +02:00
if (group_path->isDefault())
return path_delay_[mm_index];
else {
const char *group_name = group_path->name();
return findPathGroup(group_name, min_max);
}
}
else if (path_end->isCheck() || path_end->isLatchCheck()) {
const TimingRole *check_role = path_end->checkRole(this);
const Clock *tgt_clk = path_end->targetClk(this);
if (check_role == TimingRole::removal()
|| check_role == TimingRole::recovery())
return async_[mm_index];
else
return findPathGroup(tgt_clk, min_max);
}
else if (path_end->isOutputDelay()
|| path_end->isDataCheck())
return findPathGroup(path_end->targetClk(this), min_max);
else if (path_end->isGatedClock())
return gated_clk_[mm_index];
else if (path_end->isPathDelay()) {
// Path delays that end at timing checks are part of the target clk group
// unless -ignore_clock_latency is true.
PathDelay *path_delay = path_end->pathDelay();
Network::id for maps/sets commit be70d30ae05665021254b0d7e69fb8d2f0a82890 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 17:04:49 2023 -0700 cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4d4ef96948afe3d6a00c4521aeb5bc74274f5737 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 16:08:50 2023 -0700 rvo, const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bb584e4264af2bea867b17d07e8d38c0e9eb0025 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 15:05:00 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a08fe558bca6b769b2728882258bd85aed990a27 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:57:33 2023 -0700 LibertyPortPair no ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4d3bd60c109d1ce9d0589d746f4968fa7bebd90d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:13:07 2023 -0700 cleanup Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dc25ff77771cfbe26f9318bad2b3c45879614783 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:06:13 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 06e81586ce11a0cc06948ed78fef99353077d69e Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:01:10 2023 -0700 sortByName Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9d8592aff5b246f83e47e1b94490e3cef8d8e119 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 11:57:17 2023 -0700 sort pred Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 462a8e14df8b561ddfc842addc62c4b8435b6347 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 11:09:57 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 69f71505b684e88b22d395510429497e87bf1015 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 10:45:14 2023 -0700 flush ConstPortSeq Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6429d578b78eac3fe7e99fcd67a120789932b2eb Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 09:19:15 2023 -0700 rm ConstNetSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f247930b16e40560b957a36af68947249ed1ef04 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 08:50:50 2023 -0700 sortPathNames Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4ca2b0e0af7252c7bcbc65cf141d0ce40634d329 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 10:14:05 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3d18640d2ebc4aae3098c7e7242a554fcb64fd42 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 09:41:27 2023 -0700 set_input/ouput_delay -reference_pin Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d4a0854dd2102f46f96a94fb9eb8749f1593a85f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 09:13:46 2023 -0700 PinPairSet no malloc Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a6f1583fc6a856c5ecc0dcb15a1d8b1f61e30718 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 08:53:33 2023 -0700 no malloc for EdgePins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c8e4b92e8b619109d6aa3c141c720646067ccb4b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 06:31:08 2023 +0000 leak commit abab99e0fc3e466d914f6c1705aa08cdc204df51 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 06:07:36 2023 +0000 leaks commit d1913b554bb6e98b89673d80d2295f552eb4ffca Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 19:48:39 2023 -0700 LibertyCell::checkCornerCell Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bcc172237d48deed647374f9592bac70bd2d5425 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 18:19:47 2023 -0700 rvo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8ef9800b87f5e5548055a13afc21397f28a6bcf7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 18:07:46 2023 -0700 sdc net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d7235abed04ced4e2d84e91bf9968e621268567d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 16:00:27 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a22f91a3c54c644574339d1126821d9bc8045bd6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 15:52:50 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 762615ce3de91d950eeaaa4680549a45b13e0e0a Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 15:42:19 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7e0c531613d343d23f064c24873bf5a498f6f4ce Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 12:26:49 2023 -0700 rm removeLoadCaps, removeNetLoadCaps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f2e88c6082e2d4605e9849348008bf4065401fc8 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 12:21:03 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b5939666188c0b94dfe957e22bbd8a92f4786125 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 11:36:16 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a435081bafe10260743319f53a59cbe2ed0388b7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:43:37 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit acfb247559db7b726d47f203613488df0f7add53 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:38:07 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7541b71da92ea15085615988a1e6ea1d4d53d8d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:00:55 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d033210132656ea68fa834228575b9def1d02d90 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:52:03 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ca6e9ecb7821b83ab024c4fee6df8f7fc8fc2ce2 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:38:12 2023 -0700 instance_pvt_maps_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 631e4209b596386f5818045d521784db5239f58d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:26:42 2023 -0700 rm GroupPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 059c32afa87617fff530c9afa1ef8005a136739d Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 20:07:44 2023 -0700 rm ClockIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c65fe873a6a6696220bbb44c4ecac87d5ca978ac Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 19:45:58 2023 -0700 rvo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ce15c9a0cc78915acddc2f03749573d989ae96d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 01:04:03 2023 +0000 leaks commit f97955a0c7e70b65ceb3f697ff47c0524a9b3cd4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 01:17:58 2023 +0000 leaks commit 7cdd65684adeb14e02827f5d93e7fab3b19af5dd Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 16:07:47 2023 -0700 leaks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ee97c7e50394a3927458e7ef09c5dbeb27719d15 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 11:52:48 2023 -0700 swig rm Tmp collections Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c49935da8704e41459280971b7645fccd97e3d13 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 11:18:36 2023 -0700 swig rm Tmp types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4320b00ce700914843006f592126cd8cc1c4657a Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:55:10 2023 -0700 swig rm TmpPinSet, TmpPinSeq Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ff6004910980c9b09b41f63a553a4481404cc539 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:45:06 2023 -0700 swig rm Tmp collections Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9a5bf5c1a3e5a6d2996b3ab327fa2f3015f2ff20 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:15:29 2023 -0700 swig rm one TmpPinSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f441116b56e23849485b2393b30e7086c33165a8 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 09:16:56 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 050b08df8618340b568d9cd41fd3d5f052e2c680 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 09:10:53 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be8c17f3a715ab53140748dc1d94698209965cf9 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 08:59:06 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e43b82f8fb52eaeda90e3c7e76cf350ae6735ebd Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 18:57:49 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8db56209de7805ac2574fd2f76170bf68afd156d Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 18:08:54 2023 -0700 GroupPathSet net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cb7917f9827c2ea3afebd735cd4508405a0d77d4 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 12:00:15 2023 -0700 DataCheckLess net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d9da3c62d7a76699c6ad62cebb1f5c39f89722fa Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 11:42:27 2023 -0700 rm hashPtr uses Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5bbea162bb1e023aba813598c7992c740ddf9d0b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 11:30:12 2023 -0700 EdgePins has use net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df38405e2ebaabdd7bbf99f3b19d78b25bd95720 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 09:51:38 2023 -0700 ExceptionPath hash use net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9a6dcfa54c54c9f50b14248a2449c70c20a0d977 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:56:49 2023 -0700 ClockInsertion, ClockLatency net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dbb6dc0b8c93812458df31e93f08e0dbd74e8105 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:34:03 2023 -0700 ExceptionStateSet obj id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b8721c48ec0816289ee09b664c332ee095875f Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:14:37 2023 -0700 ClockGroups cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4c6c4ca191a99cd8541e106fec3202ee14968f39 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 07:38:17 2023 -0700 ClockGroup typedef to ClockSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 66f425315e16deee5f00b05c0a505766e7afbf01 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 20:32:38 2023 -0700 set cmps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a94866c7828af5b6714e3e4fffc13bdaf5155c0e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 19:08:09 2023 -0700 net use id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6348320908f42ebb5262117182e13d0024f65537 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 11:52:13 2023 -0700 exception id cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0edfca41b6d6408ac17f8dfe10e697c55146c1ef Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 10:47:02 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 44ad77985da9f0b9e7f4780e3f233c8d94fa7db7 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 08:27:58 2023 -0700 non-ptr set cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36de7d88c3fa683465604a9e16b2fc1f6bc5fdd0 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 08:00:54 2023 -0700 range iteration Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4a31a2c8d9bdae58b09af8c05a64702ea3ac6c15 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 16:43:54 2023 -0700 tcl types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 056a7447b494a4c8ecc9764650d78a5bed3d87e8 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 16:10:36 2023 -0700 tcl types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 97239554c7625ba50ee729260f08eda7dec02365 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 13:10:42 2023 -0700 use RVO Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c3247d8937d483102e3e1f2b69d7ac1d331ba9d4 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 22:41:20 2023 -0700 swig template seq's Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5431c06feb256adb46858819fcf5d513cfa6b5ec Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 20:50:24 2023 -0700 swig set in template Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 592ad641bf01d3beb862314a0d8986f66e258642 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 17:27:25 2023 -0700 network return containers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c95f8b77e0d6bd5ffa5ba8102413c70883c756e1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:15:37 2023 -0700 PinSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 702e7f9ba2f901066a38f32e67b35602b6c7bbdf Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:02:29 2023 -0700 InstanceSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 44fc25ba4a15e4ae570d74af27c9435872a126e0 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:01:45 2023 -0700 NetSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03b2725c81f5d52c33c875b55056c11d482144f1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 11:33:18 2023 -0700 rm PortPair Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3fb82a7344dc053171c9883a113764ba691ab827 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 11:20:53 2023 -0700 PinSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3dd31f027e15d40d62a11d0a88ef2a115f01fb73 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 15:03:33 2023 -0700 InstanceSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a91dea5cc0af3bede36b3faed13adb05239ff907 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 11:40:15 2023 -0700 NetSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b91e4b6410134eccae7969ddcfb0b27933b2e746 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:44:47 2023 -0700 CellSet, PortSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6f891f77fae5a6b19c1454a1a4b4e3dfae0b5c50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:29:25 2023 -0700 network object sets Signed-off-by: James Cherry <cherry@parallaxsw.com> commit eb8c627a57ecc6e7c5846a01d62b090ff91c08bf Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:09:00 2023 -0700 PinSet1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8e864ecbdf87000fbb3c3097c39f06173c941e35 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 7 17:13:03 2023 -0700 concrete network object id Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2023-01-19 19:23:45 +01:00
const Clock *tgt_clk = path_end->targetClk(this);
2018-09-28 17:54:21 +02:00
if (tgt_clk
&& !path_delay->ignoreClkLatency())
return findPathGroup(tgt_clk, min_max);
else
return path_delay_[mm_index];
}
else {
report_->critical(1390, "unknown path end type");
2019-03-13 01:25:53 +01:00
return nullptr;
2018-09-28 17:54:21 +02:00
}
}
GroupPath *
PathGroups::groupPathTo(const PathEnd *path_end) const
{
const Path *path = path_end->path();
const Pin *pin = path->pin(this);
ExceptionPath *exception =
2019-03-13 01:25:53 +01:00
search_->exceptionTo(ExceptionPathType::group_path, path,
2018-09-28 17:54:21 +02:00
pin, path->transition(this),
path_end->targetClkEdge(this),
path->minMax(this), false, false);
return dynamic_cast<GroupPath*>(exception);
}
void
PathGroups::pushGroupPathEnds(PathEndSeq &path_ends)
2018-09-28 17:54:21 +02:00
{
2019-07-18 15:19:00 +02:00
for (auto min_max : MinMax::range()) {
2018-09-28 17:54:21 +02:00
int mm_index = min_max->index();
Network::id for maps/sets commit be70d30ae05665021254b0d7e69fb8d2f0a82890 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 17:04:49 2023 -0700 cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4d4ef96948afe3d6a00c4521aeb5bc74274f5737 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 16:08:50 2023 -0700 rvo, const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bb584e4264af2bea867b17d07e8d38c0e9eb0025 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 15:05:00 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a08fe558bca6b769b2728882258bd85aed990a27 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:57:33 2023 -0700 LibertyPortPair no ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4d3bd60c109d1ce9d0589d746f4968fa7bebd90d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:13:07 2023 -0700 cleanup Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dc25ff77771cfbe26f9318bad2b3c45879614783 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:06:13 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 06e81586ce11a0cc06948ed78fef99353077d69e Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:01:10 2023 -0700 sortByName Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9d8592aff5b246f83e47e1b94490e3cef8d8e119 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 11:57:17 2023 -0700 sort pred Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 462a8e14df8b561ddfc842addc62c4b8435b6347 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 11:09:57 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 69f71505b684e88b22d395510429497e87bf1015 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 10:45:14 2023 -0700 flush ConstPortSeq Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6429d578b78eac3fe7e99fcd67a120789932b2eb Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 09:19:15 2023 -0700 rm ConstNetSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f247930b16e40560b957a36af68947249ed1ef04 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 08:50:50 2023 -0700 sortPathNames Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4ca2b0e0af7252c7bcbc65cf141d0ce40634d329 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 10:14:05 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3d18640d2ebc4aae3098c7e7242a554fcb64fd42 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 09:41:27 2023 -0700 set_input/ouput_delay -reference_pin Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d4a0854dd2102f46f96a94fb9eb8749f1593a85f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 09:13:46 2023 -0700 PinPairSet no malloc Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a6f1583fc6a856c5ecc0dcb15a1d8b1f61e30718 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 08:53:33 2023 -0700 no malloc for EdgePins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c8e4b92e8b619109d6aa3c141c720646067ccb4b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 06:31:08 2023 +0000 leak commit abab99e0fc3e466d914f6c1705aa08cdc204df51 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 06:07:36 2023 +0000 leaks commit d1913b554bb6e98b89673d80d2295f552eb4ffca Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 19:48:39 2023 -0700 LibertyCell::checkCornerCell Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bcc172237d48deed647374f9592bac70bd2d5425 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 18:19:47 2023 -0700 rvo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8ef9800b87f5e5548055a13afc21397f28a6bcf7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 18:07:46 2023 -0700 sdc net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d7235abed04ced4e2d84e91bf9968e621268567d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 16:00:27 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a22f91a3c54c644574339d1126821d9bc8045bd6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 15:52:50 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 762615ce3de91d950eeaaa4680549a45b13e0e0a Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 15:42:19 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7e0c531613d343d23f064c24873bf5a498f6f4ce Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 12:26:49 2023 -0700 rm removeLoadCaps, removeNetLoadCaps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f2e88c6082e2d4605e9849348008bf4065401fc8 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 12:21:03 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b5939666188c0b94dfe957e22bbd8a92f4786125 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 11:36:16 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a435081bafe10260743319f53a59cbe2ed0388b7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:43:37 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit acfb247559db7b726d47f203613488df0f7add53 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:38:07 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7541b71da92ea15085615988a1e6ea1d4d53d8d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:00:55 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d033210132656ea68fa834228575b9def1d02d90 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:52:03 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ca6e9ecb7821b83ab024c4fee6df8f7fc8fc2ce2 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:38:12 2023 -0700 instance_pvt_maps_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 631e4209b596386f5818045d521784db5239f58d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:26:42 2023 -0700 rm GroupPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 059c32afa87617fff530c9afa1ef8005a136739d Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 20:07:44 2023 -0700 rm ClockIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c65fe873a6a6696220bbb44c4ecac87d5ca978ac Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 19:45:58 2023 -0700 rvo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ce15c9a0cc78915acddc2f03749573d989ae96d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 01:04:03 2023 +0000 leaks commit f97955a0c7e70b65ceb3f697ff47c0524a9b3cd4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 01:17:58 2023 +0000 leaks commit 7cdd65684adeb14e02827f5d93e7fab3b19af5dd Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 16:07:47 2023 -0700 leaks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ee97c7e50394a3927458e7ef09c5dbeb27719d15 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 11:52:48 2023 -0700 swig rm Tmp collections Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c49935da8704e41459280971b7645fccd97e3d13 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 11:18:36 2023 -0700 swig rm Tmp types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4320b00ce700914843006f592126cd8cc1c4657a Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:55:10 2023 -0700 swig rm TmpPinSet, TmpPinSeq Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ff6004910980c9b09b41f63a553a4481404cc539 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:45:06 2023 -0700 swig rm Tmp collections Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9a5bf5c1a3e5a6d2996b3ab327fa2f3015f2ff20 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:15:29 2023 -0700 swig rm one TmpPinSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f441116b56e23849485b2393b30e7086c33165a8 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 09:16:56 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 050b08df8618340b568d9cd41fd3d5f052e2c680 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 09:10:53 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be8c17f3a715ab53140748dc1d94698209965cf9 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 08:59:06 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e43b82f8fb52eaeda90e3c7e76cf350ae6735ebd Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 18:57:49 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8db56209de7805ac2574fd2f76170bf68afd156d Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 18:08:54 2023 -0700 GroupPathSet net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cb7917f9827c2ea3afebd735cd4508405a0d77d4 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 12:00:15 2023 -0700 DataCheckLess net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d9da3c62d7a76699c6ad62cebb1f5c39f89722fa Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 11:42:27 2023 -0700 rm hashPtr uses Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5bbea162bb1e023aba813598c7992c740ddf9d0b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 11:30:12 2023 -0700 EdgePins has use net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df38405e2ebaabdd7bbf99f3b19d78b25bd95720 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 09:51:38 2023 -0700 ExceptionPath hash use net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9a6dcfa54c54c9f50b14248a2449c70c20a0d977 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:56:49 2023 -0700 ClockInsertion, ClockLatency net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dbb6dc0b8c93812458df31e93f08e0dbd74e8105 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:34:03 2023 -0700 ExceptionStateSet obj id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b8721c48ec0816289ee09b664c332ee095875f Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:14:37 2023 -0700 ClockGroups cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4c6c4ca191a99cd8541e106fec3202ee14968f39 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 07:38:17 2023 -0700 ClockGroup typedef to ClockSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 66f425315e16deee5f00b05c0a505766e7afbf01 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 20:32:38 2023 -0700 set cmps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a94866c7828af5b6714e3e4fffc13bdaf5155c0e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 19:08:09 2023 -0700 net use id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6348320908f42ebb5262117182e13d0024f65537 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 11:52:13 2023 -0700 exception id cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0edfca41b6d6408ac17f8dfe10e697c55146c1ef Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 10:47:02 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 44ad77985da9f0b9e7f4780e3f233c8d94fa7db7 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 08:27:58 2023 -0700 non-ptr set cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36de7d88c3fa683465604a9e16b2fc1f6bc5fdd0 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 08:00:54 2023 -0700 range iteration Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4a31a2c8d9bdae58b09af8c05a64702ea3ac6c15 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 16:43:54 2023 -0700 tcl types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 056a7447b494a4c8ecc9764650d78a5bed3d87e8 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 16:10:36 2023 -0700 tcl types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 97239554c7625ba50ee729260f08eda7dec02365 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 13:10:42 2023 -0700 use RVO Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c3247d8937d483102e3e1f2b69d7ac1d331ba9d4 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 22:41:20 2023 -0700 swig template seq's Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5431c06feb256adb46858819fcf5d513cfa6b5ec Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 20:50:24 2023 -0700 swig set in template Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 592ad641bf01d3beb862314a0d8986f66e258642 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 17:27:25 2023 -0700 network return containers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c95f8b77e0d6bd5ffa5ba8102413c70883c756e1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:15:37 2023 -0700 PinSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 702e7f9ba2f901066a38f32e67b35602b6c7bbdf Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:02:29 2023 -0700 InstanceSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 44fc25ba4a15e4ae570d74af27c9435872a126e0 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:01:45 2023 -0700 NetSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03b2725c81f5d52c33c875b55056c11d482144f1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 11:33:18 2023 -0700 rm PortPair Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3fb82a7344dc053171c9883a113764ba691ab827 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 11:20:53 2023 -0700 PinSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3dd31f027e15d40d62a11d0a88ef2a115f01fb73 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 15:03:33 2023 -0700 InstanceSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a91dea5cc0af3bede36b3faed13adb05239ff907 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 11:40:15 2023 -0700 NetSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b91e4b6410134eccae7969ddcfb0b27933b2e746 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:44:47 2023 -0700 CellSet, PortSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6f891f77fae5a6b19c1454a1a4b4e3dfae0b5c50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:29:25 2023 -0700 network object sets Signed-off-by: James Cherry <cherry@parallaxsw.com> commit eb8c627a57ecc6e7c5846a01d62b090ff91c08bf Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:09:00 2023 -0700 PinSet1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8e864ecbdf87000fbb3c3097c39f06173c941e35 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 7 17:13:03 2023 -0700 concrete network object id Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2023-01-19 19:23:45 +01:00
for (auto name_group : sdc_->groupPaths()) {
const char *name = name_group.first;
2018-09-28 17:54:21 +02:00
PathGroup *path_group = findPathGroup(name, min_max);
if (path_group)
path_group->pushEnds(path_ends);
}
if (async_[mm_index])
async_[mm_index]->pushEnds(path_ends);
if (gated_clk_[mm_index])
gated_clk_[mm_index]->pushEnds(path_ends);
if (path_delay_[mm_index])
path_delay_[mm_index]->pushEnds(path_ends);
ClockSeq clks;
sdc_->sortedClocks(clks);
ClockSeq::Iterator clk_iter(clks);
while (clk_iter.hasNext()) {
Clock *clk = clk_iter.next();
PathGroup *path_group = findPathGroup(clk, min_max);
if (path_group)
path_group->pushEnds(path_ends);
}
}
}
void
PathGroups::pushUnconstrainedPathEnds(PathEndSeq &path_ends,
2018-09-28 17:54:21 +02:00
const MinMaxAll *min_max)
{
Set<PathGroup *> groups;
2019-07-18 15:19:00 +02:00
for (auto path_ap : corners_->pathAnalysisPts()) {
2018-09-28 17:54:21 +02:00
const MinMax *path_min_max = path_ap->pathMinMax();
if (min_max->matches(path_min_max)) {
int mm_index = path_min_max->index();
PathGroup *group = unconstrained_[mm_index];
if (group
// For multiple corner path APs use the same group.
// Only report it once.
&& !groups.findKey(group)) {
group->pushEnds(path_ends);
groups.insert(group);
}
}
}
}
////////////////////////////////////////////////////////////////
typedef Map<PathGroup*, PathEnd*> PathGroupEndMap;
typedef Map<PathGroup*, PathEndSeq*> PathGroupEndsMap;
typedef Set<PathEnd*, PathEndNoCrprLess> PathEndNoCrprSet;
static bool
exceptionToEmpty(ExceptionTo *to);
PathEndSeq
2018-09-28 17:54:21 +02:00
PathGroups::makePathEnds(ExceptionTo *to,
2019-01-06 01:09:27 +01:00
bool unconstrained_paths,
2018-09-28 17:54:21 +02:00
const Corner *corner,
const MinMaxAll *min_max,
bool sort_by_slack)
{
2020-12-29 19:33:22 +01:00
Stats stats(debug_, report_);
makeGroupPathEnds(to, group_path_count_, endpoint_path_count_, unique_pins_,
2019-01-06 01:09:27 +01:00
corner, min_max);
2018-09-28 17:54:21 +02:00
PathEndSeq path_ends;
2018-09-28 17:54:21 +02:00
pushGroupPathEnds(path_ends);
if (sort_by_slack) {
sort(path_ends, PathEndLess(this));
}
2019-01-06 01:09:27 +01:00
if (unconstrained_paths
&& path_ends.empty())
2018-09-28 17:54:21 +02:00
// No constrained paths, so report unconstrained paths.
pushUnconstrainedPathEnds(path_ends, min_max);
stats.report("Make path ends");
return path_ends;
}
////////////////////////////////////////////////////////////////
// Visit each path end for a vertex and add the worst one in each
// path group to the group.
class MakePathEnds1 : public PathEndVisitor
{
public:
MakePathEnds1(PathGroups *path_groups);
MakePathEnds1(const MakePathEnds1&) = default;
virtual PathEndVisitor *copy() const;
2018-09-28 17:54:21 +02:00
virtual void visit(PathEnd *path_end);
virtual void vertexEnd(Vertex *vertex);
private:
void visitPathEnd(PathEnd *path_end,
PathGroup *group);
PathGroups *path_groups_;
PathGroupEndMap ends_;
PathEndLess cmp_;
};
MakePathEnds1::MakePathEnds1(PathGroups *path_groups) :
path_groups_(path_groups),
cmp_(path_groups)
{
2018-09-28 17:54:21 +02:00
}
PathEndVisitor *
MakePathEnds1::copy() const
2018-09-28 17:54:21 +02:00
{
return new MakePathEnds1(*this);
2018-09-28 17:54:21 +02:00
}
void
MakePathEnds1::visit(PathEnd *path_end)
{
PathGroup *group = path_groups_->pathGroup(path_end);
if (group)
visitPathEnd(path_end, group);
}
void
MakePathEnds1::visitPathEnd(PathEnd *path_end,
PathGroup *group)
{
if (group->saveable(path_end)) {
2018-09-28 17:54:21 +02:00
// Only keep the path end with the smallest slack/latest arrival.
PathEnd *worst_end = ends_.findKey(group);
if (worst_end) {
if (cmp_(path_end, worst_end)) {
ends_[group] = path_end->copy();
delete worst_end;
}
}
else
ends_[group] = path_end->copy();
}
}
// Save the worst end for each path group.
void
MakePathEnds1::vertexEnd(Vertex *)
{
PathGroupEndMap::Iterator group_iter(ends_);
while (group_iter.hasNext()) {
PathGroup *group;
PathEnd *end;
group_iter.next(group, end);
// visitPathEnd already confirmed slack is saveable.
2018-09-28 17:54:21 +02:00
if (end) {
group->insert(end);
// Clear ends_ for next vertex.
2019-03-13 01:25:53 +01:00
ends_[group] = nullptr;
2018-09-28 17:54:21 +02:00
}
}
}
////////////////////////////////////////////////////////////////
// Visit each path end and add it to the corresponding path group.
// After collecting the ends do parallel path enumeration to find the
// path ends for the group.
class MakePathEndsAll : public PathEndVisitor
{
public:
MakePathEndsAll(int endpoint_path_count,
PathGroups *path_groups);
MakePathEndsAll(const MakePathEndsAll&) = default;
2018-09-28 17:54:21 +02:00
virtual ~MakePathEndsAll();
virtual PathEndVisitor *copy() const;
2018-09-28 17:54:21 +02:00
virtual void visit(PathEnd *path_end);
virtual void vertexEnd(Vertex *vertex);
private:
void visitPathEnd(PathEnd *path_end,
PathGroup *group);
int endpoint_path_count_;
2018-09-28 17:54:21 +02:00
PathGroups *path_groups_;
const StaState *sta_;
PathGroupEndsMap ends_;
PathEndSlackLess slack_cmp_;
PathEndNoCrprLess path_no_crpr_cmp_;
};
MakePathEndsAll::MakePathEndsAll(int endpoint_path_count,
2018-09-28 17:54:21 +02:00
PathGroups *path_groups) :
endpoint_path_count_(endpoint_path_count),
2018-09-28 17:54:21 +02:00
path_groups_(path_groups),
sta_(path_groups),
slack_cmp_(path_groups),
path_no_crpr_cmp_(path_groups)
{
}
PathEndVisitor *
MakePathEndsAll::copy() const
2018-09-28 17:54:21 +02:00
{
return new MakePathEndsAll(*this);
2018-09-28 17:54:21 +02:00
}
MakePathEndsAll::~MakePathEndsAll()
{
PathGroupEndsMap::Iterator group_iter(ends_);
while (group_iter.hasNext()) {
PathGroup *group;
PathEndSeq *ends;
group_iter.next(group, ends);
delete ends;
}
}
void
MakePathEndsAll::visit(PathEnd *path_end)
{
PathGroup *group = path_groups_->pathGroup(path_end);
if (group)
visitPathEnd(path_end, group);
}
void
MakePathEndsAll::visitPathEnd(PathEnd *path_end,
PathGroup *group)
{
PathEndSeq *ends = ends_.findKey(group);
2019-03-13 01:25:53 +01:00
if (ends == nullptr) {
2018-09-28 17:54:21 +02:00
ends = new PathEndSeq;
ends_[group] = ends;
}
ends->push_back(path_end->copy());
}
void
MakePathEndsAll::vertexEnd(Vertex *)
{
Debug *debug = sta_->debug();
PathGroupEndsMap::Iterator group_iter(ends_);
while (group_iter.hasNext()) {
PathGroup *group;
PathEndSeq *ends;
group_iter.next(group, ends);
if (ends) {
sort(ends, slack_cmp_);
PathEndNoCrprSet unique_ends(path_no_crpr_cmp_);
PathEndSeq::Iterator end_iter(ends);
int n = 0;
while (end_iter.hasNext()
&& n < endpoint_path_count_) {
2018-09-28 17:54:21 +02:00
PathEnd *path_end = end_iter.next();
// Only save the worst path end for each crpr tag.
// PathEnum will peel the others.
if (!unique_ends.hasKey(path_end)) {
debugPrint(debug, "path_group", 2, "insert %s %s %s %d",
name, asString -> to_string, const commit d122d05822e02dcc08c665ac6ec7513791dd7209 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 27 08:58:22 2025 -0700 rebase Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9c7ae9a7ddd885ebdab102d48b3f39dc5dacf948 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:21:52 2025 -0700 write_spice8 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2bd088f03bb2e414305232d9ebd76c9d1958ec81 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 10:08:00 2025 -0700 liberty reader stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 86974caf063433b37ed1378e7103db4b2e55a04c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 20:25:39 2025 -0700 ConcreteLiberary/Cell/Port use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 334476e185149a90b35cdd859e0a760ec9aa242a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 20:16:08 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5130e8d44804f483d9099d48bb413a7f3362b4e1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 15:57:14 2025 -0700 liberty parser stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d48eba88cbde9093e3eb12bcee8eb48ccd444434 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 11:16:04 2025 -0700 stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6913fb198d642f6b05a94fb1852064706a748b81 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 11:06:17 2025 -0700 stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371bca08ecf9bf816b7adcbb7ae1458c4073f5f8 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 10:44:31 2025 -0700 TableTemplate use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 326465920a1f4a33dbe6be35cff5ca2245b6677e Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 09:04:55 2025 -0700 use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b93a542ddfbcb5c793c9b533cbe64ea20ec08f4a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 08:59:01 2025 -0700 timingSenseString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c121a0ff4231b37df076a62e83832897be62ff4 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 16:09:47 2025 -0700 Corner use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07b989a5a43bf5d341aa6ba2880be663997577d5 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 16:05:43 2025 -0700 Tag::to_string() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0b9480cc5a3fa9ef0cb1c6e8ba0d4a29de2df816 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 15:53:29 2025 -0700 PathAnalysisPt::to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a028659091e99270f7501615285730681ed59523 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:19:03 2025 -0700 TimingRole stati alloc Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 495be6a57bda23d82e511282f5db7c188b32971b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 21:36:52 2025 -0700 RiseFall/RiseFallBoth/Transition const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4c4b28adb383321b1172f4b774c7c4d9a1aee69f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 20:38:26 2025 -0700 TimingRole const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 54ab58ec7200d420bf3b5e709e74b652af88d508 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 14:15:07 2025 -0700 const MinMax Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f70bb38df17b2ed758c7b6ba5647b7355366c0c0 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 13:14:31 2025 -0700 Transition::to_string(() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b3f3d67328194351fb8efac2219bcfbcec331552 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 12:33:25 2025 -0700 RiseFall::to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4046f8a376926dfde980860c51d2c5c70cf4a867 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 20 09:04:10 2025 -0700 TimingRole::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cf4dd918eccb05d459f1804ced8365c81a5c6a50 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 20:14:42 2025 -0700 MinMax::asString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d80118117dda25be7b2b4896f19e955645c27f73 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 17:43:08 2025 -0700 TimingRole::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 284fa25c28aca998e8ce92e7b7bb927697494a13 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 17:02:27 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 646f19749b997e03dc4cbdf165cd7637010276d3 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 14:47:40 2025 -0700 FuncExpr::asString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4f73d8e7ad21feac6f41130b7b070f3e345b6fb5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 14:04:13 2025 -0700 Vertex::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7c7ec486aaea86f6607a1ef72bb1a74dca603831 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 13:39:24 2025 -0700 Vertex::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-31 00:27:53 +02:00
path_end->vertex(sta_)->to_string(sta_).c_str(),
2021-01-01 20:46:51 +01:00
path_end->typeName(),
name, asString -> to_string, const commit d122d05822e02dcc08c665ac6ec7513791dd7209 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 27 08:58:22 2025 -0700 rebase Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9c7ae9a7ddd885ebdab102d48b3f39dc5dacf948 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:21:52 2025 -0700 write_spice8 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2bd088f03bb2e414305232d9ebd76c9d1958ec81 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 10:08:00 2025 -0700 liberty reader stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 86974caf063433b37ed1378e7103db4b2e55a04c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 20:25:39 2025 -0700 ConcreteLiberary/Cell/Port use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 334476e185149a90b35cdd859e0a760ec9aa242a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 20:16:08 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5130e8d44804f483d9099d48bb413a7f3362b4e1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 15:57:14 2025 -0700 liberty parser stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d48eba88cbde9093e3eb12bcee8eb48ccd444434 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 11:16:04 2025 -0700 stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6913fb198d642f6b05a94fb1852064706a748b81 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 11:06:17 2025 -0700 stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371bca08ecf9bf816b7adcbb7ae1458c4073f5f8 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 10:44:31 2025 -0700 TableTemplate use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 326465920a1f4a33dbe6be35cff5ca2245b6677e Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 09:04:55 2025 -0700 use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b93a542ddfbcb5c793c9b533cbe64ea20ec08f4a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 08:59:01 2025 -0700 timingSenseString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c121a0ff4231b37df076a62e83832897be62ff4 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 16:09:47 2025 -0700 Corner use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07b989a5a43bf5d341aa6ba2880be663997577d5 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 16:05:43 2025 -0700 Tag::to_string() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0b9480cc5a3fa9ef0cb1c6e8ba0d4a29de2df816 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 15:53:29 2025 -0700 PathAnalysisPt::to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a028659091e99270f7501615285730681ed59523 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:19:03 2025 -0700 TimingRole stati alloc Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 495be6a57bda23d82e511282f5db7c188b32971b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 21:36:52 2025 -0700 RiseFall/RiseFallBoth/Transition const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4c4b28adb383321b1172f4b774c7c4d9a1aee69f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 20:38:26 2025 -0700 TimingRole const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 54ab58ec7200d420bf3b5e709e74b652af88d508 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 14:15:07 2025 -0700 const MinMax Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f70bb38df17b2ed758c7b6ba5647b7355366c0c0 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 13:14:31 2025 -0700 Transition::to_string(() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b3f3d67328194351fb8efac2219bcfbcec331552 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 12:33:25 2025 -0700 RiseFall::to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4046f8a376926dfde980860c51d2c5c70cf4a867 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 20 09:04:10 2025 -0700 TimingRole::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cf4dd918eccb05d459f1804ced8365c81a5c6a50 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 20:14:42 2025 -0700 MinMax::asString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d80118117dda25be7b2b4896f19e955645c27f73 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 17:43:08 2025 -0700 TimingRole::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 284fa25c28aca998e8ce92e7b7bb927697494a13 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 17:02:27 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 646f19749b997e03dc4cbdf165cd7637010276d3 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 14:47:40 2025 -0700 FuncExpr::asString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4f73d8e7ad21feac6f41130b7b070f3e345b6fb5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 14:04:13 2025 -0700 Vertex::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7c7ec486aaea86f6607a1ef72bb1a74dca603831 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 13:39:24 2025 -0700 Vertex::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-31 00:27:53 +02:00
path_end->transition(sta_)->to_string().c_str(),
2021-01-01 20:46:51 +01:00
path_end->path()->tag(sta_)->index());
2018-09-28 17:54:21 +02:00
// Give the group a copy of the path end because
// it may delete it during pruning.
if (group->saveable(path_end)
|| group->enumMinSlackUnderMin(path_end)) {
2018-09-28 17:54:21 +02:00
group->insert(path_end->copy());
unique_ends.insert(path_end);
n++;
}
}
else
debugPrint(debug, "path_group", 3, "prune %s %s %s %d",
name, asString -> to_string, const commit d122d05822e02dcc08c665ac6ec7513791dd7209 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 27 08:58:22 2025 -0700 rebase Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9c7ae9a7ddd885ebdab102d48b3f39dc5dacf948 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:21:52 2025 -0700 write_spice8 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2bd088f03bb2e414305232d9ebd76c9d1958ec81 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 10:08:00 2025 -0700 liberty reader stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 86974caf063433b37ed1378e7103db4b2e55a04c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 20:25:39 2025 -0700 ConcreteLiberary/Cell/Port use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 334476e185149a90b35cdd859e0a760ec9aa242a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 20:16:08 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5130e8d44804f483d9099d48bb413a7f3362b4e1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 15:57:14 2025 -0700 liberty parser stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d48eba88cbde9093e3eb12bcee8eb48ccd444434 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 11:16:04 2025 -0700 stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6913fb198d642f6b05a94fb1852064706a748b81 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 11:06:17 2025 -0700 stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371bca08ecf9bf816b7adcbb7ae1458c4073f5f8 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 10:44:31 2025 -0700 TableTemplate use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 326465920a1f4a33dbe6be35cff5ca2245b6677e Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 09:04:55 2025 -0700 use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b93a542ddfbcb5c793c9b533cbe64ea20ec08f4a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 08:59:01 2025 -0700 timingSenseString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c121a0ff4231b37df076a62e83832897be62ff4 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 16:09:47 2025 -0700 Corner use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07b989a5a43bf5d341aa6ba2880be663997577d5 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 16:05:43 2025 -0700 Tag::to_string() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0b9480cc5a3fa9ef0cb1c6e8ba0d4a29de2df816 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 15:53:29 2025 -0700 PathAnalysisPt::to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a028659091e99270f7501615285730681ed59523 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:19:03 2025 -0700 TimingRole stati alloc Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 495be6a57bda23d82e511282f5db7c188b32971b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 21:36:52 2025 -0700 RiseFall/RiseFallBoth/Transition const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4c4b28adb383321b1172f4b774c7c4d9a1aee69f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 20:38:26 2025 -0700 TimingRole const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 54ab58ec7200d420bf3b5e709e74b652af88d508 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 14:15:07 2025 -0700 const MinMax Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f70bb38df17b2ed758c7b6ba5647b7355366c0c0 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 13:14:31 2025 -0700 Transition::to_string(() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b3f3d67328194351fb8efac2219bcfbcec331552 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 12:33:25 2025 -0700 RiseFall::to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4046f8a376926dfde980860c51d2c5c70cf4a867 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 20 09:04:10 2025 -0700 TimingRole::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cf4dd918eccb05d459f1804ced8365c81a5c6a50 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 20:14:42 2025 -0700 MinMax::asString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d80118117dda25be7b2b4896f19e955645c27f73 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 17:43:08 2025 -0700 TimingRole::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 284fa25c28aca998e8ce92e7b7bb927697494a13 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 17:02:27 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 646f19749b997e03dc4cbdf165cd7637010276d3 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 14:47:40 2025 -0700 FuncExpr::asString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4f73d8e7ad21feac6f41130b7b070f3e345b6fb5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 14:04:13 2025 -0700 Vertex::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7c7ec486aaea86f6607a1ef72bb1a74dca603831 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 13:39:24 2025 -0700 Vertex::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-31 00:27:53 +02:00
path_end->vertex(sta_)->to_string(sta_).c_str(),
2021-01-01 20:46:51 +01:00
path_end->typeName(),
name, asString -> to_string, const commit d122d05822e02dcc08c665ac6ec7513791dd7209 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 27 08:58:22 2025 -0700 rebase Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9c7ae9a7ddd885ebdab102d48b3f39dc5dacf948 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 16:21:52 2025 -0700 write_spice8 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 2bd088f03bb2e414305232d9ebd76c9d1958ec81 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Mar 25 10:08:00 2025 -0700 liberty reader stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 86974caf063433b37ed1378e7103db4b2e55a04c Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 20:25:39 2025 -0700 ConcreteLiberary/Cell/Port use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 334476e185149a90b35cdd859e0a760ec9aa242a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 20:16:08 2025 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5130e8d44804f483d9099d48bb413a7f3362b4e1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 15:57:14 2025 -0700 liberty parser stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d48eba88cbde9093e3eb12bcee8eb48ccd444434 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 11:16:04 2025 -0700 stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6913fb198d642f6b05a94fb1852064706a748b81 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 11:06:17 2025 -0700 stringify Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 371bca08ecf9bf816b7adcbb7ae1458c4073f5f8 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 10:44:31 2025 -0700 TableTemplate use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 326465920a1f4a33dbe6be35cff5ca2245b6677e Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 09:04:55 2025 -0700 use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b93a542ddfbcb5c793c9b533cbe64ea20ec08f4a Author: James Cherry <cherry@parallaxsw.com> Date: Mon Mar 24 08:59:01 2025 -0700 timingSenseString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6c121a0ff4231b37df076a62e83832897be62ff4 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 16:09:47 2025 -0700 Corner use string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 07b989a5a43bf5d341aa6ba2880be663997577d5 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 16:05:43 2025 -0700 Tag::to_string() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0b9480cc5a3fa9ef0cb1c6e8ba0d4a29de2df816 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 15:53:29 2025 -0700 PathAnalysisPt::to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a028659091e99270f7501615285730681ed59523 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Mar 23 12:19:03 2025 -0700 TimingRole stati alloc Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 495be6a57bda23d82e511282f5db7c188b32971b Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 21:36:52 2025 -0700 RiseFall/RiseFallBoth/Transition const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4c4b28adb383321b1172f4b774c7c4d9a1aee69f Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 20:38:26 2025 -0700 TimingRole const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 54ab58ec7200d420bf3b5e709e74b652af88d508 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 14:15:07 2025 -0700 const MinMax Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f70bb38df17b2ed758c7b6ba5647b7355366c0c0 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 13:14:31 2025 -0700 Transition::to_string(() Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b3f3d67328194351fb8efac2219bcfbcec331552 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Mar 22 12:33:25 2025 -0700 RiseFall::to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4046f8a376926dfde980860c51d2c5c70cf4a867 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Mar 20 09:04:10 2025 -0700 TimingRole::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cf4dd918eccb05d459f1804ced8365c81a5c6a50 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 20:14:42 2025 -0700 MinMax::asString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d80118117dda25be7b2b4896f19e955645c27f73 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 17:43:08 2025 -0700 TimingRole::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 284fa25c28aca998e8ce92e7b7bb927697494a13 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 17:02:27 2025 -0700 comment Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 646f19749b997e03dc4cbdf165cd7637010276d3 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 14:47:40 2025 -0700 FuncExpr::asString -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4f73d8e7ad21feac6f41130b7b070f3e345b6fb5 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 14:04:13 2025 -0700 Vertex::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7c7ec486aaea86f6607a1ef72bb1a74dca603831 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Mar 19 13:39:24 2025 -0700 Vertex::name -> to_string Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2025-03-31 00:27:53 +02:00
path_end->transition(sta_)->to_string().c_str(),
2021-01-01 20:46:51 +01:00
path_end->path()->tag(sta_)->index());
2018-09-28 17:54:21 +02:00
}
// Clear ends for next vertex.
PathEndSeq::Iterator end_iter2(ends);
while (end_iter2.hasNext()) {
PathEnd *path_end = end_iter2.next();
delete path_end;
}
ends->clear();
}
}
}
////////////////////////////////////////////////////////////////
void
PathGroups::makeGroupPathEnds(ExceptionTo *to,
int group_path_count,
int endpoint_path_count,
2018-09-28 17:54:21 +02:00
bool unique_pins,
const Corner *corner,
const MinMaxAll *min_max)
{
if (endpoint_path_count == 1) {
2018-09-28 17:54:21 +02:00
MakePathEnds1 make_path_ends(this);
makeGroupPathEnds(to, corner, min_max, &make_path_ends);
}
else {
MakePathEndsAll make_path_ends(endpoint_path_count, this);
2018-09-28 17:54:21 +02:00
makeGroupPathEnds(to, corner, min_max, &make_path_ends);
2019-07-18 15:19:00 +02:00
for (auto path_min_max : MinMax::range()) {
2018-09-28 17:54:21 +02:00
int mm_index = path_min_max->index();
Network::id for maps/sets commit be70d30ae05665021254b0d7e69fb8d2f0a82890 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 17:04:49 2023 -0700 cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4d4ef96948afe3d6a00c4521aeb5bc74274f5737 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 16:08:50 2023 -0700 rvo, const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bb584e4264af2bea867b17d07e8d38c0e9eb0025 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 15:05:00 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a08fe558bca6b769b2728882258bd85aed990a27 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:57:33 2023 -0700 LibertyPortPair no ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4d3bd60c109d1ce9d0589d746f4968fa7bebd90d Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:13:07 2023 -0700 cleanup Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dc25ff77771cfbe26f9318bad2b3c45879614783 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:06:13 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 06e81586ce11a0cc06948ed78fef99353077d69e Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 14:01:10 2023 -0700 sortByName Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9d8592aff5b246f83e47e1b94490e3cef8d8e119 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 11:57:17 2023 -0700 sort pred Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 462a8e14df8b561ddfc842addc62c4b8435b6347 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 11:09:57 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 69f71505b684e88b22d395510429497e87bf1015 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 10:45:14 2023 -0700 flush ConstPortSeq Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6429d578b78eac3fe7e99fcd67a120789932b2eb Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 09:19:15 2023 -0700 rm ConstNetSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f247930b16e40560b957a36af68947249ed1ef04 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 17 08:50:50 2023 -0700 sortPathNames Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4ca2b0e0af7252c7bcbc65cf141d0ce40634d329 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 10:14:05 2023 -0700 const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3d18640d2ebc4aae3098c7e7242a554fcb64fd42 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 09:41:27 2023 -0700 set_input/ouput_delay -reference_pin Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d4a0854dd2102f46f96a94fb9eb8749f1593a85f Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 09:13:46 2023 -0700 PinPairSet no malloc Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a6f1583fc6a856c5ecc0dcb15a1d8b1f61e30718 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 08:53:33 2023 -0700 no malloc for EdgePins Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c8e4b92e8b619109d6aa3c141c720646067ccb4b Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 06:31:08 2023 +0000 leak commit abab99e0fc3e466d914f6c1705aa08cdc204df51 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 16 06:07:36 2023 +0000 leaks commit d1913b554bb6e98b89673d80d2295f552eb4ffca Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 19:48:39 2023 -0700 LibertyCell::checkCornerCell Signed-off-by: James Cherry <cherry@parallaxsw.com> commit bcc172237d48deed647374f9592bac70bd2d5425 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 18:19:47 2023 -0700 rvo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8ef9800b87f5e5548055a13afc21397f28a6bcf7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 18:07:46 2023 -0700 sdc net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d7235abed04ced4e2d84e91bf9968e621268567d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 16:00:27 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a22f91a3c54c644574339d1126821d9bc8045bd6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 15:52:50 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 762615ce3de91d950eeaaa4680549a45b13e0e0a Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 15:42:19 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7e0c531613d343d23f064c24873bf5a498f6f4ce Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 12:26:49 2023 -0700 rm removeLoadCaps, removeNetLoadCaps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f2e88c6082e2d4605e9849348008bf4065401fc8 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 12:21:03 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b5939666188c0b94dfe957e22bbd8a92f4786125 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 11:36:16 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a435081bafe10260743319f53a59cbe2ed0388b7 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:43:37 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit acfb247559db7b726d47f203613488df0f7add53 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:38:07 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 7541b71da92ea15085615988a1e6ea1d4d53d8d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 08:00:55 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d033210132656ea68fa834228575b9def1d02d90 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:52:03 2023 -0700 sdc rm map ptrs Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ca6e9ecb7821b83ab024c4fee6df8f7fc8fc2ce2 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:38:12 2023 -0700 instance_pvt_maps_ Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 631e4209b596386f5818045d521784db5239f58d Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 07:26:42 2023 -0700 rm GroupPathIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 059c32afa87617fff530c9afa1ef8005a136739d Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 20:07:44 2023 -0700 rm ClockIterator Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c65fe873a6a6696220bbb44c4ecac87d5ca978ac Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 19:45:58 2023 -0700 rvo Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ce15c9a0cc78915acddc2f03749573d989ae96d6 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 15 01:04:03 2023 +0000 leaks commit f97955a0c7e70b65ceb3f697ff47c0524a9b3cd4 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 14 01:17:58 2023 +0000 leaks commit 7cdd65684adeb14e02827f5d93e7fab3b19af5dd Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 16:07:47 2023 -0700 leaks Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ee97c7e50394a3927458e7ef09c5dbeb27719d15 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 11:52:48 2023 -0700 swig rm Tmp collections Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c49935da8704e41459280971b7645fccd97e3d13 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 11:18:36 2023 -0700 swig rm Tmp types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4320b00ce700914843006f592126cd8cc1c4657a Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:55:10 2023 -0700 swig rm TmpPinSet, TmpPinSeq Signed-off-by: James Cherry <cherry@parallaxsw.com> commit ff6004910980c9b09b41f63a553a4481404cc539 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:45:06 2023 -0700 swig rm Tmp collections Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9a5bf5c1a3e5a6d2996b3ab327fa2f3015f2ff20 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 10:15:29 2023 -0700 swig rm one TmpPinSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit f441116b56e23849485b2393b30e7086c33165a8 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 09:16:56 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 050b08df8618340b568d9cd41fd3d5f052e2c680 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 09:10:53 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit be8c17f3a715ab53140748dc1d94698209965cf9 Author: James Cherry <cherry@parallaxsw.com> Date: Fri Jan 13 08:59:06 2023 -0700 leak Signed-off-by: James Cherry <cherry@parallaxsw.com> commit e43b82f8fb52eaeda90e3c7e76cf350ae6735ebd Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 18:57:49 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8db56209de7805ac2574fd2f76170bf68afd156d Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 18:08:54 2023 -0700 GroupPathSet net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit cb7917f9827c2ea3afebd735cd4508405a0d77d4 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 12:00:15 2023 -0700 DataCheckLess net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit d9da3c62d7a76699c6ad62cebb1f5c39f89722fa Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 11:42:27 2023 -0700 rm hashPtr uses Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5bbea162bb1e023aba813598c7992c740ddf9d0b Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 11:30:12 2023 -0700 EdgePins has use net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit df38405e2ebaabdd7bbf99f3b19d78b25bd95720 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 09:51:38 2023 -0700 ExceptionPath hash use net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 9a6dcfa54c54c9f50b14248a2449c70c20a0d977 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:56:49 2023 -0700 ClockInsertion, ClockLatency net id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit dbb6dc0b8c93812458df31e93f08e0dbd74e8105 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:34:03 2023 -0700 ExceptionStateSet obj id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 70b8721c48ec0816289ee09b664c332ee095875f Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 08:14:37 2023 -0700 ClockGroups cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4c6c4ca191a99cd8541e106fec3202ee14968f39 Author: James Cherry <cherry@parallaxsw.com> Date: Thu Jan 12 07:38:17 2023 -0700 ClockGroup typedef to ClockSet Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 66f425315e16deee5f00b05c0a505766e7afbf01 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 20:32:38 2023 -0700 set cmps Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a94866c7828af5b6714e3e4fffc13bdaf5155c0e Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 19:08:09 2023 -0700 net use id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6348320908f42ebb5262117182e13d0024f65537 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 11:52:13 2023 -0700 exception id cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 0edfca41b6d6408ac17f8dfe10e697c55146c1ef Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 10:47:02 2023 -0700 range iter Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 44ad77985da9f0b9e7f4780e3f233c8d94fa7db7 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 08:27:58 2023 -0700 non-ptr set cmp Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 36de7d88c3fa683465604a9e16b2fc1f6bc5fdd0 Author: James Cherry <cherry@parallaxsw.com> Date: Wed Jan 11 08:00:54 2023 -0700 range iteration Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 4a31a2c8d9bdae58b09af8c05a64702ea3ac6c15 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 16:43:54 2023 -0700 tcl types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 056a7447b494a4c8ecc9764650d78a5bed3d87e8 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 16:10:36 2023 -0700 tcl types Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 97239554c7625ba50ee729260f08eda7dec02365 Author: James Cherry <cherry@parallaxsw.com> Date: Tue Jan 10 13:10:42 2023 -0700 use RVO Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c3247d8937d483102e3e1f2b69d7ac1d331ba9d4 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 22:41:20 2023 -0700 swig template seq's Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 5431c06feb256adb46858819fcf5d513cfa6b5ec Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 20:50:24 2023 -0700 swig set in template Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 592ad641bf01d3beb862314a0d8986f66e258642 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 17:27:25 2023 -0700 network return containers Signed-off-by: James Cherry <cherry@parallaxsw.com> commit c95f8b77e0d6bd5ffa5ba8102413c70883c756e1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:15:37 2023 -0700 PinSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 702e7f9ba2f901066a38f32e67b35602b6c7bbdf Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:02:29 2023 -0700 InstanceSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 44fc25ba4a15e4ae570d74af27c9435872a126e0 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 12:01:45 2023 -0700 NetSeq const Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 03b2725c81f5d52c33c875b55056c11d482144f1 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 11:33:18 2023 -0700 rm PortPair Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3fb82a7344dc053171c9883a113764ba691ab827 Author: James Cherry <cherry@parallaxsw.com> Date: Mon Jan 9 11:20:53 2023 -0700 PinSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 3dd31f027e15d40d62a11d0a88ef2a115f01fb73 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 15:03:33 2023 -0700 InstanceSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit a91dea5cc0af3bede36b3faed13adb05239ff907 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 11:40:15 2023 -0700 NetSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit b91e4b6410134eccae7969ddcfb0b27933b2e746 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:44:47 2023 -0700 CellSet, PortSet id Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 6f891f77fae5a6b19c1454a1a4b4e3dfae0b5c50 Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:29:25 2023 -0700 network object sets Signed-off-by: James Cherry <cherry@parallaxsw.com> commit eb8c627a57ecc6e7c5846a01d62b090ff91c08bf Author: James Cherry <cherry@parallaxsw.com> Date: Sun Jan 8 10:09:00 2023 -0700 PinSet1 Signed-off-by: James Cherry <cherry@parallaxsw.com> commit 8e864ecbdf87000fbb3c3097c39f06173c941e35 Author: James Cherry <cherry@parallaxsw.com> Date: Sat Jan 7 17:13:03 2023 -0700 concrete network object id Signed-off-by: James Cherry <cherry@parallaxsw.com> Signed-off-by: James Cherry <cherry@parallaxsw.com>
2023-01-19 19:23:45 +01:00
for (auto name_group : sdc_->groupPaths()) {
const char *name = name_group.first;
PathGroup *group = findPathGroup(name, path_min_max);
if (group)
enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true);
2018-09-28 17:54:21 +02:00
}
2019-03-13 01:25:53 +01:00
for (auto clk : sdc_->clks()) {
2018-09-28 17:54:21 +02:00
PathGroup *group = findPathGroup(clk, path_min_max);
if (group)
enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true);
2018-09-28 17:54:21 +02:00
}
PathGroup *group = unconstrained_[mm_index];
if (group)
enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, false);
2018-09-28 17:54:21 +02:00
group = path_delay_[mm_index];
if (group)
enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true);
2018-09-28 17:54:21 +02:00
group = gated_clk_[mm_index];
if (group)
enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true);
2018-09-28 17:54:21 +02:00
group = async_[mm_index];
if (group)
enumPathEnds(group, group_path_count, endpoint_path_count, unique_pins, true);
2018-09-28 17:54:21 +02:00
}
}
}
void
PathGroups::enumPathEnds(PathGroup *group,
int group_path_count,
int endpoint_path_count,
2018-09-28 17:54:21 +02:00
bool unique_pins,
2018-12-05 23:18:41 +01:00
bool cmp_slack)
2018-09-28 17:54:21 +02:00
{
// Insert the worst max_path path ends in the group into a path
// enumerator.
PathEnum path_enum(group_path_count, endpoint_path_count,
unique_pins, cmp_slack, this);
2018-09-28 17:54:21 +02:00
PathGroupIterator *end_iter = group->iterator();
while (end_iter->hasNext()) {
PathEnd *end = end_iter->next();
if (group->saveable(end)
|| group->enumMinSlackUnderMin(end))
2018-09-28 17:54:21 +02:00
path_enum.insert(end);
}
delete end_iter;
group->clear();
// Parallel path enumeratation to find the endpoint_path_count/max path ends.
for (int n = 0; path_enum.hasNext() && n < group_path_count; n++) {
2018-09-28 17:54:21 +02:00
PathEnd *end = path_enum.next();
if (group->saveable(end))
group->insert(end);
else
delete end;
2018-09-28 17:54:21 +02:00
}
}
void
PathGroups::makeGroupPathEnds(ExceptionTo *to,
const Corner *corner,
const MinMaxAll *min_max,
PathEndVisitor *visitor)
{
Network *network = this->network();
Graph *graph = this->graph();
Search *search = this->search();
if (exceptionToEmpty(to))
makeGroupPathEnds(search->endpoints(), corner, min_max, visitor);
else {
// Only visit -to filter pins.
VertexSet endpoints(graph_);
PinSet pins = to->allPins(network);
2018-09-28 17:54:21 +02:00
PinSet::Iterator pin_iter(pins);
while (pin_iter.hasNext()) {
const Pin *pin = pin_iter.next();
Vertex *vertex, *bidirect_drvr_vertex;
graph->pinVertices(pin, vertex, bidirect_drvr_vertex);
if (vertex
&& search->isEndpoint(vertex))
endpoints.insert(vertex);
if (bidirect_drvr_vertex
&& search->isEndpoint(bidirect_drvr_vertex))
endpoints.insert(bidirect_drvr_vertex);
}
makeGroupPathEnds(&endpoints, corner, min_max, visitor);
}
}
static bool
exceptionToEmpty(ExceptionTo *to)
{
2019-03-13 01:25:53 +01:00
return to == nullptr
|| (to->pins() == nullptr
&& to->instances() == nullptr);
2018-09-28 17:54:21 +02:00
}
////////////////////////////////////////////////////////////////
class MakeEndpointPathEnds : public VertexVisitor
{
public:
MakeEndpointPathEnds(PathEndVisitor *path_end_visitor,
const Corner *corner,
const MinMaxAll *min_max,
const StaState *sta);
MakeEndpointPathEnds(const MakeEndpointPathEnds &make_path_ends);
2018-09-28 17:54:21 +02:00
~MakeEndpointPathEnds();
virtual VertexVisitor *copy() const;
2018-09-28 17:54:21 +02:00
virtual void visit(Vertex *vertex);
private:
VisitPathEnds visit_path_ends_;
2018-09-28 17:54:21 +02:00
PathEndVisitor *path_end_visitor_;
const Corner *corner_;
const MinMaxAll *min_max_;
const StaState *sta_;
};
MakeEndpointPathEnds::MakeEndpointPathEnds(PathEndVisitor *path_end_visitor,
const Corner *corner,
const MinMaxAll *min_max,
const StaState *sta) :
visit_path_ends_(sta),
2018-09-28 17:54:21 +02:00
path_end_visitor_(path_end_visitor->copy()),
corner_(corner),
min_max_(min_max),
sta_(sta)
{
}
MakeEndpointPathEnds::MakeEndpointPathEnds(const MakeEndpointPathEnds &make_path_ends) :
visit_path_ends_(make_path_ends.sta_),
path_end_visitor_(make_path_ends.path_end_visitor_->copy()),
corner_(make_path_ends.corner_),
min_max_(make_path_ends.min_max_),
sta_(make_path_ends.sta_)
{
}
2018-09-28 17:54:21 +02:00
MakeEndpointPathEnds::~MakeEndpointPathEnds()
{
delete path_end_visitor_;
}
VertexVisitor *
MakeEndpointPathEnds::copy() const
2018-09-28 17:54:21 +02:00
{
return new MakeEndpointPathEnds(path_end_visitor_, corner_, min_max_, sta_);
}
void
MakeEndpointPathEnds::visit(Vertex *vertex)
{
visit_path_ends_.visitPathEnds(vertex, corner_, min_max_, true, path_end_visitor_);
2018-09-28 17:54:21 +02:00
}
////////////////////////////////////////////////////////////////
void
PathGroups::makeGroupPathEnds(VertexSet *endpoints,
const Corner *corner,
const MinMaxAll *min_max,
PathEndVisitor *visitor)
{
if (thread_count_ == 1) {
MakeEndpointPathEnds end_visitor(visitor, corner, min_max, this);
for (auto endpoint : *endpoints)
end_visitor.visit(endpoint);
}
else {
Vector<MakeEndpointPathEnds> visitors(thread_count_,
MakeEndpointPathEnds(visitor, corner,
min_max, this));
for (const auto endpoint : *endpoints) {
dispatch_queue_->dispatch( [endpoint, &visitors](int i)
{ visitors[i].visit(endpoint); } );
}
dispatch_queue_->finishTasks();
2019-11-11 16:48:27 +01:00
}
2018-09-28 17:54:21 +02:00
}
} // namespace