异步fifo设计与验证(V)

本文详细介绍了异步FIFO的设计过程,包括将格雷码形式的写指针和读指针同步到不同时钟域以判断空满状态,使用格雷码减少亚稳态风险。内容涵盖读空和写满状态的判断,以及在不同读写速度下的行为分析,特别是对同步延迟和亚稳态的影响进行了深入讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设计文件:

1.men模块

 

976551c3d89741d0882629a34f583468.png 

2、格雷码形式写指针同步到读时钟域(为什么要这么做,就是因为读写时钟不一样,要判断空满信号无法直接判断,所以将(格雷码形式的写指针)同步到读时钟域(变成rq2_wptr信号),就需要将写指针打两拍,这个指针(rq2_wptr)与读时钟域的格雷码读指针(rptr)进行读空判断

二者指针相同为1(读空)

为什么要将二进制指针转为格雷码形式指针:二进制指针为多比特变化,出现亚稳态概率太高,格雷码只有一位比特变化,单比特变化打两拍,

异步fifo读写地址变化是连续的,在进行两级寄存器同步之前要用格雷码编码,可以将多比特变化的二进制编码变成只有单一比特变化的信号进行同步,减小亚稳态发生概率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值