CDC小结——建立时间与保持时间的深入理解

前言:从接触IC开始主动被动地与跨时钟域(CDC)打了不少交道,所以对我目前所了解的与CDC相关的知识进行小结,便于自己复习总结。

相关知识:

(1)同步电路与异步电路

同步电路:由时钟驱动存储元件的电路,即存储元件的状态只在时钟沿到来时才发生变化。

异步电路:存储元件所存状态跟随输入信号的变化立即发生变化,信号之间的传递通常通过握手完成,不受时钟约束。

(2)建立时间(setup time)、保持时间(hold time)以及亚稳态(metastability)

建立时间:时钟沿到来之前输入信号必须保持稳定的最小时间。

保持时间:时钟沿到来之后输入信号必须保持稳定的最小时间。

亚稳态:当输入信号D无法满足建立时间或保持时间,称之产生了setup time/hold time violation,此时Q的输出无法确定是“0”或“1”,需要一定时间后才可以稳定。可以说,当Q端在clk-to-q time(输入信号满足setup time/hold time要求,从时钟沿到来时刻到输出端Q变化至稳定的时间)之后才稳定的话,我们说这个触发器产生了亚稳态。

(3)D触发器以及D触发器为什么有setup time与hold time的要求

D触发器(data flip-flop或delay flip-flop)内部是一个主从锁存器,锁存器能够存储住状态靠的是背靠背的反相器,而这个背靠背的反相器能够锁住状态是需要时间的。

G1~G4与非门是维持阻塞电路,G5~G6组成RS触发器。时钟直接作用于G2/G3门上,时钟为低时,通道关闭,为高时通道打开并进行数据的采样传输。

数据传输到G2/G3门之前,会经过G4/G1与非门,将引入时间延迟。即引入建立时间的概念就是为了补偿数据在G4/G1门上的延迟,时钟到来之前,G2/G3端的输入数据需要准备好,以便数据被正确采样。

数据被时钟采样完毕后,传输到RS触发器进行锁存之前,需经过G2/G3门,也会引入延迟。保持时间就是为了补偿数据在G2/G3门上的延迟。即时钟到来之后,要保证数据能够正确传输到G5/G6与非门输入端。

数据在传输中不满足建立时间与保持时间,会处于亚稳态,导致传输出错。

(4)约束条件

 Tskew:时钟偏移;

Tcomb:data path中的组合逻辑延迟;

Tcq:寄存器clock端到Q端的延迟;

Tsu:建立时间;

Thd:保持时间;

Tclk:时钟周期。

①建立时间约束条件

Tcq + Tcomb +Tsu <= Tclk + Tskew

数据传输时间小于时钟达到时间,即数据路径比时钟路径更快。

理论上电路承载的最小时钟周期与最快时钟频率分别是:

最小时钟周期 = Tcq + Tcomb +Tsu - Tskew

最快时钟频率 = 1/最小时钟周期

②保持时间约束条件

Tcq +Tcomb >= Thd + Tskew

前一级的数据延迟时间大于触发器的保持时间。

(5)建立时间与保持时间违例

建立时间违例:不满足时钟沿到来之前数据保持稳定的时间。

解决方法:增大Tclk,降低时钟频率;增大Tskew,在时钟路径上加上缓冲器,让时钟晚到来;减小Tcq,更换具有延时小的触发器;减小Tcomb,组合逻辑优化,如将串行的组合逻辑优化为并行逻辑,或其中插入触发器。

保持时间违例:不满足时钟沿到来之后数据保持稳定的时间。

解决方法:增加Tcq,更换具有更大器件延时的触发器;增大Tcomb,增加组合逻辑运算时间;减少Tskew,优化时钟路径,让时钟更早到来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值