可以使用 create_clock 命令在任何寄存器、端口或引脚中创建时钟。创建的每个时钟可以具有独特特性。以下列表显示了 create_clock 命令以及可用选项:
create_clock -period <period value> [-name <clock name>] [-waveform <edge list>] [-add] <source objects>
表 1 介绍了 create_clock 命令的选项。
表 1.create_clock 命令选项说明
选项 |
描述 |
---|---|
-period <period value> |
指定时钟周期。还可以将频率指定为 -period <number>MHz。(1) |
-name <clock name> |
特定时钟的名称,如 sysclock。如果没有指定时钟名称,时钟名称将与分配了此时钟的节点的名称相同。 |
-waveform <edge list> |
指定时钟的上升沿和下降沿。时钟沿列表交替显示上升沿和下降沿。例如,如果一个 10 ns 周期的第一个上升沿在 0 ns 处出现,第一个下降沿在 5 ns 处出现,它将被写为 waveform {0 5}。两者的差必须小于一个周期单位,上升沿必须在下降沿之前出现。默认时钟沿列表是 {0 <period>/2},表示占空比为 50%。 |
-add |
可以为同一个端口或引脚指定多个时钟。 |
<source objects> |
指定赋值适用的端口或引脚。如果未指定源对象,时钟将为虚拟时钟。 |
注:
- Timing Analyzer 中的默认时间单位是纳秒 (ns)。
使用 create_clock 命令定义的时钟的默认源延迟值为 0。Timing Analyzer 自动计算非虚拟时钟的时钟网络延迟。
100 MHz 时钟的创建
此示例展示了如何创建占空比为 50%、应用于端口 clk 的 10 ns 时钟,其中的第一个上升沿在 0 ns 处出现。
create_clock -period 10 -waveform { 0 5 } clk
偏移 90 度的 100 MHz 时钟的创建
此示例展示了如何创建占空比为 50%、相移 90 度、应用于端口 clk_sys 的 10 ns 时钟。
create_clock -period 10 -waveform { 2.5 7.5 } clk_sys