Skip to content

Commit db9596e

Browse files
committed
rsz: Use current slack in TNS endpoint repair
Use current endpoint slack when starting TNS endpoint repair now that borrowed-latch effective slack is no longer used. Remove the unused original endpoint slack snapshot from RepairTargetCollector and update the TNS regression golden for the resulting iteration count. Signed-off-by: Jaehyun Kim <jhkim@precisioninno.com>
1 parent f58686f commit db9596e

4 files changed

Lines changed: 2 additions & 10 deletions

File tree

src/rsz/src/RepairTargetCollector.cc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2269,7 +2269,6 @@ void RepairTargetCollector::setToEndpoint(int index)
22692269
current_endpoint_index_ = index;
22702270
const auto& end_slack_pair = violating_endpoints_[current_endpoint_index_];
22712271
current_endpoint_ = graph_->pinLoadVertex(end_slack_pair.first);
2272-
current_end_original_slack_ = end_slack_pair.second;
22732272
}
22742273

22752274
void RepairTargetCollector::setToStartpoint(int index)
@@ -2278,7 +2277,6 @@ void RepairTargetCollector::setToStartpoint(int index)
22782277
const auto& start_slack_pair
22792278
= violating_startpoints_[current_startpoint_index_];
22802279
current_startpoint_ = graph_->pinLoadVertex(start_slack_pair.first);
2281-
// Note: For startpoints, we don't use current_end_original_slack_
22822280
}
22832281

22842282
void RepairTargetCollector::advanceToNextEndpoint()

src/rsz/src/RepairTargetCollector.hh

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,6 @@ class RepairTargetCollector
9898
void setToEndpoint(int index);
9999
sta::Vertex* getCurrentEndpoint() const { return current_endpoint_; }
100100
sta::Slack getCurrentEndpointSlack() const;
101-
sta::Slack getCurrentEndpointOriginalSlack() const
102-
{
103-
return current_end_original_slack_;
104-
}
105101
int getCurrentEndpointIndex() const { return current_endpoint_index_; }
106102
int getMaxEndpointCount() const { return violating_endpoints_.size(); }
107103
int getCurrentPass() const;
@@ -344,7 +340,6 @@ class RepairTargetCollector
344340
// Current endpoint iteration state
345341
bool iteration_began_;
346342
sta::Vertex* current_endpoint_;
347-
sta::Slack current_end_original_slack_;
348343
int current_endpoint_index_;
349344

350345
// === Startpoint iteration state ==========================================

src/rsz/src/policy/SetupTnsPolicy.cc

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,7 @@ void SetupTnsPolicy::repairSetupTns(const float setup_slack_margin,
129129
}
130130

131131
const sta::Pin* endpoint_pin = endpoint->pin();
132-
sta::Slack endpoint_slack
133-
= target_collector_->getCurrentEndpointOriginalSlack();
132+
sta::Slack endpoint_slack = target_collector_->getCurrentEndpointSlack();
134133
if (sta::fuzzyGreaterEqual(endpoint_slack, setup_slack_margin)) {
135134
continue;
136135
}

src/rsz/test/repair_setup_phase_tns.ok

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Path Type: max
4949
| Buffers | Gates | Buffers | Gates | Swaps | | | | | Endpts | St/EnPt
5050
------------------------------------------------------------------------------------------------------------------------------
5151
0* | 0 | 0 | 0 | 0 | 0 | +0.0% | -0.333 | -0.3 | -0.4 | 4 | r2/D
52-
3* | 0 | 1 | 0 | 0 | 0 | +0.9% | -0.268 | -0.3 | -0.3 | 4 | r2/D
52+
1* | 0 | 1 | 0 | 0 | 0 | +0.9% | -0.268 | -0.3 | -0.3 | 4 | r2/D
5353
final | 0 | 1 | 0 | 0 | 0 | +0.9% | -0.268 | -0.3 | -0.3 | 1 | r2/D
5454
------------------------------------------------------------------------------------------------------------------------------
5555
[INFO RSZ-0051] Resized 1 instances: 1 up, 0 up match, 0 down, 0 VT

0 commit comments

Comments
 (0)