虚拟时钟是一个在设计中没有真正源或者说与设计没有直接关系的一个时钟。例如,如果一个时钟不是设计中的时钟,而仅仅作为一个外部器件的时钟源,并且外部器件和该设计有输入或者输出的管脚,那么就认为这个时钟是虚拟时钟。
使用create_clock命令创造一个虚拟时钟,对源选项没有指定值。
你可以使用虚拟时钟来约束set_input_delay和set_output_delay。
上图展示了TimeQuest Timing Analyzer在何处需要设置虚拟时钟去正确的分析外部寄存器和内部设计逻辑之间的关系的实例。虽然名为virt_clk的晶振没有和Altera器件直接相互作用,但是担当起了外部寄存器的源时钟的角色,所以时钟virt_clk必须申明。
下面定义个具体的虚拟时钟的例子:
#定义系统时钟
Create_clock –period 10 –name sys_clk–waveform{0 5} [get_ports clk_in]
#定义虚拟时钟
Create_clock –period 20 –name virt_clk–waveform{0 10}
后面没有集体的端口。
虚拟时钟用于作为输出最大和最小延时约束的时钟源。
在你产生虚拟时钟之后,你可以执行register-to-register的分析报告(在Altera器件和外部器件的寄存器之间)。
文章评论(0条评论)
登录后参与讨论