这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 异步FIFO结构(写得很好,强烈推荐)

共10条 1/1 1 跳转至

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

高工
2009-09-22 14:53:19     打赏

异步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页,写得很好,强烈推荐。
为了让更多人看到,设置为“回复可见”,大家顶起啊!如果楼有幸盖到100楼时,再取消“回复可见”,谢谢各位。


异步FIFO结构.rar




关键词: 异步     结构     写得     很好     强烈     推荐     时钟    

高工
2009-09-23 12:10:28     打赏
2楼
大家加油啊,离100楼的目标好远哦。但也别恶意灌水哦,呵呵

高工
2009-09-23 12:22:18     打赏
3楼
ARM中的FIFO,应该是指UART、I2C等外设的缓存吧,这些主要掌握寄存器的操作,多看些例子就会了。

高工
2009-09-24 19:19:55     打赏
4楼
绝大多数时候,我们用FIFO一般都直接调用IP,但有些特殊要求时还是需要自己描述的。

高工
2009-09-30 10:40:09     打赏
5楼

没,你是第29楼。要抓紧时间盖楼啊!


高工
2009-10-03 10:09:22     打赏
6楼

不客气,对你有帮助就好


高工
2009-10-29 13:09:36     打赏
7楼
盖高楼真是不容易啊,盖了这么就也才66楼,人气还不够旺啊

高工
2009-11-02 16:26:14     打赏
8楼
你还只是普通会员,注册成高级会员才能下载

高工
2009-11-07 15:09:24     打赏
9楼
你已经是高级会员,可以自己下载了啊。
这个文件应该是可以正常下载的,除非你的网络问题或者EEPW服务器的原因。

高工
2009-11-20 13:13:26     打赏
10楼
终于盖到100楼了,真不容易。取消“回复可见”,谢谢各位。

共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]