Skip to content

Commit dc6ab06

Browse files
committed
grt: re-enable slack update during rsz
Signed-off-by: Jonas Gava <[email protected]>
1 parent 29b05a4 commit dc6ab06

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/grt/src/fastroute/src/utility.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,8 @@ int FastRouteCore::getViaResistance(const int from_layer, const int to_layer)
563563
return std::ceil(total_via_resistance / default_res);
564564
}
565565

566-
void FastRouteCore::setIncrementalGrt(bool is_incremental) {
566+
void FastRouteCore::setIncrementalGrt(bool is_incremental)
567+
{
567568
is_incremental_grt_ = is_incremental;
568569
}
569570

@@ -585,13 +586,12 @@ void FastRouteCore::updateSlacks(float percentage)
585586

586587
for (const int net_id : net_ids_) {
587588
FrNet* net = nets_[net_id];
588-
589589
float slack = 0;
590590

591-
// Do not update slack during rsz repair
592-
if (en_estimate_parasitics_) {
593-
slack = getNetSlack(net->getDbNet());
594-
}
591+
// TODO: Do not update slack during rsz repair
592+
// if (en_estimate_parasitics_) {
593+
slack = getNetSlack(net->getDbNet());
594+
// }
595595
net->setSlack(slack);
596596

597597
// Enable res-aware for clock nets by default
@@ -601,7 +601,7 @@ void FastRouteCore::updateSlacks(float percentage)
601601
// TODO: need to check this positive slack threshold
602602
// const float pos_threshold = 100e-12;
603603

604-
res_aware_list.emplace_back(net_id, slack);
604+
res_aware_list.emplace_back(net_id, slack);
605605
}
606606

607607
// Sort by worst slack and ID
@@ -612,9 +612,11 @@ void FastRouteCore::updateSlacks(float percentage)
612612

613613
std::stable_sort(res_aware_list.begin(), res_aware_list.end(), compareSlack);
614614

615-
if(is_incremental_grt_) {
615+
// During incremental grt, enable res-aware for all nets
616+
if (is_incremental_grt_) {
616617
percentage = 1;
617618
}
619+
618620
// Decide the percentage of nets that will use resistance aware
619621
for (int i = 0; i < res_aware_list.size() * percentage; i++) {
620622
nets_[res_aware_list[i].first]->setIsResAware(true);

0 commit comments

Comments
 (0)