Skip to content

Commit 329e987

Browse files
authored
Merge pull request #2753 from gadfort/metrics-scale
metrics: fix timing metrics
2 parents 9747ce0 + bde13e2 commit 329e987

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

src/Metrics.tcl

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,33 +55,50 @@ define_cmd_args "report_tns_metric" {[-setup]|[-hold]}
5555
proc 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

7070
define_cmd_args "report_worst_slack_metric" {[-setup]|[-hold]}
7171
proc 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

87104
define_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

Comments
 (0)