@@ -91,7 +91,8 @@ void CUGR::init(const int min_routing_layer,
9191 constants_,
9292 min_routing_layer,
9393 max_routing_layer,
94- clock_nets);
94+ clock_nets,
95+ verbose_);
9596 grid_graph_ = std::make_unique<GridGraph>(design_.get (), constants_, logger_);
9697 // Instantiate the global routing netlist
9798 const std::vector<CUGRNet>& base_nets = design_->getAllNets ();
@@ -393,7 +394,9 @@ void CUGR::updateCongestedNets(std::vector<int>& net_indices,
393394
394395void CUGR::patternRoute (std::vector<int >& net_indices)
395396{
396- logger_->report (" Stage 1: Pattern routing." );
397+ if (verbose_) {
398+ logger_->report (" Stage 1: Pattern routing." );
399+ }
397400
398401 if (critical_nets_percentage_ != 0 ) {
399402 setInitialNetSlacks ();
@@ -434,7 +437,9 @@ void CUGR::patternRouteResAware(std::vector<int>& net_indices)
434437 if (!resistance_aware_ || critical_nets_percentage_ == 0 ) {
435438 return ;
436439 }
437- logger_->report (" Stage 2: Resistance-aware re-route of critical nets." );
440+ if (verbose_) {
441+ logger_->report (" Stage 2: Resistance-aware re-route of critical nets." );
442+ }
438443
439444 // Stage 1 routed neutrally, so real 3D trees now exist; mark the res-aware
440445 // set from their actual per-net resistance.
@@ -496,7 +501,9 @@ void CUGR::patternRouteWithDetours(std::vector<int>& net_indices)
496501 if (net_indices.empty ()) {
497502 return ;
498503 }
499- logger_->report (" Stage 3: Pattern routing with detours." );
504+ if (verbose_) {
505+ logger_->report (" Stage 3: Pattern routing with detours." );
506+ }
500507
501508 if (critical_nets_percentage_ != 0 ) {
502509 updateCriticalNets ();
@@ -623,7 +630,7 @@ void CUGR::route()
623630
624631 patternRouteWithDetours (net_indices);
625632
626- if (!net_indices.empty ()) {
633+ if (verbose_ && !net_indices.empty ()) {
627634 logger_->report (" Stage 4: Maze routing on sparsified graph." );
628635 }
629636 mazeRoute (net_indices);
@@ -739,7 +746,9 @@ void CUGR::iterativeRRR(std::vector<int>& net_indices)
739746 return ;
740747 }
741748
742- logger_->report (" Stage 5: Iterative rip-up and re-route." );
749+ if (verbose_) {
750+ logger_->report (" Stage 5: Iterative rip-up and re-route." );
751+ }
743752
744753 // Multiplier ramps up to saturate around slope=6 — beyond that the
745754 // logistic cost surface degenerates into a step function with no
@@ -807,12 +816,14 @@ void CUGR::iterativeRRR(std::vector<int>& net_indices)
807816 multiplier += kMultiplierStep ;
808817 }
809818 grid_graph_->setCostMultiplier (multiplier);
810- logger_->info (
811- GRT , 117 , " Start extra iteration {}/{}" , i, congestion_iterations_);
819+ if (verbose_) {
820+ logger_->info (
821+ GRT , 117 , " Start extra iteration {}/{}" , i, congestion_iterations_);
822+ }
812823 mazeRoute (net_indices);
813824 }
814825 grid_graph_->setCostMultiplier (1.0 );
815- if (soft_ndr_demotions > 0 ) {
826+ if (verbose_ && soft_ndr_demotions > 0 ) {
816827 logger_->info (GRT ,
817828 306 ,
818829 " Iterative RRR soft-demoted {} NDR net(s) total." ,
@@ -1077,6 +1088,10 @@ void CUGR::getGuides(const GRNet* net,
10771088
10781089void CUGR::printStatistics () const
10791090{
1091+ if (!verbose_) {
1092+ return ;
1093+ }
1094+
10801095 logger_->report (" Routing statistics" );
10811096
10821097 // wire length and via count
0 commit comments