当我将数据从慢时钟域交叉到快速时钟域时,拉伸数据不会成为处理问题吗?

  • 本文关键字:数据 时钟 处理问题 vhdl fpga clock fifo
  • 更新时间 :
  • 英文 :


我想使用两个异步串联的fifo从慢时钟域到快时钟域。

我有一个慢时钟(x MHz(,我需要它的倍数(2x、3x、4x或6x(。我不会有第一个fifo溢出的问题,因为下一个fifo将设置为更快的时钟。

然而,对于接收数据的下一个组件来说,这不是一个问题吗?

我认为数据会被拉长。例如,如果我做了时钟的2倍倍数。我从4位数据开始:"0011"。我会收到8位:"00001111"还是只收到原始数据的一部分:"1111"?

如果我将内存数组编程为4位,那么我的fifo不会溢出吗?我必须写一个自定义的fifo来忽略其他比特吗?我不想依赖等待。

这是我遵循的vhdl教程。它看起来像是一个非常标准的fifo,只有几行HDL代码。

您应该使用双时钟FIFO进行时钟域交叉,以避免您描述的问题以及亚稳性和其他问题。

你的问题评论中的链接是一个很好的起点。

最新更新