下载此文档

异步fifo读写同步的设计分析.doc


文档分类:通信/电子 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
异步fifo读写同步的设计分析.doc精品文档
精品文档
1
精品文档
课程论文(设计)
题 目 异步缓冲fifo的设计
院 系电子与信息工程学院
专 业 电子与通信工程
学生姓名 卢兴森
学 号 20132281370
指导教师 刘建成
值有可能是
从0000到1111中的任何一个。所以二进制指针不宜被直接同步,但可以通过一对握手信号同步二进制指针。
图1圹鱼諑桡浔擞厍鹧縐綸饿梟泸谂綁。
精品文档
精品文档
5
精品文档
2
精品文档
精品文档
6
精品文档
例如,读指针被读者存人一个寄存器时,读者就发出一个就绪信号。当写者
看到就绪信号时,读取读指针,发出一个收到数据的确认信号。 当读者看到确认
信号时,就收回就绪信号,然后用当前的读指针值刷新寄存器。 在收到确认信号
前,存放读指针的寄存器内容保持不变,确保了被读取的指针的正确性。
为了能够在不同的时钟域内直接同步指针,可以对指针使用格雷码的编码方式,也就是指针每次移动只变化一位,这样就避免了由于指针多位同时变化而无法直接同步的问题。图3表示了一个三位地址的内存用于格雷码编码的FIFO。n位地址的内存需要n+1位的格雷码。使用最高位(也就是第n-1位)作为状态位,从第n—2到第0位作为地址的第n-2位到第0位;对状态位(也就是第n-1位)和第
n-2位进行位异或运算产生地址的第n-2位(也就是地址的最高位)。通过对图3的观察可以得知,四位格雷码编码的指针和三位二进制加状态位编码的指针具有
同样的功能:指针产生的地址循环遍历8个内存地址,每一次遍历后状态位取反。值得注意的一点,是当指针从0100变化到1100的时候,相应的地址由100变为000,状态位和一位地址同时发生了变化,所以不能同步由另一个时钟域格雷码
指针产生的状态位和地址位,此时应该直接由另一个时钟域同步指针来完成,由同步后的指针产生相应的状态位和地址位。
保守的满空判断
对于异步FIFO设计,无论是采用握手还是直接同步的方法来获取对方时钟域的指针,对满空信号的判断总是“保守”的。
满空信号的复位(满信号复位表示FIFO非满,空信号复位表示FIFO非空)
和实际FIFO的情况相比有一定的延迟。例如,空信号是由读者用读指针与同步
或握手后得到的写指针进行比较产生的。由于同步或握手需要一定的时间,在这段时间,写者可能向FIFO写入新的数据,写指针发生了变化,此时FIFO已经非空,但此刻空信号仍然没有复位。对于写者而言,满信号的复位也会遇到相同的问题。不过,在通常情况下,FIFO只要确保不会向下溢出或向上溢出,复位的延迟就不会导致向下溢出或向上溢出,是可以接受的。
满空信号的置位(满信号置位表示FIFO满,空信号置位表示FIFO空)和
FIFO的实际情况相比没有延迟。例如,同样考虑 FIFO为空的情况,读者使用读
指针和同步或握手后的写指针进行比较,由于 FIFO为空,写动作不会发生,相動铳摶駑怃践殲缌狯艦涡篑戬診轧。
精品文档
精品文档
7
精品文档
3
精品文档
精品文档
17
精品文档
应的写指针也保持不变,因此读者获得的就是当时的写指针值。这样就能马上对空信号置位。同样地,在FIFO满的情况下,由于读指针不发生变化,写者得到的是当前的读指针值,能够马上判断FIFO为满。
从以上两点的讨论可以得出结论,FIFO满空判断是保守的,写者可能在FIFO还有一定空间时停止写数据,但不会在FIFO已经满了的情况下继续写数据;读者可能在FIFO还有一些有效的数据时停止读数据,但是不会在FIFO已经空的情况下继续读数据。保守的满空判断能够满足FIFO的功能要求。
二进制指针和格雷码指针的比较
二进制指针和格雷码指针两者各有优缺点:
由于通过握手同步,指针可以有多位同时变化,二进制指针每次移动可
以跳跃过任意的长度,这样给FIFO的某些功能的实现带来了方便(例如,硬件直接控制FIFO从缓存的数据流中丢弃一个出错的包);而格雷码指针一般只能做递增或递减的移动。
与直接同步相比,通过握手同步需要多时钟周期,因此二进制指针的满空判断比格雷码指针的满空判断更“保守”;对于设计一个容量很大且由内存构成的FIFO来说,由于保守判断而损失的空间可以忽略;但对于一个容量较小的
FIFO而言,这种“保守”可能是无法接受的。例如,一个由 8个寄存器组成的
FIFO,对于格雷码编码的指针,最坏情况下, FIFO被写者判断为满时,里面实
际只存有五个数据(使用两级同步器,可能需要三个周期同步,而在这三个周期
内都有读动作发生);而对与二进制编码的指针,FIFO被判为满时,FIFO里可能
只有三个数据或更少(使用两级同步器,最

异步fifo读写同步的设计分析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人可爱小熙
  • 文件大小353 KB
  • 时间2022-01-15