## Intel® Quartus® Prime Pro Edition User Guide: Scripting

ID 683432
Date 12/13/2021
Public

 Tcl Package and Version Belongs to ::quartus::sta Syntax get_clock_fmax_info [-h | -help] [-long_help] Arguments -h | -help Short help -long_help Long help with examples and possible return values 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 Usage 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 Return Value Code Name Code String Return TCL_OK 0 INFO: Operation successful TCL_ERROR 1 ERROR: Timing netlist does not exist. Use create_timing_netlist to create a timing netlist.