FIFO(同步与异步)

本文深入探讨了FIFO的同步与异步设计,重点解析了格雷码在跨时钟域转换中的作用,以及如何判断空满状态。通过增加指针位宽和格雷码同步,解决了亚稳态问题,确保了FIFO功能的正确性。
摘要由CSDN通过智能技术生成

FIFO分为两种:同步FIFO和异步FIFO,两者的却别在于读写时钟是否是同一个时钟。换句话说,异步FIFO是同步FIFO的强化版设计,更加的灵活。特征就是:地址+1

1、结构框图

内部结构:双端口RAM、写控制逻辑、写地址、状态产生、读控制逻辑产生、读地址、格雷码同步。其中状态产生分为空信号、将空信号、满信号、将满信号。格雷码同步分为写地址格雷码从写时钟域到读时钟域的同步、读地址格雷码从读时钟域到写时钟域的同步。

 2、原理

设计思想:状态信号的产生和跨时钟域的转换及同步。

(1)格雷码同步
格雷码同步在异步fifo中的作用:用于状态产生。
格雷码实现多比特跨时钟域转换的原理:因为fifo中地址是逐次+1的,而格雷码相邻两位数据一次只有一位数据发生变化。因此,将写地址(读地址)变换成格雷码,虽然地址是多比特的,但是每次变化只有1bit发生变化。这就是将二进制的地址转换成格雷码的好处了。格雷码能最大限度的降低垮时钟域带来的风险(亚稳态)。(注意:先转换成格雷码再跨时钟域)

转换原则:

二进制转格雷码:

二进制码右移一位后与原二进制码进行位间异或运算,例如

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值