Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 10/04/2021
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

3.1.29.3. create_report_histogram (::quartus::sta)

The following table displays information for the create_report_histogram Tcl command:

Tcl Package and Version

Belongs to ::quartus::sta

Syntax create_report_histogram [-h | -help] [-long_help] [-append] [-color_div <color_div> ] [-color_list <color_list> ] [-file <name> ] [-max_data <max_data> ] [-min_data <min_data> ] [-num_bins <num_bins> ] [-panel_name <name> ] [-stdout] [-x_label <x_label> ] [-x_unit <x_unit> ] [-y_label <y_label> ] <data>
Arguments -h | -help Short help
-long_help Long help with examples and possible return values
-append If output is sent to a file, this option appends the result to that file. Otherwise, the file will be overwritten. This option is not supported for HTML files.
-color_div <color_div> Color divisions for the created histogram
-color_list <color_list> List of colors for painting the created histogram
-file <name> Sends the results to an ASCII or HTML file. Depending on the extension
-max_data <max_data> Maximum data value of the created histogram
-min_data <min_data> Minimum data value of the created histogram
-num_bins <num_bins> Number of bins
-panel_name <name> Sends the results to the panel and specifies the name of the new panel
-stdout Send output to stdout, via messages. You only need to use this option if you have selected another output format, such as a file, and would also like to receive messages.
-x_label <x_label> Text label on x-axis
-x_unit <x_unit> Unit to be displayed on x-axis
-y_label <y_label> Text label on y-axis
<data> List of data to be analyzed
Description

Create a user defined histogram. Use <data> to specify the data entries to be displayed on the histogram. It can be a tcl list of either one of the following two formats or a mix of the two: {time_integer} or {time_integer number_count}, where time_integer is an integer possibly with a unit representing time (default unit is second), and number_count is a positive integer specifying number of entries (y value) of the corresponding time_integer. Use -num_bins to specify the number of bins, or the number of bars to be displayed on the histogram. Use -color_div and -color_list to specify the color of each bin. -color_div takes a tcl list of time_integers (see <data> above). Each entry in the list specifies the upper bound of each color division and therefore is forced to be a boundary of bins. -color_list takes a tcl list of colors. Each color in the list is used in the order specified and if less color is given than color divisions, the list will be re-used. For example, if specified "-color_div {-1 0 1} -color_list {red green}", then bins below -1 will be red, bins between -1 and 0 will be green, bins between 0 and 1 will be red again, and bins larger than 1 will be blue again. Posssible choices of colors: black, blue, brown, green, grey, light_grey, orange, purple, red, white. Default -color_div is {0} and default -color_list is {red blue}. Use -max_data to specify the upper bound, i.e. largest number to be included in the histogram. Use -min_data to specify the lower bound, i.e. smallest number to be included in the histogram. Use -panel_name to specify the path and panel name of the created histogram. e.g. "-panel_name {Folder 1||Histogram 1} will create a histogram named "Histogram 1" and put it in a folder with the name "Folder 1". Use -x_label to specify the text label on x_axis. Use -y_label to specify the text label on y_axis. Use -x_unit to specify a text unit to be attached to x_axis.

Example Usage
# create a path-based slack histogram
project_open my_project
create_timing_netlist
read_sdc
update_timing_netlist

# get path-based slack data in the format of a tcl list
set data [list]
set paths [get_timing_paths -setup -npaths 1000]
foreach_in_collection path $paths {
	lappend data [get_path_info $path -slack]
}

# output data to histogram
create_report_histogram $data -panel_name {Path-based Slack Histogram} -num_bins 20

delete_timing_netlist
project_close
Return Value Code Name Code String Return
TCL_OK 0 INFO: Operation successful
TCL_ERROR 1 ERROR: Option <string> has illegal value: <string>. Specify a legal option value.