diff --git a/search/ReportPath.cc b/search/ReportPath.cc index ce01b5ea..74ee3a9d 100644 --- a/search/ReportPath.cc +++ b/search/ReportPath.cc @@ -1600,6 +1600,10 @@ ReportPath::reportLimitShort(const ReportField *field, reportField(value, field, result); result += ' '; reportField(slack, field, result); + result += (slack >= 0.0) + ? " (MET)" + : " (VIOLATED)"; + reportEndOfLine(result); } void @@ -1632,7 +1636,7 @@ ReportPath::reportLimitVerbose(const ReportField *field, if (rf) result += rf->shortName(); else - result += ' '; + result += ' '; reportEndOfLine(result); result += min_max->asString(); @@ -1646,10 +1650,17 @@ ReportPath::reportLimitVerbose(const ReportField *field, result += " "; reportField(value, field, result); reportEndOfLine(result); - reportDashLine(strlen(field->name()) + field->width() + 5, result); + int name_width = strlen(field->name()) + 5; + reportDashLine(name_width + field->width(), result); - result += "Slack "; + result += "Slack"; + for (int i = strlen("Slack"); i < name_width; i++) + result += ' '; reportField(slack, field, result); + result += (slack >= 0.0) + ? " (MET)" + : " (VIOLATED)"; + reportEndOfLine(result); } //////////////////////////////////////////////////////////////// diff --git a/tcl/Search.tcl b/tcl/Search.tcl index de21e0f9..23a06b0e 100644 --- a/tcl/Search.tcl +++ b/tcl/Search.tcl @@ -257,7 +257,7 @@ proc parse_report_path_options { cmd args_var default_format foreach field {total incr} { set_report_path_field_width $field $delay_field_width } - foreach field {capacitance slew fanout} { + foreach field {capacitance slew} { set_report_path_field_width $field $field_width } diff --git a/tcl/Sta.tcl b/tcl/Sta.tcl index 33493263..d42ee63d 100644 --- a/tcl/Sta.tcl +++ b/tcl/Sta.tcl @@ -46,7 +46,7 @@ proc define_report_path_fields {} { set_report_path_field_properties "incr" "Delay" $width 0 set_report_path_field_properties "capacitance" "Cap" $width 0 set_report_path_field_properties "slew" "Slew" $width 0 - set_report_path_field_properties "fanout" "Fanout" 5 0 + set_report_path_field_properties "fanout" "Fanout" 6 0 set_report_path_field_properties "edge" " " 1 0 set_report_path_field_properties "case" " " 11 0 } @@ -390,7 +390,9 @@ proc_redirect report_check_types { set min_period 1 set max_skew 1 set max_fanout 0 + set min_fanout 0 set max_capacitance 0 + set min_capacitance 0 } else { parse_key_args "report_check_types" args keys {} \ flags {-max_delay -min_delay -recovery -removal \ @@ -482,10 +484,10 @@ proc_redirect report_check_types { report_fanout_limits "min" $violators $verbose $nosplit } if { $max_capacitance } { -# report_capacitance_limits $corner "max" $violators $verbose $nosplit + report_capacitance_limits $corner "max" $violators $verbose $nosplit } if { $min_capacitance } { -# report_capacitance_limits $corner "min" $violators $verbose $nosplit + report_capacitance_limits $corner "min" $violators $verbose $nosplit } if { $min_pulse_width } { if { $violators } {