21.9.37 smartpower_report_power_peak_analyzer

Description

This Tcl command creates a cycle accurate power report, which reports a power waveform with one power value per clock period or half-period instead of an average power for the whole simulation.

smartpower_report_power_peak_analyzer \
                    -vcd_file "VCD file" \
                    [-style "Text | CSV"] \
                    [-partial_parse "TRUE | FALSE"] \
                    [-start_time "decimal value"] \
                    [-end_time "decimal value"] \
                    [-auto_detect_top_level_name "TRUE | FALSE"] \
                    [-top_level_name "top level name"] \
                    [-glitch_filtering "false | auto | true"] \
                    [-glitch_threshold "integer value"] \
                    [-opmode "Active | Static"] \
                    [-auto_detect_sampling_period "TRUE | FALSE"] \
                    [-sampling_clock "clk"] \
                    [-sampling_rate_per_period "TRUE | FALSE"] \
                    [-sampling_offset "decimal value"] \
                    [-sampling_period "decimal value"] \
                    [-use_only_local_extrema "TRUE | FALSE"] \
                    [-use_power_threshold "TRUE | FALSE"] \
                    [-power_threshold "decimal value"] \
                    [-file "file"]

Arguments

ParameterTypeDescription
vcd_filestringSpecifies the path to the *.vcd file that you want to import.
stylestringSpecifies the format in which the report will be exported. The acceptable values for this argument are the following:
  • Text - The report will be exported as Text file.
  • CSV(by default) - The report will be exported as CSV file.
partial_parsebooleanSpecifies whether to partially parse the *.vcd file. The acceptable values for this argument are the following:
  • TRUE, true or 1 - Partially parses the *.vcd file.
  • FALSE, false or 0 - Does not partially parse the *.vcd file.
start_timedecimalThis option is available only if -partially_parse is set to true. Specifies the start time (in ns) to partially parse the *.vcd file.
end_timedecimalThis option is available only if -partially_parse is set to true. Specifies the start time (in ns) to partially parse the *.vcd file.
auto_detect_top_level_namebooleanSpecifies whether to automatically detect the top-level name. The acceptable values for this argument are the following:
  • TRUE, true or 1 - Automatically detects the top-level name.
  • FALSE, false or 0 - Does not automatically detect the top-level name.
top_level_namestringSpecifies the top-level name.
glitch_filteringstringSpecifies whether to use glitch filtering. The acceptable values for this argument are the following:
  • TRUE, true or 1 - Glitch filtering is on.
  • FALSE, false or 0 - Enables automatic glitch filtering. This option will ignore any value specified in -glitch_threshold.
  • auto - Glitch filtering is off.
glitch_thresholdintegerThis option is only available when -glitch_filtering is set to true. Specifies the glitch filtering value(in ps).
power_summarybooleanSpecifies whether to include the power summary, which shows the static and dynamic values in the report. The acceptable values for this argument are the following:
  • TRUE, true or 1 - Includes the power summary in the report.
  • FALSE, false or 0 - Does not include the power summary in the report.
auto_detect_sampling_periodbooleanSpecifies whether to automatically detect the sampling period. The acceptable values for this argument are the following:
  • TRUE, true or 1 - Automatically detects the sampling period.
  • FALSE, false or 0 - Does not automatically detect the sampling period.
sampling_clockstringSpecifies the sampling clock.
sampling_rate_per_periodbooleanSpecifies whether to set the sampling rate per period. The acceptable values for this argument are the following:
  • TRUE, true or 1 - Specifies the sampling rate per period.
  • FALSE, false or 0 - Specifies the sampling rate per half period.
sampling_offsetdecimalSpecifies the offset used to calculate the sampling offset (in ps).
sampling_perioddecimalSpecifies the offset used to calculate the sampling period (in ps).
use_only_local_extremabooleanSpecifies whether to limit the history size by keeping only local extrema. The acceptable values for this argument are the following:
  • TRUE, true or 1 - Limits the history size by keeping only local extrema.
  • FALSE, false or 0 - Does not limit the history size by keeping only local extrema.
