折线图的横轴的时间为什么会重复_为什么会有建立时间(setup time)和保持时间(hold time)要求...

2bbaa199738d1c8d45668cf4340459cd.png
欢迎大家关注“数字IC剑指offer”,分享秋招实用干货!

时序(Timing)是数字电路设计中最为关注的主题之一,而建立时间和保持时间又是两个非常重要的基本概念。在进一步分析setup和hold问题前,我们先来简单介绍下为什么会有建立时间setup和保持时间hold要求。

1、D触发器结构

要知道为什么会有setup、hold要求,首先要清楚D触发器的结构。D触发器可以由静态逻辑实现,也可以由动态逻辑实现,这里仅讨论静态CMOS D触发器。构成一个D触发器最普遍方法是采用主从结构。如下图所示,上升沿触发的主从结构D触发器由一个负latch(主级)和正latch(从级)串联而成,latch则可以采用传输门构成的多路开关MUX来实现。

fa573590df8787aebcd1c99b420ec1a5.png

图1 一种由主从latch构成的D触发器

113322d6e848a6b451030a64e8a64e5a.png

图2 由传输门构成的主从结构D触发器(图1latch中的MUX通过传输门逻辑实现)

2、为什么有建立时间(setup time)要求?

首先明确建立时间的概念:输入数据D在时钟上升沿之前必须保持稳定的最短时间。假设上图中反相器的延时都是t_inv,传输门的延时都是t_tx。对于传输门型的主从边沿触发器,输入数据在时钟上升沿到来之前必须依次传播通过I1,T1,I3,I2,这才能保证当时钟上升沿到来导致T2打开时,其两端的电压是相等的,否则交叉耦合反相器就会停留在一个不正确的值。
因此该结构的建立时间为:

T_setup=3*t_inv+t_tx

3、为什么有保持时间(hold time)要求?

首先明确保持时间的概念:输入数据D在时钟上升沿之后必须保持稳定的最短时间。保持时间其实是为了保证在时钟上升沿之后,D端的数据不能影响触发器在该上升沿采集的数据。我们都知道,时钟上升沿之后,主latch将处于锁存状态,也就是D数据是无法传输到主latch中的,那为什么还有这样一个保持时间要求呢?

仔细观察上图结构,D端数据不再影响主latch中数据的条件是当时钟上升沿到来时,传输门T1关断。但是注意,由于从D触发器的D pin和CLK pin到传输门T1的延时是不同的,且传输门的关断需要时间,因此在CLK信号到达传输门T1控制端并且完成关断动作之前,传输门T1前的数据端必须保持不变(注意不是D pin端数据),由此即可计算出保持时间要求。

假设传输门的关断不需要时间,而CLK net上的反相器和D net上的反相器延时相同,那么保持时间就为0。
如果CLK net的反相器延时为t_clkinv,D net的反相器延时为t_dinv,忽略传输门的关断时间,那么保持时间为:

T_hold=t_clkinv-t_dinv

4、建立时间、保持时间与什么因素有关?

(1)触发器本身的结构、工艺

(2)D、CLK信号的transition

(3)PVT
从上面的分析可以知道,建立时间、保持时间的大小本质上跟内部反相器和传输门的延时有关,凡是会影响门延时的因素都能影响建立时间和保持时间。比如,D、CLK信号transition的不同会导致D net和CLK net上的反相器延时不同,进而影响hold;而如果触发器本身采用LVT单元实现,那么速度更快,setup也就更小。

有关setup和hold基本概念的详细分析及其违例解决方法请见后续推送。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值