AMD FPGA设计优化宝典笔记(2)亚稳态

本文介绍了亚稳态在寄存器采样中的影响,以及如何通过双触发器同步器解决单bit信号的跨时钟域问题。对于多比特数据,FIFO在处理视频数据时至关重要,MTBF分析显示接收时钟频率和异步信号翻转率对降低亚稳态风险的影响。
摘要由CSDN通过智能技术生成

在这里插入图片描述

一 亚稳态

亚稳态的产生是由于寄存器采样不满足建立时间或保持时间要求导致的,亚稳态的产生是无法避免的,我们能做的只是想办法降低其发生的频率。在跨时钟域设计中,由于时钟域存在跨域,如果不采取手段,则会有很大概率会引入亚稳态。

今天看了亚稳态这一章,感觉印象最深刻的是,它对应的是异步的处理,也就是发送的寄存器的时钟是一个,接收寄存器的时钟是另外一个。

1 单bit的信号

如果是一个单比特的信号,那么可以通过让接收寄存器的从一个变成两个级联,这样的话在第二个时钟域就有两拍可以完成,相当于哪怕第一拍出现亚稳态没采上信号,第二拍大概率可以采上了。

下图黑框里的部分,专业名称是双触发器同步器,也可以叫级联触发器构成的同步链,英文名称two flip-flop synchronizer

在这里插入图片描述

在代码中需要用到 ASYNC_REG这个综合属性:

ASYNC_REG用于单bit信号采用双(或多)触发器实现异步跨时钟域的场合,此时所有用于同步的触发器都要标记ASYNC_REG。标记方式为:
(* ASYNC_REG = “TRUE” *) reg sync_0, sync_1;
目的是告诉综合工具布线时将这2个寄存器放在一起(即同一个SLICE中),从而减少线延迟对时序的影响。

2 多bit的信号

如果是多比特的数据的话,那就必须得用 FIFO 了。其实我在实际经验中会用到 FIFO 处理跨时钟域的视频数据,是多比特的,以前不明白这个点没有考虑太多,原来最根本的就是时钟异步的处理,就防止有这种亚稳态。

在亚稳态的这一章里面还有一个平均无故障时间MTBF,公式推导完就可以发现,就是接收触发器的接收时钟频率越大,还有同步链中第一个寄存器,他的接收到的异步信号的翻转率越大(传输的那个数据 D 变化快),就可以降低MTBF。
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

徐丹FPGA之路

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

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

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

打赏作者

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

抵扣说明:

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

余额充值