Get_clock_fmax_info, Get_clock_fmax_info –83 – Altera SDC and TimeQuest API User Manual

Page 93

Advertising
background image

Chapter 2: SDC and TimeQuest API Package and Commands

2–83

sta

© December 2009

Altera Corporation

SDC and TimeQuest API Reference Manual

get_clock_fmax_info

Usage

get_clock_fmax_info

Options

None

Description

Reports potential Fmax for every clock in the design, regardless of the user-specified clock periods. Fmax
is only computed for paths where the source and destination registers or ports are driven by the same
clock. Paths of different clocks, including generated clocks, are ignored. For paths between a clock and its
inversion, Fmax is computed as if the rising and falling edges of the clock are scaled along with fmax, such
that the duty cycle (in terms of a percentage) is maintained.

Restricted Fmax considers hold timing in addition to setup timing, as well as minimum pulse and
minimum period restrictions. Similar to unrestricted Fmax, the restricted Fmax is computed as if the rising
and falling edges of the clock are scaled along with Fmax, such that the duty cycle (in terms of a
percentage) is maintained. Refer to hold timing reports (e.g., report_timing with the -hold option) or
minimum pulse width reports (report_min_pulse_width) for details about specific paths, registers, or
ports.

This command is similar to report_clock_fmax_summary, except that it returns the results as a Tcl list for
use in Tcl scripts. Each entry in the list represents one clock domain. Each entry is a Tcl list of the clock
name, fmax (MHz), and restricted Fmax (MHz).

Example

project_open my_project

# Always create the netlist first
create_timing_netlist
read_sdc my_project.sdc
update_timing_netlist

# Get domain summary object
set domain_list [get_clock_fmax_info]
foreach domain $domain_list {

set name [lindex $domain 0]
set fmax [lindex $domain 1]
set restricted_fmax [lindex $domain 2]

puts "Clock $name : Fmax = $fmax (Restricted Fmax = \
$restricted_fmax)"

}

# The following command is optional
delete_timing_netlist

project_close

Advertising