目录
1.组合逻辑延迟
2.时钟输出延迟Tco
3.同步系统中时钟频率
3.1 建立时间与保持时间都满足
3.2 建立/保持时间不满足
(1) Tcomb太大导致建立时间不满足
(2) 器件的固有保持时间增大(老化)使得保持时间违例
4. 时钟偏斜及其影响
4.1时钟偏斜的物理意义
4.2 时钟偏斜对时序的影响
(1) 对于未引入时钟偏斜时,保持时间与建立时间均不为例必要条件:
(2)引入时钟偏斜后的时序图如下(Tskew21>0)
(3)引入时钟偏斜也可能会导致保持时间违例,进而输出亚稳态的情况(Tskew21>0)
(4)Tskew21 <0时,即clk2先于clk1到达其时钟端,保持时间就比较容易满足了,但对满足建立时间就有所要求了。
4.3实例介绍
1.组合逻辑延迟
布线延迟与门延迟
数字逻辑电路中,任何输出信号到输入信号之间都有一定的线路延迟,把这种线路延迟叫做布线延迟。当数字逻辑电路经过门电路时,同样会造成一定的延迟,我们把这个延迟叫做门延迟。
图1布线延迟
图2:门延时
2.时钟输出延迟Tco
clock to out的时间,即从时钟触发到数据输出的时间。这是针对触发器器件而言,是触发器的固有参数,不同厂家或不同批次的器件 该参数有差异。
图3:Tco
3.同步系统中时钟频率
图4:同步系统典型电路图
Tsu : 触发器建立时间
Th : 触发器保持时间
T : 电路的工作周期
Tco : 时钟输出延迟
Tskew : 时钟偏斜(clock skew),又称为时钟偏移,是指时钟信号到达数字电路各部分所用时间差异。
Tcomb: 组合逻辑的延迟。
时钟偏移Skew = 0
为由浅入深,假设 Skew = 0,即说明时钟到达所有器件的时间相同,没有差异,那么图中时钟上升沿1到时钟上升沿2之间刚好相隔一个工作周期T。下面介绍几种情况下的同步时序电路模型的时序图,图中标注了说明。
3.1 建立时间与保持时间都满足
下图为同步时序电路模型时序图1(Tskew=0,建立时间和保持时间都满足):
图6:建立保持时间时序图1分析
核心知识点:
(1) Tco+Tcomb将导致数据会延迟到达下一个触发器,要想数据到达下一个触发器时满足建立时间的要求,则必要条件为:
T-(Tco+Tcomb)>Tsu,即有T>Tco+Tcomb+Tsu。因此一个电路搭建好后,会有一个最小的工作周期Tmin=Tco+Tcomb或者最大的工作频率1/Tmin。
(2) 一般电路的工作时钟不是其所能跑的最高频率,那么其实际工作周期要大于其支持的最小工作周期,这个差值就是建立时间的裕量Ts_slack。反映在计算公式上即为:Ts_slack=T-Tmin=T-(Tco+Tcomb)。会不会出现T-(Tco+Tcomb) (3) Tco+Tcomb将会导致数据延迟到达下一个触发器,而下一个触发器不仅仅要求数据提前到达保持稳定一段时间,还要求数据被打入后保持一段时间稳定。假设数据源变化速率很慢,慢于时钟速率问题不大因为相邻周期触发器采样的是同一个值送往下一个寄存器,但同步系统中,数据一般跟随时钟同步跳转,即一个cycle会跳变一次,即数据保持一个时钟周期T的稳定状态。如此,本级寄存器在当前时钟采样的数据经过Tco+Tcomb延迟后到达下一级触发器,那么数据在下级触发器在下次时钟上升沿被打入后仍然会保持Tco+Tcomb时间。下级触发器要想满足保持时间,其必要条件为:Tco+Tcomb>Th . (4)一般Tco+Tcomb不可能刚好等于Th的,因此当Tco+Tcomb大于Th,那么Th-slack =Tco+Tcomb-Th。会不会出现Tco+Tcomb小于Th呢?这不就是保持时间违例的情况吗,遇到这种情况怎么办呢?下面也有介绍。 综上:要想时序收敛,就是建立保持时间不违例,二者缺一不可。 3.2 建立/保持时间不满足 (1) Tcomb太大导致建立时间不满足 下图为同步时序电路模型时序图2(Tskew =0,组合逻辑延迟太大,导致建立时间不能满足): 图7:建立时间违例时序图2分析 解决1:可通过降频(增大周期)以满足建立时间 下图为同步时序电路模型时序图3(Tskew = 0,增加时钟周期以满足建立时间): 图8:时钟频率降频 解决2:优化组合逻辑 解决3:切割组合逻辑 详见:如何提高电路工作频率 (2) 器件的固有保持时间增大(老化)使得保持时间违例 图9:保持时间违例时序图分析 解决:当不满足保持时间时,通过增大组合逻辑延迟Tcomb来是保持时间满足 图10:保持时间违例解决 当 Tskew不等于0 之前为了简单介绍知识点 ,未引入时钟偏移Tskew,但时间电路中是存在时间偏移的,分析时候不可忽视。 4. 时钟偏斜及其影响 图11 4.1时钟偏斜的物理意义 时钟偏移指定了同时发生的两个时钟信号经过时钟驱动器或布线后到达时间上的差异。 4.2 时钟偏斜对时序的影响 下图给出了未引入和引入时钟偏斜(clock skew)后的同步时序电路图对比模型: 图12 (1) 对于未引入时钟偏斜时,保持时间与建立时间均不为例必要条件: 保持时间不违例:Tco+Tcomb > Th; 建立时间不违例:T>Tco+Tcomb+Tsu。 因此不会产生输出亚稳态现象。也可推出 (T-Tco-Tsu) > Tcomb > (Th-Tco) ,即对组合逻辑延迟的要求。 【注意】:这里面只有时钟周期T和组合逻辑延迟Tcomb可变。 (2)引入时钟偏斜后的时序图如下(Tskew21>0) 图12中,由于引入了Tskew21(>0),导致FF2的时钟段clk2的时序相对于FF1的clk1延后了Tskew,但上图的情况属于并未导致保持时间违例,因此未发生输出亚稳态现象。 仔细分析就可以看出,相对于未引入时钟偏斜时的保持时间裕量(Th-slack = Tco+Tcomb-Th)。此情况中FF2的保持时间裕量变成了Th-slack = Tco+Tcomb-Th-Tskew21,减少了Tskew21。(原因就clk2滞后Tskew21,导致保持时间的起点和终点相对于数据延后了)。 1.保持时间不违例:Tco+Tcomb-Tskew21>Th 即依旧有Th-slack=Tco+Tcomb-Th-Tskew21>0,即Tco+Tcomb-Tskew21>Th ; 2.建立时间不违例:T+Tskew21>Tco+Tcomb+Tsu 只要未引入时钟偏移的时候(Tskew21 == 0)的时候,就满足建立时间要求 T>Tco + Tcomb +Tsu,那么引入Tskew后,时钟 Clk2相对于数据滞后,更能够满足建立时间了。甚至之前尚不满足建立时间要求即T < Tco + Tcomb + Tsu情况下,在引入 Tskew后,就有T+Tskew > Tco +Tcomb + Tsu满足了建立时间。 (3)引入时钟偏斜也可能会导致保持时间违例,进而输出亚稳态的情况(Tskew21>0) 1.保持时间违例:Tco+Tcomb-Tskew21 当引入的 Tskew21不够大时,没有超过保持时间裕量问题不大,但如果Tskew21太大,Tskew21>Tco+Tcomb-Th=Th-slack(未引入偏移时的裕量),就不再满足保持时间的要求,也会导致输出亚稳态。如下图所示; 2.建立时间必然不违例 如情况(2)种描述,只要在未引入时钟偏移的情况下满足建立时间,那么只要Tskew21>0就会必定不违例。并且建立时间的裕量: Ts_slack =Tskew+ (T - Tco -Tcomb -Tsu)增加了Tskew。(情况(2)的建立时间也是如此,在此补充一下) (4)Tskew21 <0时,即clk2先于clk1到达其时钟端,保持时间就比较容易满足了,但对满足建立时间就有所要求了。 1.保持时间必然不违例 因为在未引入偏移时候就有Tco+Tcomb > Th,只要Tskew21<0,则Tco+Tcomb-Tskew21 >Th必然满足。 2. 建立时间不违例:T+Tskew21 > Tco+Tcomb+Tsu 需要注意的是此时的Tskew21 < 0,因此 T > Tco+Tcomb+Tsu-Tskew21,此时最小时钟周期Tmin=Tco+Tcomb+Tsu-Tskew21 变大了,支持的最大时钟频率减小了。 标题 (5)同理,当Tskew21<0 并且T+Tskew21 < Tco+Tcomb+Tsu , 此时建立时间就违例了,就会产生输出亚稳态现象了。 4.3实例介绍 Ex1: 通常我们可以假设逻辑门的延时为1+0.1k,其中k为逻辑门的输入端个数。比如对于非门,只有一个输入端,那么其延时为1+1*0.1=1.1ns。现有触发器的时序参数为:Tsu=0.6ns, Th=0.4ns, 0.8ns ≤ Tco ≤ 1.0 ns , 需要计算下面电路的最小时钟周期: 答: Tclkmin =Tco-max+Tcomb-max+Tsu=1.0+1.1+0.6=2.7ns。所以该电路最高可跑时钟频率为fmax=1/Tclkmin=370.37Mhz。 Ex2: 4位计数器电路如下图所示: 电路中有很多电路中有很多路径可以使触发器开始(Enable)或结束(Disable),其中最长的路径开始于触发器Q0结束语Q3。电路中这种最长的路径称为关键路径。如上图中红色路线,包括触发器Q0的时钟信号输出至Q的延时Tco,3个与门,1个异或门以及建立时间Tsu,所以有: Tclkmin = Tco+3* Tand+Txor+Tsu=1.0+3*1.2+1.2+0.6=6.4ns fmax = 1/Tclkmin =156.25Mhz 电路的最短路径是每个触发器经过一个异或门到它自身,每条这样的路径的最小延时为Tco+Txor=0.8+1.2=2.0ns>Th=0.4ns, 所以电路中不存在时间违背。 Ex3:在上述Ex2中,是假定时钟clk是同时到达4个触发器的,即时钟clk不存在clock skew、现在我们仍然假设时钟信号clk同时到达Q0、Q1、Q2,但是到达Q3存在一个延时。这种时钟信号到达触发器的时间偏离称为时钟偏斜(clock skew)。关键路径为Q0到Q3,然而Q3的时钟偏斜具有减小延迟的作用。原因在于数据加载到触发器之前就额外的时间,将时钟偏斜skew=1.5ns计算在内,从Q0到Q3的路径上时延为: Tco+3*Tand+Txor+Tsu-Tskew=6.4-1.5=4.9ns(之前的时延为6.4ns)。此时从Q0到Q2的线路径成为关键路径:Tclkmin =Tco+2*Tand+Txor+Tsu=1.0+2*1.2+1.2+0.6=5.2ns, fmax =1/Tclkmin =192.31Mhz。这种情况下,时钟偏斜会提高时钟频率,但如果时钟偏斜是负的,则会降低时钟频率。 由于时钟偏斜的存在,数据加载到Q3会被延迟,对于所有开始于Q0,Q1,Q2而结束于Q3的路径,加载的延时会提高触发器维持时间的要求(Th+Tskew),其中最短的路径是从Q2到Q3,延迟为Tco + Tand + Txor = 0.8+ 1.2+1.2=3.2ns > Th+Tskew=1.9ns,所以不存在时间违背。 对于时钟偏斜值Tskew >= 2.8ns情况,可以看出存在时间违背,此时不论时钟频率多少,该电路都不可能可靠的工作。 我们再看下面这个例子,在这个电路中有一条路径开始于触发器Q1, 经过一些逻辑门网络,在触发器Q2的D端结束。由图可知,时钟信号到达触发器前存在不同的延迟。假设触发器Q1和Q2的时钟信号延迟分别为t1和t2,这两个触发器之间的时间偏斜可定义为Tskew= t2-t1,假设电路中通过逻辑门路径的最长延迟为TL,则这两个触发器的最小时钟周期为Tclk-min=Tco+TL+Tsu-Tskew, 因此如果t2-t1>0,则时钟频率会提升,否则时钟偏斜会降低频率。 为了计算触发器Q2是否存在时间违背,需要确定触发器的最短路径。如果电路中通过逻辑门的最小延迟为Tl,且Tl+Tco 原文链接:https://blog.csdn.net/qq_26652069/article/details/90756790
0,维持时间的限制将更难以满足,而如果t2-t1<0,则较易满足。