跨时钟域电路设计——亚稳态及双锁存器

一、同步电路

定义:电路中所有受时钟控制的单元,全部由一个统一的时钟控制。

优点:在同步设计中,EDA工具可以保证电路系统的时序收敛,避免电路设计中的竞争冒险。

缺点:时钟树综合需要加入大量延迟单元,使电路面积和功耗大大增加。

 

二、异步电路

定义:电路数据传输可以在任一时刻发生,没有一个统一的时钟控制。

优点:模块化特点突出,对信号延迟不敏感,没有时钟偏斜问题,低功耗的特性

缺点:设计复杂,缺少相应EDA工具支持

 

同步电路和异步电路的区别在于电路触发是否与驱动时钟同步,从行为上讲,就是所有电路是否在同一时钟沿下同步地处理数据。(《XilinxFPGA设计权威指南》P86~P91 )

即所说的同一个时钟域或不同时钟域,主要是针对时钟源点来区分的。比如有好几个时钟,都是从一个PLL出来的,那这些时钟的相位和倍数都是可控的,我们认为它们之间是同步时钟。

目前大多大规模ASIC和SOC中,都采用全局异步,局部同步的方法。

 

三、方案概述

 

 

四、亚稳态

定义:触发器无法在规定时间内达到一个可确认的状态。

  

无法预测输出的电平,也无法预测何时输出才能稳定。

亚稳态无法从根本上消除,但可以采取一定的措施使其造成的影响降低。

 

五、快慢转换

 

六、双锁存器

实际上为两个触发器。在一个信号进入另一个时钟域之前,用两个锁存器连续锁存两次。

优点:结构简单,易实现,面积消耗小。

缺点:增加两级触发器延时。从快时钟域到慢时钟域,易采样丢失。

适用场景:慢时钟域转到快时钟域。data_delta>clk_slow+2*clk_fast+path_delay,确保所有数据变化均能采集到。

结论:两级触发器已经将MTBF变得足够大,再多触发器影响电路效率。增加寄存器同步的方法为降低亚稳态出现的概率。

verilog代码如下:

 

六、跨时钟域电路设计参考书目

1.SOC设计方法与实现(第三版)郭炜等.

2.FPGA深度解析 樊继明,陆锦宏. 

 

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沧海一升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值