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 对内部模型的一切影响 。
、设置输入输出延时 input max = <ext2fpga delay max> + ext_Tco input min = <ext2fpga delay min> + ext_Tco(或者 ext_minTco) output max = <fpga2ext delay max> + ext_Tsu output min = < fpga2ext delay min > - ext_Th 、设置latency set_clock_latency
如上图所示,这个时钟最小迟延是1ns,称为early.最大迟延时2ns,称为late.产生源有抖动但是没有
min/max (early/late)之分,这种情况下我们称为 both
delay max(late)影响启动沿,delay min(early)影响下一个启动沿。因为 delay max(late)会造就最小的建立时
间,换之 delay min(early)会造就最小的保持时间。