我想使用两个异步串联的fifo从慢速时钟域过渡到快速时钟域。
我有一个慢时钟(x MHz),我需要倍数(2x,3x,4x或6x)。我不会在第一个fifo上发生溢出的问题,因为下一个fifo将被设置为更快的时钟。
但是,这对于下一个接收数据的组件来说不是问题吗?
我假设数据将被拉伸。例如,如果我做了2倍的时钟。我从4位数据开始:“ 0011”。我会收到8位“ 00001111”还是仅接收原始数据的一部分“ 1111”?
如果我将内存阵列编程为4位,那么fifo不会溢出吗?我是否需要编写自定义fifo来忽略其他所有内容?我不想依靠等待。
这是我关注的vhdl tutorial。看起来像是一个非常标准的fifo,只有几行HDL代码。
答案 0 :(得分:0)
您应该在时钟域交叉中使用双时钟FIFO,以避免您描述的问题以及亚稳性和其他问题。
关于您的问题的评论中的链接是一个很好的起点。