寄存器间数据传输时序分析之保持时间

拿触发器图为例描述两个寄存器之间的数据传输, 寄存器A下文称RA的data数据在clk的驱动下,输出到寄存器B,RB在clk上升沿采集data,时钟源为同一clk,那么有以下几个时间段:
TclkA:pad上的时钟到RA的线路时钟延时
Tco:时钟在RA中的输入端D到输出端Q的延时
Tdata:数据从RA的Q端输出到RB的D端线路上时钟延时
通过以上几个参数即可以得出数据到达RB的时间
Data Arrival Time=TclkA+Tco+Tdata
同理,在数据到达时间(Data Arrival Time)的基础上加一个时钟周期即是在RB上的数据结束时间
假设时钟周期为T_cycle。
Data finish time=Data Arrival Time+T_cycle
对RB则有,TclkB:时钟源到RB的线路时钟延时
【寄存器间数据传输时序分析之保持时间】保持时间门限为Tth:表示时钟采样沿来之后,数据需要保持稳定的最短时间,可以理解为RB的时钟延时与数据延时的差值,不过这个数据延时是数据结束时间的延时,在原来Tdata上要加一个时钟周期
通过Tth可以知道Data finish time需要至少在时钟采样沿来之后间隔Tth的时间。
所以有require Data finish time=Tth+TclkB+T_cycle
其中,要求数据结束时间require Data finish time的T_cycle是表示在clk到目的寄存器RB的时钟发射沿(lunch clk)基础上加一个周期得到采样沿(latch clk)
对于保持时间余量Hold Slack = Data finish time - require Data finish time = TclkA+Tco+Tdata-Tth-TclkB
综上,从保持时间余量可以看出,保持时间与时钟周期无关,与时钟偏斜和数据线路传输延时相关。
具体时序图可参考建立时间说明:
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《寄存器间数据传输时序分析之建立时间》, 一起来围观吧 https://blog.csdn.net/kefeilong123/article/details/107032782?utm_source=app

    推荐阅读