南京观海微电子---时序分析基本概念(二)——保持时间

1. 概念的理解

以上升沿锁存为例,保持时间(Th)是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间。如下图所示,一个数据要在上升沿被锁存,那么这个数据需要在时钟上升沿到来后的保持时间内保持稳定。

保持时间是对触发器而言,以能够稳定准确的锁存或者触发为目的,对其输入数据信号保持稳定的时间要求。

2. 简单的实例

以两个级联寄存器为例。

时钟通过CLK PIN管脚输入,到达第一个寄存器的时钟端口经历的时延为Tclk1,到达第二个寄存器的线上时延为Tclk2。

第一个寄存器从时钟进入时钟端口驱动寄存器到寄存器输出数据的延时为Tco,Tco为寄存器内部的时延。

数据从第一个寄存器Q端口输出,经历Tdata延时到达第二个寄存器的数据输入端。Tdata可能包含路径上的延时以及引入的组合逻辑电路导致的延时。

时序图如下图所示:

图中,紫色区域为Th需要的时间,蓝色的区域为富余的保持时间(Th slack)。

如果由于Tclk2时间较长,使得Th slack为0,但Reg2的D输入口数据仍然能在下个时钟上升沿到来后保持Th时间,则Reg2寄存器仍然能稳定的采集到输入数据,如下图所示。

最后一种情况,如果由于Tclk2时间过长,使得Th slack为负值,Reg2的D输入口数据在下个时钟上升沿到来后保持时间不足Th,则Reg2寄存器不能稳定的采集到输入数据D,而是个亚稳态,如下图所示。

3. 时序计算公式

由以下时序图,我们可以得到保持时间的计算公式:

Th_slack = Tcycle + Tclk1 + Tco + Tdata - Tcycle - Tclk2 - Th;

其中Tcycle为CLK一个时钟周期的时间。

例:如果已知Tcycle为10ns(即工作时钟100MHz)、Tclk1为3ns、Tclk2为2ns、Tdata为3ns、Th为0.5ns、Tco为1ns,则求Th_slack为多少?

答:通过套用上面的公式可得

Th_slack = 10 + 3 + 1 + 3 - 10 - 2 - 0.5 = 4.5 ns

相关推荐
郦7771 分钟前
价格性价比高系列的高性能单片机MS32C001-C
单片机·嵌入式硬件
iCxhust16 分钟前
汇编字符串比较函数
c语言·开发语言·汇编·单片机·嵌入式硬件
小智学长 | 嵌入式35 分钟前
Arduino入门教程:1-1、先跑起来(点亮LED&打印Helloworld)
单片机·嵌入式硬件
码小文1 小时前
MCU、MPU、GPU、Soc、DSP、FPGA、CPLD……它们到底是什么?
笔记·单片机·嵌入式硬件·学习·ic常识
我命由我123453 小时前
STM32 开发 - 中断案例(中断概述、STM32 的中断、NVIC 嵌套向量中断控制器、外部中断配置寄存器组、EXTI 外部中断控制器、实例实操)
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·嵌入式
宋一平工作室3 小时前
单片机队列功能模块的实战和应用
c语言·开发语言·stm32·单片机·嵌入式硬件
SY师弟3 小时前
台湾TEMI协会竞赛——2、足球机器人组装教学
c语言·单片机·嵌入式硬件·机器人·嵌入式·台湾temi协会
挨踢玩家4 小时前
stm32---dma串口发送+fifo队列框架
stm32·单片机·嵌入式硬件
youcans_4 小时前
【EdgeAI实战】(3)边缘AI开发套件 STM32N6570X0 用户手册
stm32·单片机·嵌入式硬件·边缘计算·边缘ai
JXNL@8 小时前
STM32外设学习之串口
stm32·单片机·学习