FPGA跨时钟域信号处理之亚稳态问题

1 篇文章 0 订阅

FPGA跨时钟域信号处理之亚稳态问题学习笔记
将慢速时钟域(PC 机中的波特率)系统中的 rx 信号同步到快速时钟域(FPGA 中的 sys_clk)系统中,所使用的方法叫电平同 步,俗称“打两拍法”。
跨时钟域会导致“亚稳态(metastable)”的问题,信号的上升沿和下降沿并不是瞬间被拉高或拉低的,而是有一个倾斜变化的过程,如下图中rx信号的上升沿和下降沿。如果数据传输中触发器的建立时间Tsu保持时间Th不满足,或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recoverytime)和撤离时间(removaltime)不满足,就可能产生亚稳态,此时触发器输出端 Q 在有效时钟沿之后比较长的一段时间处于不确定的状态。

建立时间Tsu:在时钟翻转之前数据rx必须有效的时间;维持时间Th:在时钟边沿之后数据必须仍然有效的时间。[3]

下图中rx的跳变沿处于时钟的
图1

  1. 单比特信号从慢速时钟域同步到快速时钟域需要使用打两拍的方式消除亚稳态。第一级寄存器产生亚稳态并经过自身后可以稳定输出的概率为 70%~80%左右,第二级寄存器可以稳定输出的概率为 99%左右,后面再多加寄存器的级数改善效果就不明显了,所以数据进来后一般选择打两拍即可。如下图中rx_reg1和rx_reg2。
    图2
    振荡时间 Tmet 是受到很多因素影响的,所以 Tmet 时间有长有短。当然有人会问到第二级寄存器的 Tmet2 的持续时间会不会继续延长到大于一个采样周期?这种情况虽然会存在,但是其概率是极小的,寄存器本身就有减小 Tmet 时间让数据快速稳定的作用(因为静态存储器用正反馈来建立双稳态网络,比如说两个相互串联的反相器为一种典型的双稳电路,在反相器VTC过渡区(翻转区)增益大于1时,反相器输出逻辑会收敛到额定逻辑电平中的一个)。亚稳态振荡时间 Tmet 关系到后级寄存器的采集稳定问题,Tmet 影响因素包括:器件的生产工艺、温度、环境以及寄存器采集到亚稳态里稳定态的时刻等。甚至某些特定条件,如干扰、辐射等都会造成 Tmet 增长。
  2. 另外单比特信号从快速时钟域同步到慢速时钟域还仅仅使用打两拍的方式会漏采数据,所以往往使用脉冲同步法或的握手信号法;而多比特信号跨时钟域需要进行格雷码编码(多比特顺序数才可以)后才能进行打两拍的处理,或者通过使用 FIFORAM 来处理数据与时钟同步的问题。

参考文献
[1]宋文强,胡毅.FPGA跨时钟域信号同步设计方法研究[J].单片机与嵌入式系统应用,2018,18(09):24-27+81.
[2]刘火良.FPGA Verilog开发实战指南——基于Altera EP4CE10[M].北京:机械工业出版社,2020:582
[3]Jan M.Rabaey.数字集成电路——电路、系统与设计.第二版.周润德.北京:电子工业出版社,2017:215-247,215

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值