From de39ab34b82e0b3c8e69e1ed241e430421ff275a Mon Sep 17 00:00:00 2001 From: James Cherry Date: Wed, 10 Aug 2022 21:45:54 -0700 Subject: [PATCH] no segmentation for path delays Signed-off-by: James Cherry --- search/Search.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/search/Search.cc b/search/Search.cc index e97a8854..e208fcb6 100644 --- a/search/Search.cc +++ b/search/Search.cc @@ -1103,7 +1103,7 @@ ArrivalVisitor::visit(Vertex *vertex) search->seedInputSegmentArrival(pin, vertex, tag_bldr_); if (sdc->isPathDelayInternalStartpoint(pin)) // set_min/max_delay -from internal pin. - search->makeUnclkedPaths(vertex, true, true, tag_bldr_); + search->makeUnclkedPaths(vertex, false, true, tag_bldr_); if (sdc->isLeafPinClock(pin)) // set_min/max_delay -to internal pin also a clock src. Bizzaroland. // Re-seed the clock arrivals on top of the propagated paths. @@ -1642,8 +1642,7 @@ Search::findInputDrvrVertices(VertexSet &vertices) bool Search::isSegmentStart(const Pin *pin) { - return (sdc_->isPathDelayInternalStartpoint(pin) - || sdc_->isInputDelayInternal(pin)) + return sdc_->isInputDelayInternal(pin) && !sdc_->isLeafPinClock(pin); } @@ -2078,8 +2077,7 @@ Search::pathPropagatedToClkSrc(const Pin *pin, const Tag *tag = path->tag(this); if (!tag->isGenClkSrcPath() // Clock source can have input arrivals from unrelated clock. - && tag->inputDelay() == nullptr - && sdc_->isPathDelayInternalEndpoint(pin)) { + && tag->inputDelay() == nullptr) { ClockSet *clks = sdc_->findLeafPinClocks(pin); return clks && !clks->hasKey(tag->clock());