微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 同步fifo和异步fifo的区别

同步fifo和异步fifo的区别

时间:10-02 整理:3721RD 点击:
各位能不能同步和异步的差别,怎么样就叫做同步怎么样就叫异步了
例如板卡上的fifo,是不是在不占有总线的时候,也就是不再dma读的时候,写入fifo就叫做异步;在占有总线进行dma读的时候边写入fifo就叫同步,不知我的理解对不对,请各位指正

同步fifo和异步fifo的区别
对于异步fifo一般有两种理解,一种是读写操作不使用时钟而是直接采用wr,rd来进行,比如cypress就提供这样的fifo. 另一种,是指在fpga和asic是设计中,异步fifo是指具有两个时钟的双口fifo, 读些操作在各自的时钟延上进行,在两个不同时钟下,可以同时进行读或写。

同步fifo和异步fifo的区别
AsynFIFO is a real dual-port RAM with independent wr/rd clock and some additional control logic providing the RAM status,such as empty/full,almost_empty/almost_full,etc.
SyncFIFO only has one clock,that samples both the write data and read data.
Implementing AsynFIFO in FPGA is always troublesome to use the grey code, but some development enviornments provide its Core.
SyncFIFO is always very simple in design and use.

同步fifo和异步fifo的区别
异步fifo在fpga占用的资源比同步fifo大很多,不是实在没有办法最好不用。

同步fifo和异步fifo的区别
支持BraveLu大哥的观点.有个再intel做过CPU的大师说过:能用同步的就用同步,除非你的功力高深,他说的是SoC的设计.可能在这里扯远了.

同步fifo和异步fifo的区别
我觉得你说的同步和异步是指同步时序电路或异步时序电路。这所说的fpga/asci内的异步fifo其实内部设计任然是同步设计,这不过在两个时钟域内罢了。并不是异步设计

同步fifo和异步fifo的区别
Jack兄:
       不好意思,对于做成芯片的FIFO我不太清楚,所以我也说扯远了.那它这个是不是有多个CLK的异步FIFO?谢谢指教!

同步fifo和异步fifo的区别
前面说过了,在fpga中异步fifo只是指双时钟双端口的fifo

同步fifo和异步fifo的区别
呵呵,明白了,谢谢

同步fifo和异步fifo的区别
异步FIFO的功能除了缓冲之外,另一个常用功能就是完成信号在不同时钟域的速度匹配。这在数据通信领域应用非常广泛,例如完成系统侧时钟域和线路侧时钟域的匹配。

如果真的是不同时钟域,那就是我说的一定要用的情况了。我是应为看到很多人在用同一个时钟的分频时钟操作fifo时也用异步fifo才这么说的。

同步fifo和异步fifo的区别
[这个贴子最后由jiqing在 2003/11/01 02:53pm 第 1 次编辑]
坛主,同步时序电路和异步时序电路又是怎么回事呢?我的脑子中没有概念:(,谢谢

同步fifo和异步fifo的区别
呵呵,那到没有必要。
既然说到这个问题了,我在说一句题外话。一般刚开始做同步FIFO时,都喜欢用二进制计数器做地址,其实做同步FIFO的另一个很好的地址计数器是“线性反馈移位寄存器”计数器。

同步fifo和异步fifo的区别
请问“线性反馈移位寄存器”计数器是如何做的呢?

嗯 懂了很多

同感,async-fifo还是很有用的。

其实同步还是异步关键是看读写是否需要时钟,异步的读写时只需读写信号和地址就可以了,而同步的还需要一个同步时钟。

异步FIFO用处太多了。最经典的设计可以参考牛人Clifford E.Cummings的两篇best paper对异步FIFO的设计,太经典了。其中有对异步中如何设置读写指针,如何将一个时钟域的指针同步到另一个时钟域,我刚看过,太牛了。强烈推荐。

对于 ARM 系统内觉大部分外设接口都是异步 FIFO 啦!
我QQ 447652724, 欢迎加我随时讨论问题.

同步FIFO的读写时钟是相同的,
异步FIFO的读写时钟是不同的。

我个人认为,fifo可以分成数据传送和fifo控制(interface)两部分,异步fifo的interface部分是使用两个不同的clk,用于不同clk数据传输的时钟匹配(时钟同步)(例如CPUcache和PCI数据传输速率不同),可以产生一些控制信号,如读指针,写指针,满,空等。       数据传输在一个统一的clk下运行,由interface产生的控制信号来控制数据的转移

嗯,习惯上把具有不同读写时钟的FIFO称之为“异步FIFO”。
异步FIFO的设计难点在于读写指针需要跨时钟域——跨时钟域信号会导致触发器进入亚稳态。目前业界流行的标准做法是采用两级同步电路,即让串联的两个触发器先后采样跨时钟域的信号,这样第二级触发器进入亚稳态的概率将大大降低。当然采用更多级的同步电路可以进一步提高稳定性,不过一般而言两级同步电路已经足够可靠了。设计异步FIFO的时候一般还会用到GRAY码作为读写指针的中间过渡形式,因为GRAY码一次只翻转一位,降低了信号的出错概率。

学习了,呵呵

Thanks!

受教了!

受教了,呵呵

顶一下!

时钟不一样

jackzhang能不能将“fpga/asci内的异步fifo其实内部设计任然是同步设计,这不过在两个时钟域内罢了。并不是异步设计”这句话说明白点,是因为用了里面用了两个同步模块的原因吗 ?怎么说是同步设计。

这个就是异步设计的问题啊.

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

网站地图

Top