​​timing 计算

时间:2024-03-29 14:38:07

这篇文章接上篇文章继续讲一下时序系统中时序分析,如下图为一个时序系统的典型结构:

      ​​timing 计算                                

那么该系统的最大运行频率是多少呢?计算公式如下:

Fre_max=1/longest delay path

因此要计算系统的最大运行频率,就需要找出系统总的最长路径。而最长路径处于下面这三条路径当中:
1.Clock to Output delay: Tc2q + Tcomb_Q2Omax,其中Tcomb_Q2O指的是Q输出到任何输出的最长路径。

2.Register to Register delay:Tc2q + Tcomb_Q2D max + Tsetup,其中 Tcomb_Q2D max 指的是DFF的Q输出到DFF的D输入的最长路径。

3.Pin to Pin combination delay:Tcomb_I2O max,指的就是输入到输出的最长的路径,中间没有任何DFF的干扰。

一般情况下,时序系统的输入输出都会打进寄存器中,即如下图所示的结构:

                     ​​timing 计算

 

这种情况Thold 需要满足下面的式子:

Tc2q + Tpd min >=Thold,一般情况下在时序电路中是很容易满足这个等式的。

下面可以看一个简单的例子:切换频率的计算,如下图所示:

      ​​timing 计算

 

上面说到的都是对于内部DFF的分析,下面说一下对于外部输入如何计算setup时间和hold时间,这个是有区别与内部DFF的setup时间和hold时间的。

外部输入会通过一个pad驱动器缓冲,经过组合逻辑然后到达同步的输入端D,如下图所示:

       ​​timing 计算

 

这种情况下对于输入DIN来说最坏的情况就是CLK 先与DIN到达同步输入端,因此其setup时间为:

Din setup =Tsu + TpdDin max - Tpdclk min,这里的Tpd如下图中的虚线框图所示:

     ​​timing 计算

 

而这种情况下对于hold 时间来讲,最坏的情况就是数据Din先到同步输入端,而时钟clk后到达同步输入端,因此hold时间的计算方法如下:

Din hold= Thd + Tpdclk max - TpdDin min.

以上就是时序系统相关时间的计算方法,大家可以找一些题目巩固一下理解。