单bit跨时钟域处理方法

1、慢时钟域到快时钟域

频率相差2倍以下,为避免快时钟采样丢失,需要进行握手的同步处理。

频率相差 2倍以上,快时钟采样不会丢失,不用考虑,使用两级触发器同步也就是电平同步器。但为了避免快时钟多次采样到有效信号,使用边沿检测同步器。边沿检测同步器:通过在电平同步器增加一个触发器,新增触发器的输出经过反相器后和电平同步器的输出进行与操作,得到在快时钟域和慢时钟域时间周期相同的单bit信号,如原本在慢时钟域为2个clk,同步到快时钟域还是2个clk.

具体代码和图如下,图7-10 表示电平同步器解决亚稳态问题。第一级触发器bdat1在采样异步信号adat时候可能会进入亚稳态,在bclk上升沿数据发生变化,不满足建立保持时间。但经过一个bclk的延时,当第2级触发器bdat2采样其输出信号bdat1时候,它已经恢复到一个有效电平的稳定状态,使得第二级触发器不再出现亚稳态,防止亚稳态在整个电路的传播。

具体rtl代码如下

为了避免快时钟多次采样到有效信号,使用边沿检测同步器,具体的波形如图7-11(b)。

具体代码如下:

        电平同步器又加了一个触发器,将第二级触发器的输出和第三级的触发器进行组合逻辑运算得到真实输出。always组合逻辑块也可以直接变为assign rd_en_s2f = rd_en_s2f2 &&(~rd_en_s2f3);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值