use_power_thresholdbooleanSpecifies whether to limit the history size by setting a power threshold. The acceptable values for this argument are the following:
  • TRUE, true or 1 - Limits the history size by setting a power threshold.
  • FALSE, false or 0 - Does not limit the history size by setting a power threshold.
power_thresholddecimalSets the power threshold value.
opmodestringUse this option to specify the mode from which the operating conditions are extracted to generate the report.
  • Active - The operating mode is set to Active.
  • Flash*Freeze - The operating mode is set to Flash*Freeze.
filenamestringSpecifies the name or path of the file to be exported. This argument is mandatory. Default created under designer/<root_name> dircetory.
Return TypeDescription
NoneNone

Error Codes

Error CodeDescription
NoneRequired parameter 'vcd_file' is missing.
NoneVCD: Incorrect VCD file. "enddefinitions" not found.
NoneVCD: File ./power.vcd doesn't exist: Failed to generate power report.
Nonestyle: Invalid argument value: 'value' (expecting Text or CSV).
Nonepartial_parse: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).
Nonestart_time: Invalid argument value: 'value' (expecting decimal value).
Noneend_time: Invalid argument value: 'value' (expecting decimal value).
Noneauto_detect_top_level_name: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).
Noneglitch_filtering: Invalid argument value: 'value' (expecting false, auto or true).
Noneglitch_threshold: Invalid argument value: 'value' (expecting integer value).
Noneauto_detect_sampling_period: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).
Nonesampling_clock: Invalid argument value: 'value' (expecting "sampling clock pin name").
Nonesampling_rate_per_period: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).
Nonesampling_offset: Invalid argument value: 'value' (expecting decimal value).
Nonesampling_period: Invalid argument value: 'value' (expecting decimal value).
Noneuse_only_local_extrema: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).
Noneuse_power_threshold: Invalid argument value: 'value' (expecting TRUE, 1, true, FALSE, 0 or false).
Nonepower_threshold: Invalid argument value: 'value' (expecting decimal value).
Noneopmode: Invalid argument value: 'value' (expecting Active, Static or Flash*Freeze).
NoneParameter 'param_name' is not defined. Valid command formatting is 'smartpower_report_power_peak_analyzer [-partial_parse "TRUE | FALSE"] \ [-start_time "decimal value"] \ [-end_time "decimal value"] \ [-auto_detect_top_level_name "TRUE | FALSE"] \ [-top_level_name "top level name"] \ [-glitch_filtering "false | auto | true"] \ [-glitch_threshold "integer value"] \ -vcd_file "VCD file" \ [-style "Text | CSV"] \ [-opmode "Active | Static"] \ [-auto_detect_sampling_period "TRUE | FALSE"] \ [-sampling_clock "clk"] \ [-sampling_rate_per_period "TRUE | FALSE"] \ [-sampling_offset "decimal value"] \ [-sampling_period "decimal value"] \ [-use_only_local_extrema "TRUE | FALSE"] \ [-use_power_threshold "TRUE | FALSE"] \ [-power_threshold "decimal value"] \ [-file "file"]'

Supported Families

PolarFire®
SmartFusion® 2
RTG4™
IGLOO® 2
PolarFire SoC

Example

This example generates a cycle accurate power report named "report_power_cycle_based.txt":

smartpower_report_power_peak_analyzer \
		    -partial_parse "TRUE" \
                    -vcd_file "power.vcd" \
                    -style "Text" \
                    -start_time "0.05" \
                    -end_time "1.00" \
                    -auto_detect_top_level_name "TRUE" \
                    -glitch_filtering "FALSE" \
                    -glitch_threshold "100" \
                    -auto_detect_sampling_period "TRUE" \
                    -sampling_clock "clk" \
                    -sampling_rate_per_period "TRUE" \
                    -sampling_offset "0.00" \
                    -sampling_period "10000.00" \
                    -use_only_local_extrema "TRUE" \
                    -use_power_threshold "TRUE" \
                    -power_threshold "0.00" \
                    -opmode "Active" \
                    "report_power_cycle_based.txt"

See Also