虚拟时钟
虚拟时钟,指的是在设计中不存在的时钟,因此设计中定义虚拟时钟满足以下3个特点:
1.设计中的某个时钟是一个现实存在的,但是其时钟源不是来自设计中任何的引脚和端口,即设计中的时序单元都不是由该时钟触发,然而设计中部分时序路径的输入输出端口又与该时钟相关。如下图所示,由于时钟1并不直接在设计里起作用,时钟1即为虚拟时钟。
2.由于虚拟时钟与设计中的任何引脚和端口没有直接关系,所以定义虚拟时钟的命令中不指定时钟的端口。
通过SDC命令create_clock来创建虚拟时钟,比如通过该命令定义一个周期为10、占空比为50%的虚拟时钟信号。
create_clock -name virtual_clk -period 10 -waveform {0 5}
3.虚拟时钟在设计中的实际应用是用于作为输入输出端口延时约束的时钟源,主要分为以下3种情况。
(1)设计的输入端口信号来自外部某个时钟控制下的时序路径输出端,如下图所示。