建立时间与保持时间计算
1、概念
建立时间和保持时间都是针对触发器的特性而言,时序如下图所示
建立时间(Setup Time):
是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间,即在CLK上升沿来之前,数据必须提前一个最小时间量预先准备好。
保持时间(HoldTime):
是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,即在CLK上升沿到来之后,数据必须保持一个最小时间量不能变化。
2、 问题提出
信号在PCB板上进行传输过程会存在传输延迟,因此需要计算传输延迟范围来确定PCB走线长度误差范围。
如下题所示:
设备A到设备B使用随路时钟传送数据,A设备输出数据相对于时钟的延迟为T0=2ns,数据保持稳定的时间样衣工为7.5ns,时钟周期为8ns,B设备输入时使用始终的下一个上升沿采样数据,如果B设备要求的数据建立时间最小为2.5ns,数据保持时间最小为3ns,CLK在PCB上的布线延迟为T1,DATA在PCB上的布线延迟为T2,请计算出T1和T2之间必须满足的条件。
根据建立时间进行计算:
如上图所示,设备A输出数据在设备A的CLK的第二个上升沿到来后延迟T0进行输出,输出后保持7.5ns,设备B在CLK的第三个上升沿进行采集,因此数据有一整个时钟周期T的时间传输到设备B,并在CLK的第三个上升沿到来前保持稳定不变。因此在设备A时钟到来开始输出数据时为整个传输起始时间,到设备B在下一个CLK上升沿到来时数据必须已经传输到设备B的数据接收端,并保持不变,因此有一下计算公式:
数据传输线上的延迟(包含设备A接收到输出数据信号到数据开始输出延时T0和数据在PCB走线上的延时)+数据建立时间≤时钟传输线上延迟+时钟周期T(注数据在建立时间到来前保持不变的时间称为裕量,裕量≥0)
即T0+T2+裕量+TsetupB=T1+T,根据题目中数据计算得1.5≤T2-T1≤3.5
根据保持时间进行计算:
如上图所示,设备A输出数据在设备A的CLK的第二个上升沿到来后延迟T0进行输出,输出后保持7.5ns,设备A输出的下一个数据必须在设备B将当前数据采集完成后才能到来,即保持时间分析的是同一个时钟沿。在设备A输出第三个CLK上升沿开始设备B就要接收来自设备A的数据,即自设备A接收到输出数据的信号(上图第二个上升沿到来时)+数据在PCB上输出延时-设备B保持数据的时间≥时钟传输延迟的时间。(就是数据先于CLK到达设备B,在数据保持时间之前时钟沿必须带来以保证足够的保持时间)
按照上图有一下计算公式
数据传输线上的时延(包含包含设备A接收到输出数据信号到数据开始输出延时T0和数据在PCB走线上的延时)-设备B保持时间=时钟传输线上的时延+裕量(裕量≥0)
即T0+T2-TholdB=T1+裕量,根据题目中提供数据计算得1≤T2-T1≤3;
结合保持时间和建立时间计算满足的1.5≤T2-T1≤3.
3、总结:
根据建立时间计算:
数据传输线上的延迟(包含设备A接收到输出数据信号到数据开始输出延时T0和数据在PCB走线上的延时)+数据建立时间≤时钟传输线上延迟+时钟周期T(注数据在建立时间到来前保持不变的时间称为裕量,裕量≥0)
根据保持时间计算:
数据传输线上的时延(包含包含设备A接收到输出数据信号到数据开始输出延时T0和数据在PCB走线上的延时)-设备B保持时间=时钟传输线上的时延+裕量(裕量≥0)
注:以上为个人查找资料进行计算,如果计算机结果不对欢迎大家进行指正。