首页 > 代码库 > TimeQuest学习

TimeQuest学习

1、物理时钟特性:clock skew(时钟差),jitter(拉动),clock latency(时钟潜伏),这些物理时钟特性又称为uncertainl--非定性,或非理想性。

 clock skew定义:fpga_clk ext_clk 的抵达时间不一致所导致的时间差 

clock skew = <destination reg clock delay> - <source reg clock delay>
在知道clock skew时可以通过clock skew来计算输入输出延迟。

input max = <ext2fpga delay max> - < destination reg clk delay - source reg clk delay > + ext_Tco
= <ext2fpga delay max> - < clock skew > + ext_Tco

input min = < fpga2ext delay min > - < destination reg clk delay - source reg clk delay > + ext_Tco
= <fpga2ext delay min> - < clock skew > + ext_Tco(或者 ext_minTco

output max = <fpga2ext delay max> - < destination reg clk delay - source reg clk delay > + ext_Tsu
= <fpga2ext delay max> - < clock skew > + ext_Tsu

output min = < fpga2ext delay min > - < destination reg clk delay - source reg clk delay > - ext_Th
= <fpga2ext delay min> - < clock skew > - ext_Th

如果没有提供clock skew而是提供了拉动与潜伏,那就要用到set_clock_latency了。

抖动与潜伏:当时钟源产生时钟信号的时候,除了时钟路径的延迟以外,时钟产生源本身也有延迟,不过这个源的延迟有时大有时小。

set_clock_latency 的约束行为不是为某个时钟设置延迟,而是告诉 TimeQuest 有关外边时钟信号的延迟信息。虽然说 set_clock_latency 约束

命令,内外模型的时钟潜伏它都可以设置,不过 TimeQuest 会无视 set_clock_latency 对内部模型的一切影响 。

 

1、设置输入输出延时input max = <ext2fpga delay max> + ext_Tcoinput min = <ext2fpga delay min> + ext_Tco(或者 ext_minTco)output max = <fpga2ext delay max> + ext_Tsuoutput min = < fpga2ext delay min > - ext_Th2、设置latencyset_clock_latency

 



 

技术分享

 

如上图所示,这个时钟最小迟延是1ns,称为early.最大迟延时2ns,称为late.产生源有抖动但是没有
min/max early/late)之分,这种情况下我们称为 both

delay maxlate)影响启动沿,delay minearly)影响下一个启动沿。因为 delay maxlate)会造就最小的建立时
,换之 delay minearly)会造就最小的保持时间

 

TimeQuest学习