@@ -55,33 +55,50 @@ define_cmd_args "report_tns_metric" {[-setup]|[-hold]}
5555proc report_tns_metric { args } {
5656 parse_key_args " report_tns_metric" args keys {} flags {-setup -hold}
5757
58- set min_max " max"
58+ set min_max " - max"
5959 set metric_name " timing__setup__tns"
6060 if { ![info exists flags(-setup)] && [info exists flags(-hold)] } {
61- set min_max " min"
61+ set min_max " - min"
6262 set metric_name " timing__hold__tns"
6363 } elseif { [info exists flags(-setup)] && [info exists flags(-hold)] } {
64- utl::error ORD 18 " both -setup and -hold specified."
64+ utl::error ORD 14 " both -setup and -hold specified."
6565 }
6666
67- utl::metric_float $metric_name [total_negative_slack_cmd $min_max ]
67+ utl::metric_float $metric_name [total_negative_slack $min_max ]
6868}
6969
7070define_cmd_args " report_worst_slack_metric" {[-setup]|[-hold]}
7171proc report_worst_slack_metric { args } {
7272 global sta_report_default_digits
7373 parse_key_args " report_worst_slack_metric" args keys {} flags {-setup -hold}
7474
75- set min_max " max"
75+ set min_max " - max"
7676 set metric_name " timing__setup__ws"
7777 if { ![info exists flags(-setup)] && [info exists flags(-hold)] } {
78- set min_max " min"
78+ set min_max " - min"
7979 set metric_name " timing__hold__ws"
8080 } elseif { [info exists flags(-setup)] && [info exists flags(-hold)] } {
81- utl::error ORD 17 " both -steup and -hold specified."
81+ utl::error ORD 17 " both -setup and -hold specified."
82+ }
83+
84+ utl::metric_float $metric_name [worst_slack $min_max ]
85+ }
86+
87+ define_cmd_args " report_worst_negative_slack_metric" {[-setup]|[-hold]}
88+ proc report_worst_negative_slack_metric { args } {
89+ global sta_report_default_digits
90+ parse_key_args " report_worst_negative_slack_metric" args keys {} flags {-setup -hold}
91+
92+ set min_max " -max"
93+ set metric_name " timing__setup__wns"
94+ if { ![info exists flags(-setup)] && [info exists flags(-hold)] } {
95+ set min_max " -min"
96+ set metric_name " timing__hold__wns"
97+ } elseif { [info exists flags(-setup)] && [info exists flags(-hold)] } {
98+ utl::error ORD 18 " both -setup and -hold specified."
8299 }
83100
84- utl::metric_float $metric_name [worst_slack_cmd $min_max ]
101+ utl::metric_float $metric_name [worst_negative_slack $min_max ]
85102}
86103
87104define_cmd_args " report_erc_metrics" {}
@@ -112,7 +129,7 @@ proc report_power_metric { args } {
112129 parse_key_args " report_power_metric" args keys {-corner} flags {}
113130 set corner [sta::parse_corner keys]
114131 set power_result [design_power $corner ]
115- set totals [lrange $power_result 0 3]
132+ set totals [lrange $power_result 0 3]
116133 lassign $totals design_internal design_switching design_leakage design_total
117134
118135 utl::metric_float " power__internal__total" $design_internal
0 commit comments