Timing Analyzer create_clock Command

You can use the create_clock command to create a clock at any register, port, or pin. You can create each clock with unique characteristics. The following list shows the create_clock command and the available options:

create_clock
     -period <period value>
     [-name <clock name>]
     [-waveform <edge list>]
     [-add]
     <source objects>

Table 1 describes the options for the create_clock command.

Table 1. Option Descriptions for create_clock Command

Option Description
-period <period value>Specifies the clock period. You can also specify the frequency as -period <number>MHz. (1)
-name <clock name>Name of the specific clock, for example, sysclock. If you do not specify the clock name, the clock name is the same as the node to which it is assigned.
-waveform <edge list>Specifies the clock's rising and falling edges. The edge list alternates between rising edge and falling edge. For example, a 10 ns period where the first rising edge occurs at 0 ns and the first falling edge occurs at 5 ns would be written as waveform {0 5}. The difference must be within one period unit, and the rise edge must come before the fall edge. The default edge list is {0 <period>/2}, or a 50 percent duty cycle.
-addAllows you to specify more than one clock to the same port or pin.
<source objects>Specifies the port(s) or pin(s) to which the assignment applies. If source objects are not specified, the clock is a virtual clock.

Note:

  1. The default time unit in the Timing Analyzer is nanoseconds (ns).

Clocks defined with the create_clock command have a default source latency value of zero. The Timing Analyzer automatically computes the clock's network latency for non-virtual clocks.

100MHz Clock Creation

This example shows how to create a 10 ns clock with a 50 percent duty cycle, where the first rising edge occurs at 0 ns applied to port clk.

create_clock -period 10 -waveform { 0 5 } clk

100MHz Clock Shifted by 90 Degrees Clock Creation

This example shows how to create a 10 ns clock with a 50 percent duty cycle that is phase-shifted by 90 degrees applied to port clk_sys.

create_clock -period 10 -waveform { 2.5 7.5 } clk_sys