waterglass

读riple "TimeQuest就一定要搞定——时序分析基本公式" 的个人理解

0
阅读(3212)

 与大家共同讨论。以下橘色字为本人的理解:

  

此处以建立时间为例,分析下面三组公式在时序约束中的意义,及其关系。

以下公式,本质上都是一样的,即通过建立(保持)时间裕量的范围,计算出FPGA中所应施加的合理时序约束。原理其实只有一个,即建立和保持时间不违规,即:Clock Setup Slack = Data Required Time Data Arrival Time 大于0(保持时间同理)。

为何将建立时间检查分为三组?因为分析的对象的模型不同,有时分析路径都在FPGA内部,有时输出在FPGA内部、输入在外部,还有时输入在内部、输出在外部。因此,才出现了以下三种不同路径的分析。

为何引入input/output delay,也许是因为为了便于将外部各种路径(外围器件、PCB等)统一起来,给分析工具一个总的延时,使之便于分析调整。

需要特别指出的一点是:由于时序分析是针对时钟驱动的电路进行的,所以分析的对象一定是“寄存器-寄存器”对。在分析涉及到I/O的时序关系对时,看似缺少一个寄存器分析对象,构不成“寄存器-寄存器” 对,其实是穿过FPGAI/O引脚,在FPGA外部虚拟了一个寄存器作为分析对象。

所以分析路径,均为前级寄存器始终端,到后级寄存器输出端。

 

原文地址在此 http://blog.chinaaet.com/detail/3618.html 

1)寄存器-寄存器(Register-to-Register)路径检查:

Clock Setup Slack = Data Required Time Data Arrival Time

Data Arrival Time = Launch Edge + Clock Network Delay Source Register +μtco + Register-to-Register Delay

Data Required Time = Clock Arrival Time – μtsu Setup Uncertainty

Clock Arrival Time = Latch Edge + Clock Network Delay to Destination Register

2)输入引脚-寄存器(Pin-to-Register)路径检查:

Clock Setup Slack Time = Data Required Time Data Arrival Time

Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + Input Maximum Delay of Pin + Pin-to-Register Delay

Data Required Time = Clock Arrival Time – μtsu

Clock Arrival Time = Latch Edge + Clock Network Delay to Destination Register

3) 寄存器-输出引脚(Register-to-Pin)路径检查:

Clock Setup Slack Time = Data Required Time Data Arrival Time

Data Arrival Time = Launch Edge + Clock Network Delay to Source Register + μtco + Register-to-Pin Delay

Data Required Time = Clock Arrival Time Output Maximum Delay of Pin

Clock Arrival Time = Latch Edge + Clock Network Delay to Destination Register

从上面三组公式可以看出:Data Arrival Time的前两项是相同的;Data Required Time的第一项是相同的;Clock Arrival Time的公式是相同的。

所以,第一组公式可以归纳如下:

Clock Setup Slack Time = Data Required Time Data Arrival Time

Data Arrival Time = 时钟到达前级寄存器的时刻 + 前级寄存器时钟到后级寄存器数据输入的延迟

Data Required Time = 时钟到达后级寄存器的时刻 – 后级寄存器的建立时间

其中,后两个公式的第二项在其他情况下适当修改即可。

这就和一些书中讲到时序分析时采用的公式一致了。

与大家共同讨论。以下橘色字为本人的理解:

  

此处以建立时间为例,分析下面三组公式在时序约束中的意义,及其关系。

以下公式,本质上都是一样的,即通过建立(保持)时间裕量的范围,计算出FPGA中所应施加的合理时序约束。原理其实只有一个,即建立和保持时间不违规,即:Clock Setup Slack = Data Required Time Data Arrival Time 大于0(保持时间同理)。

为何将建立时间检查分为三组?因为分析的对象的模型不同,有时分析路径都在FPGA内部,有时输出在FPGA内部、输入在外部,还有时输入在内部、输出在外部。因此,才出现了以下三种不同路径的分析。

为何引入input/output delay,也许是因为为了便于将外部各种路径(外围器件、PCB等)统一起来,给分析工具一个总的延时,使之便于分析调整。

需要特别指出的一点是:由于时序分析是针对时钟驱动的电路进行的,所以分析的对象一定是“寄存器-寄存器”对。在分析涉及到I/O的时序关系对时,看似缺少一个寄存器分析对象,构不成“寄存器-寄存器” 对,其实是穿过FPGAI/O引脚,在FPGA外部虚拟了一个寄存器作为分析对象。

所以分析路径,均为前级寄存器始终端,到后级寄存器输出端。