动力设备网 加入收藏  -  设为首页
您的位置:动力设备网 > 科技 > 正文
同步FIFO和异步FIFO各在什么情况下应用
同步FIFO和异步FIFO各在什么情况下应用
提示:

同步FIFO和异步FIFO各在什么情况下应用

当你的设计中只有一个时钟信号的时候,所有的寄存器都使用同一个时钟,他们之间不会产生传输速度不匹配的情况;而当你的设计中存在多个时钟信号,并且需要在这几个时钟域之间传输数据的时候,寄存器会由于时钟信号的频率不匹配而产生数据丢失等情况,这个时候需要用异步FIFO来进行缓存,保证数据能够正确传输,因此一般异步FIFO会包含一个双端口的RAM,用于数据记录,详细地可以参考FIFO的相关资料。这里的异步指的是不同频率/不同相位的时钟信号。而同步FIFO一般只用来作buffer。 大概就是这样子。 2.FIFO是不会实现数据位数的变换的。它只是实现了数据能被正确的传递。 同步就不用说了,异步时,当写满和读空时都有相应的信号告诉发送和接受模块, 这样就不会用冲突了

同步fifo和异步fifo的区别
提示:

同步fifo和异步fifo的区别

当你的设计中只有一个时钟信号的时候,所有的寄存器都使用同一个时钟,他们之间不会产生传输速度不匹配的情况;而当你的设计中存在多个时钟信号,并且需要在这几个时钟域之间传输数据的时候,寄存器会由于时钟信号的频率不匹配而产生数据丢失等情况,这个时候需要用异步FIFO来进行缓存,保证数据能够正确传输,因此一般异步FIFO会包含一个双端口的RAM,用于数据记录,详细地可以参考FIFO的相关资料。这里的异步指的是不同频率/不同相位的时钟信号。而同步FIFO一般只用来作buffer。
大概就是这样子。
2.FIFO是不会实现数据位数的变换的。它只是实现了数据能被正确的传递。
同步就不用说了,异步时,当写满和读空时都有相应的信号告诉发送和接受模块,
这样就不会用冲突了

跨时钟域同步,为什么两级寄存器结构能够降低亚稳态
提示:

跨时钟域同步,为什么两级寄存器结构能够降低亚稳态

异步时钟域亚稳态问题,两级触发器相连的方法,主要还是用于处理单比特,回答1:没有一定的说法,只能说大多数情况下稳定,因为一个触发器就导致了一个时钟周期的延时,相对长的时间足够等它稳定了。2:可能对可能错,亚稳态本来就是导致损失的一个坏存在。不过亚稳态的时间非常短,一般都能解决,对于传输的数据来说,都有一些检验机制的。两级相连本身主要还是将异步输入,变为同步

第一级触发器出来的只有两种情况,如果能正确锁存,那么输出的结果就是正确的,如果不是,那就是亚稳态了,那么第二个触发器就是原来把亚稳态变成稳态的,这个时候稳定的状态就可能是输入的信号,也有可能不是,不是的情况就意味着传输数据出错了