建立时间和保持时间关系详解Word格式文档下载.docx
《建立时间和保持时间关系详解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《建立时间和保持时间关系详解Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。
组合逻辑电路最大延迟为T2max,最小为T2min。
问:
触发器D2的建立时间T3和保持时间T4应满足什么条件?
分析:
Tffpd:
触发器输出的响应时间,也就是触发器的输出在clk时钟上升沿到来之后多长的时间内发生变
化并且稳定,也可以理解为触发器的输出延时。
Tcomb:
触发器的输出经过组合逻辑所需要的时间,也就是题目中的组合逻辑延迟。
Tsetup:
建立时间
Thold:
保持时间
Tclk:
时钟周期
0。
建立时间容限:
相当于保护时间,这里要求建立时间容限大于等于
由上图可知,建立时间容限=Tclk-Tffpd(max)-Tcomb(max)-Tsetup,根据建立时间容限X),也就是
Tclk-Tffpd(max)-Tcomb(max)-TsetupX),可以得到触发器D2的Tsetup<
rclk-Tffpd(max)-Tcomb(max),由于题目没有考虑Tffpd,所以我们认为Tffpd=0,于是得到Tsetup<
r-T2max。
由上图可知,保持时间容限+Thold=Tffpd(min)+Tcomb(min),所以保持时间容限=Tffpd(min)+Tcomb(min)-Thold,根据保持时间容限羽,也就是Tffpd(min)+Tcomb(min)-TholdX)可以得到触发器D2的Thold<
rffpd(min)+Tcomb(min),由于题目没有考虑Tffpd,所以我们认为Tffpd=0,于是得到Thold百2min。
关于保持时间的理解就是,在触发器D2的输入信号还处在保持时间的时候,如果触发器
D1的输出已经通过组合逻辑到达D2的输入端的话,将会破坏D2本来应该保持的数据
建立时间与保持时间
这就要求时钟信号时延差要
时钟是整个电路最重要、最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行
非常小,否则就可能造成时序逻辑状态出错;
因而明确FPGA设计中决定系统时钟的因素,尽量较小时钟的延时对保证设计
的稳定性有非常重要的意义。
建立时间(Tsu:
setuptime)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数
据将不能在这个时钟上升沿被稳定的打入触发器;
保持时间(Th:
holdtime)是指数据稳定后保持的时间,如果保持时间不满
1所示。
足要求那么数据同样也不能被稳定的打入触发器。
建立与保持时间的简单示意图如下图
I
•■II
图1保持时间与建立时间的示意图
在FPGA设计的同一个模块中常常是包含组合逻辑与时序逻辑,为了保证在这些逻辑的接口处数据能稳定的被处理,那么对建立时间与保持时间建立清晰的概念非常重要。
下面在认识了建立时间与保持时间的概念上思考如下的问题。
举一个常见的
例子。
图2同步设计中的一个基本模型
图2为统一采用一个时钟的同步设计中一个基本的模型。
图中Tco是触发器的数据输出的延时;
Tdelay是组合逻辑的延时;
Tsetup是触发器的建立时间;
Tpd为时钟的延时。
如果第一个触发器D1建立时间最大为Timax,最小为T1min,组合逻辑的延
时最大为T2max,最小为T2min。
问第二个触发器D2立时间T3与保持时间T4应该满足什么条件,或者是知道了T3与T4那么能容许的最大时钟周期是多少。
这个问题是在设计中必须考虑的问题,只有弄清了这个问题才能保证所设计的组合逻辑的延时是否满足了要求。
下面通过时序图来分析:
设第一个触发器的输入为D1,输出为Q1,第二个触发器的输入为D2,输出为Q2;
Tpd为零,其实这种情况在FPGA
时钟统一在上升沿进行采样,为了便于分析我们讨论两种情况即第一:
假设时钟的延时设计中是常常满足的,由于在FPGA设计中一般是采用统一的系统时钟,也就是利用从全局时钟管脚输入的时钟,这样在内部时钟的延时完全可以忽略不计。
这种情况下不必考虑保持时间,因为每个数据都是保持一个时钟节拍同时又有线路的延时,也
D2的
就是都是基于CLOCK的延迟远小于数据的延迟基础上,所以保持时间都能满足要求,重点是要关心建立时间,此时如果
建立时间满足要求那么时序图应该如图3所示。
从图中可以看出如果:
T-Tco-Tdelay>
T3
即:
Tdelay<
T-Tco-T3
那么就满足了建立时间的要求,其中T为时钟的周期,这种情况下第二个触发器就能在第二个时钟的升沿就能稳定的采到
D2,时序图如图3所示。
图3符合要求的时序图
IIII
9///今/侈
!
翔
如果组合逻辑的延时过大使得
T-Tco-Tdelay<
4所示。
那么电路将不能正常的工
那么将不满足要求,第二个触发器就在第二个时钟的升沿将采到的是一个不定态,如图作。
图4组合逻辑的延时过大时序不满足要求
从而可以推出
T-Tco-T2max>
=T3
足要求那么输出的时序如图5所示。
图5时钟存在延时但满足时序
从图5中可以容易的看出对建立时间放宽了Tpd,所以D2的建立时间需满足要求:
Tpd+T-Tco-T2max>
由于建立时间与保持时间的和是稳定的一个时钟周期,如果时钟有延时,同时数据的延时也较小那么建立时间必然是增大
的,保持时间就会随之减小,如果减小到不满足D2的保持时间要求时就不能采集到正确的数据,如图6所示。
这时即T—(Tpd—Tco-T2min)<
T4,就不满足要求了,所以D2的保持时间应该为:
T—(Tpd+T—Tco-T2min)>
=T4即Tco+T2min-Tpd>
=T4
从上式也可以看出如果Tpd=0也就是时钟的延时为0那么同样是要求Tco+T2min>
T4,但是在实际的应用中由于T2的延
时也就是线路的延时远远大于触发器的保持时间即T4所以不必要关系保持时间。
Di
T-Tco-rd^lay+Tpdr
I'
CO
\////'
//////////////
图6时钟存在延时且保持时间不满足要求
下面用数字来说明一下加深理解(以下举例暂不考虑holdtime):
建立时间Tsetup=Tdelay+Tco-Tpd假设Tco(触发器固有的建立时间)=2ns
假设1,ClockDelay=0,Datadelay="
0"
,那么数据port的新数据必须在时钟port的时钟沿到来之前2ns赶到数据port,才能满足触发器的Tco。
假设2,Clockdelay="
,dataDelay=3ns,那么数据port的新数据必须在时钟port的时钟沿到来之前5ns就得赶到数据port,其中的3ns用来使新数据从数据port赶到触发器的D端(由于dataDelay),剩下的2ns用来满足触发器的Tco。
假设3,Clockdelay="
1ns"
,dataDelay=3ns,由于时钟port的时钟沿推后1ns到达触发器的时钟端,那么数据port的新数据只需在时钟port的时钟沿到来之前4ns赶到数据port即可。
假设4,假设时钟的周期T=4ns,即你的系统需要运行在250M频率上,那么以上的假设中,假设2显然是不成立的,也就
是说在假设2的情况下,你的系统运行频率是低于250M的,或者说在250M系统里是有setuptimeviolation的。
在假设2的情
况下,由于Tco及Tpd均是FPGA的固有特性,要想满足4ns的T,那么唯一你能做的就是想方设法减小Tdelay,也就是数据路径的延时。
即所谓的找出关键路径,想办法优化之。
总结,在实际的设计中,对于一个给定的IC,其实我们很容易看到T,Tpd,Tsetup,Th都是固定不变的(在跨时钟域时,T
pd会有不同),那么我们需要关心的参数就是Tdelay,即数据路径的延时,控制好了这个延时,那我们的设计就不会存在建立时间和保持时间不满足的情况了!
后记:
有个著名的笔试题,这样说道:
时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min,该触发器的数据输出延时为Tco。
组合逻辑电路最大延迟为T2max,最小为T2min。
假设D1在前,D2去采样D1的数据(实际就是对图2的文字描述),问,触发器D2的建立时间T3和保持时间应满足什么条件。
这里给出一个简易公式供大家死记一下,以下两个公式确定了D2的TsetuP和Thold:
1)D1的Tco+max数据链路延时+D2的Tsetup<
T(即T3<
T-Tco-T2max)2)D1的Tco+min数据链路延时>
D2的Thold(即T4<
Tco+T2min)其实上面的式2可以从T3+T4=T推出,不过要注意把1中的T2max改为T2min即可。
总之,建立时间长了,保持时间就短了。
实际中,某条数据链路延时是一个定值,只不过要求它落在区间{T2min,T2max}。
这也是T2min和T2max的实际意义。
从现实设计出发,个人觉得这个题改为考T2max和T2min更合适,那是不是有更多人犯晕呢?
!
hoho如果是那样的话,大家自己变个形吧
WelcomeTo
Download!
欢迎您的下载,资料仅供参考!