建立/保持时间

建立/保持时间

1.建立时间
由于数据需要经过两级触发器,建立时间主要关注第二级触发器的建立时间是否满足要求,以第一级为源触发器,第二级为目标触发器,时钟到达D0时间为Tclk1,到达D1的时间为Tclk2.
建立时间指的是时钟到达第二级触发器的延时一定要大于数据到达的时间。
image
本身时钟源到达D0触发器和到达D1触发器的时间就不同,clk1小于clk2,且第二级触发器的采样时间本身就落后第一级一个周期。从数据流上解析,也就是数据路径,到达第二级触发器且满足建立时间需要经过的延时有:
clk时钟源的clk1,因为数据只有到达D0触发器的时候数据才开始传输。
第一级触发器内部电路延时Tco。
第一级触发器和第二级触发器之间的延时Tdata。
第二级触发器满足的最小建立时间Tsu。
从时钟路径上看,第二级触发器到真正接收到稳定数据(建立时间)需要经过的延时有:
一个时钟本身,因为第二级触发器本身就落后于第一级触发器一个周期。
时钟源到第二级触发器的延时clk2.
要想满足建立时间的关系,就要在时钟有效沿到来之前,将数据稳定下来,这就要求数据路径上的延时一定要小于时钟路径,因为只有这样在时钟关系满足前,数据路径上数据就已经稳定下来了。
因此表达式满足Tclk1+Tco+Tdata+Tsu<=Tperoid+clk2,可变换成Tco+Tdata+Tsu<=Tperiod+Tskew,其中Tskew代表时钟偏移,也就是Tclk2-Tclk1。而建立时间裕度指的就是时钟路径与数据路径的差值,差值越大,数据越稳定。
2.保持时间
经过上面的建立时间之后,第二级触发器成功拉高,到第二个数据到来之前,该触发器一直拿着第一次传的数据,要想满足保持时间的满足,就要保证第二个数据传过来经过的时间,同样涉及数据路径和时钟路径。
image
首先先看数据路径,由于此时是观察保持时间,从时钟源开始看1,当始终源处于高电平时,需要经过Tclk1才能到达D0,再经过Tco和Tdata才能到第二级,数据路径延时就是Tclk1+Tco+Tdata
其次是时钟路径,对于时钟则是从时钟源开始到第二触发器的延时Tclk2,以及自身需要保持的时间Thold。
因此数据路径上的这种延时最好是能大于始终到达第二级且满足最小建立时间,也就是Tclk1+Tco+Tdata>=Tclk2+Thold,也可以写成Tco+Tdata>=Thold+Tskew,其中Tskew代表时钟偏移,也就是Tclk2-Tclk1。