异步FIFO的深度一定要是2的整次幂吗?

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-31 00:26   32   0

在芯片设计中,遇到多比特数据跨时钟操作时,我们通常使用异步FIFO。

在使用FIFO之前,我们要计算FIFO的深度,有事后计算出的FIFO深度不一定是2的整数幂,

这时候我们需要向上取整到2的整次幂。

因为异步FIFO里面读写地址做跨时钟之前把地址做了格雷编码,然后使用格雷编码的地址做跨时钟处理。

格雷码的特点是相临(十进制表示)数字只有1bit变化,这样做跨时钟时,可以降低亚稳态的概率。

如果FIFO深度不是2的整次幂,那么地址从最大跳变到0时,相应的格雷码地址变化就不止1bit了,这样会增加亚稳态的概率。

如果想FIFO深度不是2的整次幂,需要特殊处理,选择别的编码方式了。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP