get_clocks (::quartus::sdc)
The following table displays information for the get_clocks Tcl command:
Tcl Package and Version |
Belongs to ::quartus::sdc 1.5 |
|||
Syntax | get_clocks [-h | -help] [-long_help] [-include_generated_clocks] [-nocase] [-nowarn] [-of_objects <object_collection> ] [ <filter> ] | |||
Arguments | -h | -help | Short help | ||
-long_help | Long help with examples and possible return values | |||
-include_generated_clocks | Includes generated clocks derived from the matched clocks | |||
-nocase | Specifies the matching of node names to be case-insensitive | |||
-nowarn | Do not issue warning messages about unmatched patterns | |||
-of_objects <object_collection> | Returns all clocks that target (defined on) or drive (determine data frequency of) the nodes in the collection. | |||
<filter> | Valid destinations (string patterns are matched using Tcl string matching) | |||
Description |
Returns a collection of clocks in the design. Use a clock collection as the -from/to argument of a command (such as set_multicycle_path) to refer to all nodes driven by the clocks in the collection. # The following multicycle constraint applies to all paths ending at registers # driven by clk set_multicycle_path -to [get_clocks clk] 2 If a filter, which is a Tcl list of wildcards and must follow standard Tcl or Timing Analyzer-extension substitution rules, is specified, then get_clocks returns all clocks whose names match the filter. See the help for use_timing_analyzer_style_escaping for filter rules. If -of_objects option is used, then a collection of nodes (or pins / nets / ports / registers) must be provided. get_clocks returns a collection of all clocks that drive or target these nodes. This option cannot be used along with the clock name filter. Note that if -of_objects is used on a register that is a clock target, then the clock that targets that register will be returned. |
|||
Example Usage |
# get clocks that begin with 'c' or 'C', and print out their names and periods: set clocks [get_clocks c* -nocase] foreach_in_collection clk $clocks { set name [get_clock_info -name $clk] set period [get_clock_info -period $clk] puts "$name: $period" } # getting the clock that targets a port, and its generated clock: create_clock -name myClock -period 10.000 [get_ports CLK_100] create_generated_clock -name myGenClock -divide_by 2 -source [get_ports CLK_100] [get_pins reg|clk] get_clocks -of_objects [get_ports CLK_100] -include_generated_clocks # display the name of the clocks that drive registers beginning with 'reg_': foreach_in_collection reg [get_clocks -of_objects [get_registers reg_*]] { puts [get_clock_info -name $reg] } |
|||
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. |