在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 82751|回复: 453

[资料] 异步FIFO结构(写得很好,强烈推荐)

[复制链接]
发表于 2010-8-17 14:21:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 dianzi67 于 2010-8-17 14:23 编辑

异步FIFO结构(写得很好,强烈推荐)
作者:Vijay A.Nebhrajani
翻译:Adam Luo
第一部分
    设计一个FIFO是ASIC设计者遇到的最普遍的问题之一。本文着重介绍怎样设计FIFO——这是一个看似简单却很复杂的任务。
一开始,要注意,FIFO通常用于时钟域的过渡,是双时钟设计。换句话说,设计工程要处理(work off)两个时钟,因此在大多数情况下,FIFO工作于独立的两个时钟之间。然而,我们不从这样的结构开始介绍—我们将从工作在单时钟的一个FIFO特例开始。虽然工作在同一时钟的FIFO在实际应用中很少用到,但它为更多的复杂设计搭建一个平台,这是非常有用的。然后再从特例推广到更为普通的FIFO,该系列文章包括以下内容:
1.单时钟结构
2.双时钟结构——双钟结构1
3.双时钟结构——双钟结构2
4.双时钟结构——双钟结构3
5.脉冲模式FIFO

第二部分
    在先前的该系列文章中,我们看到了怎样用双端口、无寄存器输出的RAM设计同步FIFO。这部分我们将探讨同样的概念,并将其推广到怎样产生具有相互独立、自由工作的读、写时钟的FIFO。拥有自由工作时钟简化了很多问题,但是这导致了一个特殊情况下的解决方法。普通情况下不对时钟进行假设,甚至不假设其自由工作。我将在本系列文章的最后一部份讨论最普通的情况。
如果你看过先前的文章,你会发现只有status模块工作在两个时钟。存储器没有寄存输出,所以它确实不需要用读时钟;即使它是寄存输出,也可毫无问题的运行于读时钟上。Status模块本质的功能是对两个指针进行操作,而且这两个指针工作在不同的时钟域。这也是真正的困难所在。如果打算用写时钟来取样读指针或用读时钟来取样写指针,将不可避免的遇到一个问题:亚稳态。它将导致空/满标志的计算错误,并导致设计的失败。

第三部分
    在本系列文章的第一部分我们了解了FIFO的一般结构,并分析了单时钟FIFO的一个特例[1]。第二部分描述了双时钟设计的一种可能的结构。在第三部分我们将探究一种具有新颖结构的双时钟FIFO。这种结构未必更好——只是另一种实现的方法而已。
中文PDF,共18页,写得很好,强烈推荐。

异步FIFO结构.pdf

701.91 KB, 下载次数: 4492 , 下载积分: 资产 -2 信元, 下载支出 2 信元

发表于 2010-8-17 15:15:19 | 显示全部楼层
顶一下!
发表于 2010-8-17 15:51:32 | 显示全部楼层
顶一下!
发表于 2010-8-17 15:59:52 | 显示全部楼层
谢谢分享,学习一下
发表于 2010-8-17 16:05:42 | 显示全部楼层
恩,好东西,谢谢
 楼主| 发表于 2010-8-17 18:34:32 | 显示全部楼层
分享 看后交流哈
发表于 2010-8-17 19:21:30 | 显示全部楼层
受教了
发表于 2010-8-17 23:03:49 | 显示全部楼层
感谢分享资料
发表于 2010-8-17 23:05:34 | 显示全部楼层
写得不错,谢谢分享!
发表于 2010-8-18 00:04:29 | 显示全部楼层
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-28 13:15 , Processed in 0.031948 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表