当我将数据从慢速时钟域传输到快速时钟域时,延伸的数据将不是处理的问题吗?

时间:2018-07-11 00:40:23

标签: vhdl fpga clock fifo

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

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

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

我假设数据将被拉伸。例如,如果我做了2倍的时钟。我从4位数据开始:“ 0011”。我会收到8位“ 00001111”还是仅接收原始数据的一部分“ 1111”?

如果我将内存阵列编程为4位,那么fifo不会溢出吗?我是否需要编写自定义fifo来忽略其他所有内容?我不想依靠等待。

这是我关注的vhdl tutorial。看起来像是一个非常标准的fifo,只有几行HDL代码。

1 个答案:

答案 0 :(得分:0)

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

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