下载此文档

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


文档分类:通信/电子 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
课程论文(设计) 题目异步缓冲 fifo 的设计院系电子与信息工程学院专业电子与通信工程学生姓名卢兴森学号 20132281370 指导教师刘建成二O一四年元月三日一异步 FIFO 的介绍……………………………………………………………… 1 …………………………………………………… 1 …………………………………………… 2 ……………………………………………………………… 3 …………………………………………… 4 二程序及其介绍………………………………………………………………… 4 三仿真结果图…………………………………………………………………… 13 四总结…………………………………………………………………………… 14 1 一异步 FIFO 的介绍使用 FIFO 同步源自不同时钟域的数据是在数字 IC设计中经常使用的方法, 设计功能正确的FIF O会遇到很多问题,探讨了两种不同的异步FIF O的设计思路。两种思路都能够实现功能正确的 FIFO 。本文所研究的 FIFO ,从硬件的观点来看,就是一块数据内存。它有两个端口, 一个用来写数据,就是将数据存入 FIFO ;另一个用来读数据,也就是将数据从 FIFO 当中取出。与 FIFO 操作相关的有两个指针,写指针指向要写的内存部分, 读指针指向要读的内存部分。 FIFO 控制器通过外部的读写信号控制这两个指针移动,并由此产生 FIFO 空信号或满信号。对于异步 FIFO 而言,数据是由某一个时钟域的控制信号写入 FIFO ,而由另一个时钟域的控制信号将数据读出 FIFO 。也就是说,读写指针的变化动作是由不同的时钟产生的。因此,对 FIFO 空或满的判断是跨时钟域的。如何根据异步的指针信号对 FIFO 的满状态或空状态进行正确的判断是本文研究的重点。此外, 设计过程中的一些细节问题也将在文中涉及到。 ,先探讨一下同步 FIFO 指针移动以及满空信号的产生过程。对于同步 FIFO ,读写指针都指向一个内存的初始位置,每进行一次读写操作,相应的指针就递增一次,指向下一个内存位置。当指针移动到了内存的最后一个位置时,它又重新跳回初始位置。在 FIFO 非满或非空的情况下,这个过程将随着读写控制信号的变化一直进行下去。如果 FIFO 处于空的状态,下一个读动作将会导致向下溢出(underflow) ,一个无效的数据被读人;同样,对于一个满了的 FIFO ,进行写动作将会导致向上溢出(overflow) ,一个有用的数据被新写入的数据覆盖。这两种情况都属于误动作,因此需要设置满和空两个信号, 对满信号置位表示 FIFO 处于满状态,对满信号复位表示 FIFO 非满,还有空间可以写入数据;对空信号置位表示 FIFO 处于空状态,对空信号复位表示 FIFO 非空, 还有有效的数据可以读出。当读指针和写指针相等也就是指向同一个内存位置的时候,FIFO 可能处于满或空两种状态。可以通过不同的方法判断或区分 FIFO 究竟是处于满状态还是空状态,也就是究竟是写指针从后赶上了读指针,还是读指针从后赶上了写指针。 2 本文所应用的方法是设置一个额外的状态位,指针由它的地址位以及状态位组成。地址位随着相应的操作递增,指针由内存的最后位置返回到初始位置的时候状态位取反。因此,当读写指针的地址位和状态位全部吻合的时候,读写指针经历了相同次数的循环移动,也就是说, FIFO 处于空状态;如果读写指针的地址位相同而状态位相反,写指针比读指针多循环一次,标志 FIFO 处于满状态。(2) 二进制指针可以用于任意大小的 FIFO ;格雷码指针只能用于大小为 2的幂的 FIFO 。 (如图 1)是由一位状态位和若干位二进制编码的地址位组成的(例如由三位地址和一位状态位构成的指针的变化: 0000 →0001 →0010 →0011 →0100 →0101 →0110 →0111 →1000 →1001 →1010 →101 1→1100 →1101 →1110 →1111) 。如果在不同的时钟域内直接同步二进制指针,有可能产生问题。例如,当读指针从 0111 向1000 变化的时侯,指针所有的位都要变化,如果写时钟恰好在读指针的变化时刻采样,写者得到的读指针值有可能是从0000 到1111 中的任何一个。所以二进制指针不宜被直接同步,但可以通过一对握手信号同步二进制指针。图1 3 例如,读指针被读者存人一个寄存器时,读者就发出一个就绪信号。当写者看到就绪信号时,读取读指针,发出一个收到数据的确认信号。当读者看

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

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人63229029
  • 文件大小351 KB
  • 时间2017-01-04