微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 行业新闻动态 > 一种异步FIFO的设计方法

一种异步FIFO的设计方法

时间:10-19 来源:电子技术应用 点击:

4 二进制指针和格雷码指针的比较

二进制指针和格雷码指针两者各有优缺点:

(1)由于通过握手同步,指针可以有多位同时变化,二进制指针每次移动可以跳跃过任意的长度,这样给FIFO的某些功能的实现带来了方便(例如,硬件直接控制FIFO从缓存的数据流中丢弃一个出错的包);而格雷码指针一般只能做递增或递减的移动。

(2)二进制指针可以用于任意大小的FIFO; 格雷码指针只能用于大小为2的幂的FIFO。

(3)与直接同步相比,通过握手同步需要多时钟周期,因此二进制指针的满空判断比格雷码指针的满空判断更"保守";对于设计一个容量很大且由内存构成的FIFO来说,由于保守判断而损失的空间可以忽略;但对于一个容量较小的FIFO而言,这种"保守"可能是无法接受的。例如,一个由8个寄存器组成的FIFO, 对于格雷码编码的指针,最坏情况下,FIFO被写者判断为满时,里面实际只存有五个数据(使用两级同步器, 可能需要三个周期同步,而在这三个周期内都有读动作发生);而对与二进制编码的指针,FIFO 被判为满时,FIFO里可能只有三个数据或更少(使用两级同步器,最好的情况下,需要五个周期握手,而在这五个周期里都有读动作发生)。

设计者在两种方法的比较选择上应该考虑到以上的几点。

本文介绍的异步FIFO的设计方法的两种不同思路都能够实现功能正确的异步FIFO。对这两种方法设计的FIFO的优缺点所做的简要分析,对FIFO的设计具有指导意义。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top