首页 > 代码库 > 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 max(late)影响启动沿,delay min(early)影响下一个启动沿。因为 delay max(late)会造就最小的建立时
间,换之 delay min(early)会造就最小的保持时间。
TimeQuest学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。