diff --git a/search/CheckFanoutLimits.cc b/search/CheckFanoutLimits.cc index 352482f2..fcb7ea3e 100644 --- a/search/CheckFanoutLimits.cc +++ b/search/CheckFanoutLimits.cc @@ -182,15 +182,19 @@ CheckFanoutLimits::fanoutLoad(const Pin *pin) const Pin *pin = pin_iter->next(); if (network->isLoad(pin)) { LibertyPort *port = network->libertyPort(pin); - float fanout_load; - bool exists; - port->fanoutLoad(fanout_load, exists); - if (!exists) { - LibertyLibrary *lib = port->libertyLibrary(); - lib->defaultFanoutLoad(fanout_load, exists); + if (port) { + float fanout_load; + bool exists; + port->fanoutLoad(fanout_load, exists); + if (!exists) { + LibertyLibrary *lib = port->libertyLibrary(); + lib->defaultFanoutLoad(fanout_load, exists); + } + if (exists) + fanout += fanout_load; } - if (exists) - fanout += fanout_load; + else + fanout += 1; } } delete pin_iter; diff --git a/tcl/Network.tcl b/tcl/Network.tcl index 352207a2..b35daed8 100644 --- a/tcl/Network.tcl +++ b/tcl/Network.tcl @@ -382,7 +382,7 @@ proc report_net_pin { pin verbose corner digits } { puts -nonewline [port_capacitance_str $liberty_port $digits] } } - puts "" + puts "[pin_location_str $pin]" } elseif [$pin is_top_level_port] { puts -nonewline " [get_full_name $pin] [pin_direction $pin] port" if { $verbose } { @@ -404,12 +404,17 @@ proc report_net_pin { pin verbose corner digits } { puts -nonewline " pin [capacitances_str $cap_r_min $cap_r_max $cap_f_min $cap_f_max $digits]" } } - puts "" + puts "[pin_location_str $pin]" } elseif [$pin is_hierarchical] { puts " [get_full_name $pin] [pin_direction $pin]" } } +# default handler +proc pin_location_str { pin } { + return "" +} + ################################################################ proc report_pin_ { pin } {