《建立时间与保持时间31546.docx》由会员分享,可在线阅读,更多相关《建立时间与保持时间31546.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、建立时间与保持时间 建立时间(Tsu:set up time)是指在时钟沿到来之前数据从不稳定到稳定所需的时间,如果建立的时间不满足要求那么数据将不能在这个时钟上升沿被稳定的打入触发器;保持时间(Th:hold time)是指数据稳定后保持的时间,如果保持时间不满足要求那么数据同样也不能被稳定的打入触发器。建立与保持时间的简单示意图如下图1所示。图1 保持持时间与与建立时时间的示示意图 在在FPGGA设计计的同一一个模块块中常常常是包含含组合逻逻辑与时时序逻辑辑,为了了保证在在这些逻逻辑的接接口处数数据能稳稳定的被被处理,那那么对建建立时间间与保持持时间建建立清晰晰的概念念非常重重要。下下面在
2、认认识了建建立时间间与保持持时间的的概念上上思考如如下的问问题。图2 同步步设计中中的一个个基本模模型 图图2为统统一采用用一个时时钟的同同步设计计中一个个基本的的模型。图图中Tcco是触触发器的的数据输输出的延延时;TTdellay是是组合逻逻辑的延延时;TTsettup是是触发器器的建立立时间;Tpdd为时钟钟的延时时。如果果第一个个触发器器D1建建立时间间最大为为T1mmax,最最小为TT1miin,组组合逻辑辑的延时时最大为为T2mmax,最最小为TT2miin。问问第二个个触发器器D2立立时间TT3与保保持时间间T4应应该满足足什么条条件,或或者是知知道了TT3与TT4那么么能容许许
3、的最大大时钟周周期是多多少。这这个问题题是在设设计中必必须考虑虑的问题题,只有有弄清了了这个问问题才能能保证所所设计的的组合逻逻辑的延延时是否否满足了了要求。 下下面通过过时序图图来分析析:设第第一个触触发器的的输入为为D1,输输出为QQ1,第第二个触触发器的的输入为为D2,输输出为QQ2; 时时钟统一一在上升升沿进行行采样,为为了便于于分析我我们讨论论两种情情况即第第一:假假设时钟钟的延时时Tpdd为零,其其实这种种情况在在FPGGA设计计中是常常常满足足的,由由于在FFPGAA设计中中一般是是采用统统一的系系统时钟钟,也就就是利用用从全局局时钟管管脚输入入的时钟钟,这样样在内部部时钟的的延
4、时完完全可以以忽略不不计。这这种情况况下不必必考虑保保持时间间,因为为每个数数据都是是保持一一个时钟钟节拍同同时又有有线路的的延时,也也就是都都是基于于CLOOCK的的延迟远远小于数数据的延延迟基础础上,所所以保持持时间都都能满足足要求,重重点是要要关心建建立时间间,此时时如果DD2的建建立时间间满足要要求那么么时序图图应该如如图3所所示。 从图中可以以看出如如果:T-Tcoo-TddelaayTT3即: Tddelaay T-TTco-T3那么就满足足了建立立时间的的要求,其其中T为为时钟的的周期,这这种情况况下第二二个触发发器就能能在第二二个时钟钟的升沿沿就能稳稳定的采采到D22,时序序图
5、如图图3所示示。 图3 符合合要求的的时序图图 如如果组合合逻辑的的延时过过大使得得T-TTco-TdeelayyTT3这也就是要要求的DD2的建建立时间间。 从从上面的的时序图图中也可可以看出出,D22的建立立时间与与保持时时间与DD1的建建立与保保持时间间是没有有关系的的,而只只和D22前面的的组合逻逻辑和DD1的数数据传输输延时有有关,这这也是一一个很重重要的结结论。说说明了延延时没有有叠加效效应。 第第二种情情况如果果时钟存存在延时时,这种种情况下下就要考考虑保持持时间了了,同时时也需要要考虑建建立时间间。时钟钟出现较较大的延延时多是是采用了了异步时时钟的设设计方法法,这种种方法较较难
6、保证证数据的的同步性性,所以以实际的的设计中中很少采采用。此此时如果果建立时时间与保保持时间间都满足足要求那那么输出出的时序序如图55所示。图5 时钟钟存在延延时但满满足时序序 从从图5中中可以容容易的看看出对建建立时间间放宽了了Tpdd,所以以D2的的建立时时间需满满足要求求:TpdTT-Tcco-TT2maaxT3 由由于建立立时间与与保持时时间的和和是稳定定的一个个时钟周周期,如如果时钟钟有延时时,同时时数据的的延时也也较小那那么建立立时间必必然是增增大的,保保持时间间就会随随之减小小,如果果减小到到不满足足D2的的保持时时间要求求时就不不能采集集到正确确的数据据,如图图6所示示。 这这
7、时即TT(TTpd+TTTco-T2mmin)T44 即TTcoT2mmin-TpddTT4 从从上式也也可以看看出如果果Tpdd0也也就是时时钟的延延时为00那么同同样是要要求TccoTT2miinTT4,但但是在实实际的应应用中由由于T22的延时时也就是是线路的的延时远远远大于于触发器器的保持持时间即即T4所所以不必必要关系系保持时时间。图6 时钟钟存在延延时且保保持时间间不满足足要求 综综上所述述,如果果不考虑虑时钟的的延时那那么只需需关心建建立时间间,如果果考虑时时钟的延延时那么么更需关关心保持持时间。下下面将要要分析在在FPGGA设计计中如何何提高同同步系统统中的工工作时钟钟。 如何
8、提高高同步系系统中的的工作时时钟 从从上面的的分析可可以看出出同步系系统时对对D2建建立时间间T3的的要求为为:T-Tcoo-T22maxxTT3 所所以很容容易推出出TT3+Tcoo+T22maxx,其中中T3为为D2的的建立时时间Tsset,TT2为组组合逻辑辑的延时时。在一一个设计计中T33和Tcco都是是由器件件决定的的固定值值,可控控的也只只有T22也就时时输入端端组合逻逻辑的延延时,所所以通过过尽量来来减小TT2就可可以提高高系统的的工作时时钟。为为了达到到减小TT2在设设计中可可以用下下面不同同的几种种方法综综合来实实现。通过改变走走线的方方式来减减小延时时 以以altteraa
9、的器件件为例,我我们在qquarrtuss里面的的timmingg cllosuure flooorpplann可以看看到有 很多条条条块块块,我们们可以将将条条块块块按行行和按列列分,每每一个条条块代表表1个LLAB,每每个LAAB里 有8个个或者是是10个个LE。它它们的走走线时延延的关系系如下:同一个个LABB中(最最快) 同同列或者者同行 不不同行且且不同列列。 我我们通过过给综合合器加适适当的约约束(约约束要适适量,一一般以加加5%裕裕量较为为合适,比比如电路路 工作作在1000Mhhz,则则加约束束加到1105MMhz就就可以了了,过大大的约束束效果反反而不好好,且极极大增加加综合
10、时时间)可可以将相相关的逻逻辑在布布线时尽尽量布的的靠近一一点,从从而减少少走线的的时延。 通过拆分分组合逻逻辑的方方法来减减小延时时 由由于一般般同步电电路都不不止一级级锁存(如如图8),而而要使电电路稳定定工作,时时钟周期期必须满满足最大大延时要要求,缩缩短最长长延时路路径,才才可提高高电路的的工作频频率。如如图7所所示:我我们可以以将较大大的组合合逻辑分分解为较较小的几几块,中中间插入入触发器器,这样样可以提提高电路路的工作作频率。这这也是所所谓“流水线线”(piipelliniing)技技术的基基本原理理。 对对于图88的上半半部分,它它时钟频频率受制制于第二二个较大大的组合合逻辑的的
11、延时,通通过适当当的方法法平均分分配组合合逻辑,可可以避免免在两个个触发器器之间出出现过大大的延时时,消除除速度瓶瓶颈。图7 分割割组合逻逻辑图8 转移移组合逻逻辑 那么在设设计中如如何拆分分组合逻逻辑呢,更更好的方方法要在在实践中中不断的的积累,但但是一些些良好的的设计思思想和方方法也需需要掌握握。我们们知道,目目前大部部分FPPGA都都基于44输入LLUT的的,如果果一个输输出对应应的判断断条件大大于四输输入的话话就要由由多个LLUT级级联才能能完成,这这样就引引入一级级组合逻逻辑时延延,我们们要减少少组合逻逻辑,无无非就是是要输入入条件尽尽可能的的少,这这样就可可以级联联的LUUT更少少,从而而减少了了组合逻逻辑引起起的时延延。