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. |
-add |
Allows 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:
- 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