Example – Altera Quartus II Scripting User Manual

Page 611

Advertising
background image

Chapter 3: Tcl Packages & Commands

3–481

timing

© July 2013

Altera Corporation

Quartus II Scripting Reference Manual

You can use one or more of the filter options to specify the number of paths displayed. You can redirect the
output to a file by using the "-file" option. Use the"-append" option together with "-file" to append results
to an existing file.

The "-from", "-to", "-src_clock_filter", and "-clock_filter" options are case sensitive. These options can take
list of names. For example, from Reg0 or inst3 to Reg1 or Out[3] clocked by clk0 or clk1 can be expressed
as:

report_timing -from Reg0 inst3 -to Reg1 Out[3] -clock_filter clk0 clk1

The "-from", "-to", "-src_clock_filter", and "-clock_filter" options can take stringpatterns containing special
characters from the set "*?\[]" as values. The values are matched using Tcl string matching. Bus names are
detected automatically and do not need to be escaped. Bus names have the following format:

<bus name>[<bus index>] or <bus name>[*]

The <bus name> portion is a string of alphanumeric characters. The <bus index> portion is an integer
greater than or equal to zero or it can be the character "*" used for string matching. Notice that the <bus
index> is enclosed by the square brackets "[" and "]". For example, "a[0]" and "a[*]" are supported bus
names and can be used as follows:

# To match index 0 of bus "a", type:
report_timing -to a[0]

# To match all indices of bus "a", type:
report_timing -to a[*]

All other uses of square brackets must be escaped if you do not intend to use them as string patterns. For
example, to match indices 0, 1, and 2 of the bus "a", type:

report_timing -to "a[escape_brackets \[]\[0-2\][escape_brackets \]]"

For more information about escaping square brackets, type "escape_brackets -h".

This command returns the number of timing paths reported. It returns "0" if no paths are found for the
specified filters.

This command is similar to the "list_path" command in the ::quartus::timing_report package (available in
the quartus_tan executable). The difference is that the "report_timing" command does not require a
completed timing analysis. The "report_timing" command computes the timing paths and reports them.

The "report_timing" command operates in a manner similar to commands in other tools, such as the
Synopsys®PrimeTime software. Running "report_timing" may take a little longer than running the
"list_path" command, but is more memory efficient.

Example

project_open my_project

# Always create the netlist first
create_timing_netlist

# List paths that represent input setup paths
report_timing -tsu

# List clock setup paths for clock clk
report_timing -clock_setup -clock_filter clk

# List clock setup paths for clock clk from source clock src_clock
report_timing -clock_setup -clock_filter clk -src_clock_filter src_clock

# List clock setup paths for clock clk
# from registers abc* to registers xyz*
report_timing -clock_setup -clock_filter clk -from abc* -to xyz*

Advertising