Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 9/26/2022
Public

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

Document Table of Contents

4.1.35.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.