1 基本概念:
建立时间(Tsu):建立时间指的是在寄存器对输入信号采样这一时刻(如时钟上升沿),寄存器的输入保持不变的时间。
保持时间(Th):保持时间指的是在寄存器对输入信号采样这一时刻后,寄存器输入端任然要保持的时间。
一句话概括就是,在寄存器对输入数据进行采样时,输入在采样这一刻前后都要保持一定的时间,否则会出现时序为例。通过对建立时间和保持时间进行计算,可以确定数字电路工作的最高频率。
除此之外,当寄存器更新数据时,寄存器的输入并不是在时钟的上升沿立刻改变,而是在时钟上升沿后的一小段时间后改变。这个时间称为Tco延时。在信号传输过程中,组合逻辑的输入输出也存在着延时。
2 时序计算方法
2.1 通过建立时间分析时序
在通过建立时间进行分析时,满足以下不等式
数据路径 < 时钟路径
这个公式很好理解,输入要在时钟上升沿前来到,因此数据路径更小。
这里以下图为例,对reg2的时序进行分析。reg的CO延时为Tco,组合逻辑的延时为Tdata,reg2的建立时间为Tsu,时钟周期的为Tclk,时钟源到reg1的延时为Tc1,时钟源到reg2的延时为Tc2。
下面分别列出数据路径与时钟路径。
数据路径:Tc1 + Tco + Tdata + Tsu
时钟路径:Tclk + Tc2
带入不等式得到Tc1 + Tco + Tdata + Tsu < Tclk + Tc2
2.2 通过保持时间分析时序
在通过保持时间进行分析时,满足以下不等式
数据路径 > 时钟路径
这个公式很意味着数据要在寄存器采样后保持一定时间,因此数据路径更大。
同样以这张图为例,介绍通过保持时间分析时序的方法。reg的CO延时为Tco,组合逻辑的延时为Tdata,reg2的保持时间为Th,时钟周期的为Tclk,时钟源到reg1的延时为Tc1,时钟源到reg2的延时为Tc2。
数据路径:Tc1 + Tco + Tdata
时钟路径:Tc2 + Th
带入不等式,得到 Tc1 + Tco + Tdata > Tc2 + Th
3 时序分析实例
以上例子为一公司面试题。为了计算工作频率的最大值,则需要求出时钟频率的最小值。这里对建立时间进行分析。即 数据路径 < 时钟路径。
数据路径:逻辑延时 + INV_2延时 + 建立时间
时钟路径:Tclk
带入不等式得到:逻辑延时 + INV_2延时 + 建立时间 < Tclk
Tck > 6 + 2 + 2 = 10ns
时钟周期最小值为10ns,则时钟频率最大值为100MHz。