diff --git a/doc/ChangeLog.txt b/doc/ChangeLog.txt index 89520094..c68c054c 100644 --- a/doc/ChangeLog.txt +++ b/doc/ChangeLog.txt @@ -7,6 +7,11 @@ The report_parasitics_annotation command reports SPEF annotation completeness. report_parasitics_annotation [-report_unannotated] +The read_power_activities command reads a verilog vcd file and extracts +pin activities for power analysis. + + read_power_activities -vcd filename + Release 2.3.3 2022/09/24 ------------------------- diff --git a/doc/OpenSTA.odt b/doc/OpenSTA.odt index fe4a1436..58cf047d 100644 Binary files a/doc/OpenSTA.odt and b/doc/OpenSTA.odt differ diff --git a/doc/OpenSTA.pdf b/doc/OpenSTA.pdf index c0f39f83..d22933d3 100644 Binary files a/doc/OpenSTA.pdf and b/doc/OpenSTA.pdf differ diff --git a/power/Power.tcl b/power/Power.tcl index bdd9ba42..c929a61a 100644 --- a/power/Power.tcl +++ b/power/Power.tcl @@ -31,7 +31,8 @@ define_cmd_args "report_power" \ proc_redirect report_power { global sta_report_default_digits - parse_key_args "report_power" args keys {-instances -corner -digits} flags {} 1 + parse_key_args "report_power" args \ + keys {-instances -corner -digits} flags {} if { [info exists keys(-digits)] } { set digits $keys(-digits) @@ -205,7 +206,7 @@ define_cmd_args "set_power_activity" { [-global]\ proc set_power_activity { args } { parse_key_args "set_power_activity" args \ keys {-input_ports -pins -activity -duty} \ - flags {-global -input} 1 + flags {-global -input} set activity 0.0 if { [info exists keys(-activity)] } { @@ -248,8 +249,18 @@ proc set_power_activity { args } { ################################################################ -# Defined in StaTcl.i -define_cmd_args "read_vcd_activities" { filename } +define_cmd_args "read_power_activities" { -vcd filename } + +proc read_power_activities { args } { + parse_key_args "read_power_activities" args \ + keys {-vcd} flags {} + + check_arg1 $args + set filename [file nativename [lindex $args 0]] + read_vcd_activities $filename +} + +################################################################ proc power_find_nan { } { set corner [cmd_corner]