@@ -251,8 +251,8 @@ RouteBase::RouteBase(RouteBaseVars rbVars,
251251 nbc_ = std::move (nbc);
252252 log_ = log;
253253 nbVec_ = std::move (nbVec);
254- minRcTargetDensity_.resize (nbVec_.size ());
255- inflatedAreaDelta_.resize (nbVec_.size ());
254+ minRcTargetDensity_.resize (nbVec_.size (), 0 );
255+ inflatedAreaDelta_.resize (nbVec_.size (), 0 );
256256 init ();
257257}
258258
@@ -549,15 +549,6 @@ std::pair<bool, bool> RouteBase::routability(
549549 int routability_driven_revert_count)
550550{
551551 increaseCounter ();
552- if (routability_driven_revert_count >= max_routability_revert_) {
553- log_->info (GPL,
554- 91 ,
555- " Routability mode reached the maximum allowed reverts {}" ,
556- routability_driven_revert_count);
557-
558- revertToMinCongestion ();
559- return std::make_pair (false , true );
560- }
561552
562553 // create Tile Grid
563554 std::unique_ptr<TileGrid> tg (new TileGrid ());
@@ -611,20 +602,6 @@ std::pair<bool, bool> RouteBase::routability(
611602 curRc,
612603 minRc_,
613604 min_RC_violated_cnt_);
614-
615- // rc not improvement detection -- (not improved the RC values 3 times in a
616- // row)
617- if (min_RC_violated_cnt_ >= max_routability_no_improvement_) {
618- log_->info (GPL,
619- 54 ,
620- " No improvement in routing congestion for {} consecutive "
621- " iterations (limit is {})." ,
622- min_RC_violated_cnt_,
623- max_routability_no_improvement_);
624-
625- revertToMinCongestion ();
626- return std::make_pair (false , true );
627- }
628605 }
629606
630607 // set inflated ratio
@@ -759,6 +736,29 @@ std::pair<bool, bool> RouteBase::routability(
759736 }
760737 }
761738
739+ if (routability_driven_revert_count >= max_routability_revert_) {
740+ log_->info (GPL,
741+ 91 ,
742+ " Routability mode reached the maximum allowed reverts {}" ,
743+ routability_driven_revert_count);
744+
745+ revertToMinCongestion ();
746+ return std::make_pair (false , true );
747+ }
748+ // rc not improvement detection -- (not improved the RC values 3 times in a
749+ // row)
750+ if (min_RC_violated_cnt_ >= max_routability_no_improvement_) {
751+ log_->info (GPL,
752+ 54 ,
753+ " No improvement in routing congestion for {} consecutive "
754+ " iterations (limit is {})." ,
755+ min_RC_violated_cnt_,
756+ max_routability_no_improvement_);
757+
758+ revertToMinCongestion ();
759+ return std::make_pair (false , true );
760+ }
761+
762762 // updateArea
763763 for (int i = 0 ; i < nbVec_.size (); i++) {
764764 nbVec_[i]->updateAreas ();
0 commit comments