同步FIFO 和异步FIFO到底区别在什么地方,困惑好久,盼赐教
同步FIFO 和异步FIFO到底区别在什么地方,困惑好久,盼赐教是不是读写不是一个时钟,就是异步?
读写是一个时钟,是同步?
如果读写是一个时钟,怎么叫FIFO呢,写一个数据的同时就被动的读一个数据,那这样FIFO岂不是永远写不满?
感到很困惑?希望高手解答,赐教!
IDT72V243的TQFP封装 这个芯片是同步还是异步??
手册如下:
点击此处下载 ourdev_626538HBAFDZ.pdf(文件大小:381K) (原文件名:IDT72V243_DS.pdf) 求解答,谢谢 继续求解答 同步的没有地址线,先进的肯定先出。一般有半满和全满信号线。
异步有地址线,可以后进的通过地址而先出。
呵呵,没用过这类东东,错了使劲拍砖。 好像同步是多个收发器时钟用一根线连接,使时钟达到同步。异步是接收端的时钟自己产生,自己检查数据的开始。 同步是进出用同一个时钟,异步各用各的时钟! 同步的意思应该是所有的控制线,数据线的输入以及输出都要以时钟的边沿为基准,要满足内部的建立保持时间。其实就是同步电路的意思。比如读信号线nRD,为低的时候芯片内部并不知道的,而是要在时钟的边沿时打入到芯片内部,此时芯片才知道nRD有效,并输出数据,同理输出数据也是与时钟同步的,就是在某个边沿才会输出。一般叫做Tco。异步的一般没有时钟线,只要nRD为低电平就表示读取,芯片马上感知,同时输出数据(会有一小段的延时) 同步有个好处的,可以做流水线作业,因此可以提高时钟频率把系统带宽提高。说的不对请见谅 回复【5楼】lm78l05 JimoPanda
同步是进出用同一个时钟,异步各用各的时钟!
-----------------------------------------------------------------------
这个我就不理解了,如果用同一个时钟?
写和读如果是一个时钟,那么是不是写的同时就有一个读的过程产生?那岂不是写一个就读一个,那么FIFO存储深度还有意义吗
谢谢,请指教
回复【6楼】jwtpaul
同步的意思应该是所有的控制线,数据线的输入以及输出都要以时钟的边沿为基准,要满足内部的建立保持时间。其实就是同步电路的意思。比如读信号线nrd,为低的时候芯片内部并不知道的,而是要在时钟的边沿时打入到芯片内部,此时芯片才知道nrd有效,并输出数据,同理输出数据也是与时钟同步的,就是在某个边沿才会输出。一般叫做tco。异步的一般没有时钟线,只要nrd为低电平就表示读取,芯片马上感知,同时输出数据(会有一小段的延时)
-----------------------------------------------------------------------
非常,感谢大家
这位兄台说的应该比较接近吧
同步异步应该是同步与异步电路的意思
-------------------------------------
异步的一般没有时钟线,只要nrd为低电平就表示读取,芯片马上感知,同时输出数据(会有一小段的延时)
-----------------------
对于没有时钟,只要nrd为低电平就表示读取,那么怎么连续读取?连续读取也是靠nrd的翻转吧?只不过不是不是同时的,不知道理解对否? 上面的同学说了,同步FIFO指的是输入输出同一个时钟;异步FIFO指的是输入一个时钟域,输出另外一个时钟域。
在FPGA里面,会涉及多时钟协同工作的问题,这个时候就很需要异步FIFO了。
若输入输出总线为同一时钟域,FIFO只是作为缓存使用,用同步FIFO即可,此时,FIFO在同一时钟下工作,FIFO的写使能、读使能、满信号、空信号、输入输出数据等各种信号都在同一时钟沿打入或输出。
若输入输出为不同时钟域,FIFO作时钟协同作用,需要采用异步FIFO,此时,FIFO在读与写分别在各自时钟下工作,FIFO的写使能、写满信号、输入数据等各种输入信号都在同一输入时钟沿打入或输出。读使能、读空信号、输出数据等各种输出信号都在同一输出时钟沿打入或输出。 回复【9楼】roasn 冰封的心
上面的同学说了,同步fifo指的是输入输出同一个时钟;异步fifo指的是输入一个时钟域,输出另外一个时钟域。
在fpga里面,会涉及多时钟协同工作的问题,这个时候就很需要异步fifo了。
若输入输出总线为同一时钟域,fifo只是作为缓存使用,用同步fifo即可,此时,fifo在同一时钟下工作,fifo的写使能、读使能、满信号、空信号、输入输出数据等各种信号都在同一时钟沿打入或输出。
若输入输出为不同时钟域,fifo作时钟协同作用,需要采用异步fifo,此时,fifo在读与写分别在各自时钟下工作,fifo的写使能、写满信号、输入数据等各种输入信号都在同一输入时钟沿打入或输出。读使能、读空信号、输出数据等各种输出信号都在同一输出时钟沿打入或输出。
-----------------------------------------------------------------------
感谢roasn 冰封的心的回复
能否帮忙看下我楼主位给的这个芯片的TQFP封装的IDT72V243能否工作在异步模式 要满足读出的条件,还要有读使能啊,不是有时钟就会读数的,不用担心读写同步的问题… 9位的FIFO数据端口用8位的单片机可以实现读取数据吗? 11楼的回帖解释了楼主的困惑 同上 11楼正解,,异步FIFO同城被用于不同时钟域的数据交换,因为此时使用一般的同步器已经不能保证在同一个时钟沿数据的所有位都能被正确采样 FPGA里异步FIFO用的比较多。 本帖最后由 dr2001 于 2013-4-12 08:43 编辑
FIFO端口数据与控制信号同步于时钟与否分同步和异步,Sync vs ASync。Sync与否是说与基准时钟Sync。
ASync的没有时钟信号,类似于普通异步SRAM的界面。
异步FIFO一般都是跨时钟域的;同步FIFO分单时钟还是双时钟的,后者通常能跨域。
LZ的问题手册里写的很清楚了,认真看一遍即可。 FIFO中的同步时钟的频率值根据什么给出?
比如:
AD7606芯片与FPGA连接,用并行的方式读出AD7606的数据,在把数据写到FIFO中。
FIFO满后,ARM在读出FIFO中的数据。
用异步FIFO,写同步时钟和读同步时钟的时钟频率怎么给? 还是不太懂哎,那用同步fifo做什么呢?为啥要缓存
页:
[1]