我想用两个fifo串行异步地从慢时钟域到快时钟域。
我有一个慢时钟(x MHz),我需要一个倍数( 2x、3x、4x或6x)。我不会在第一个fifo上有溢出的问题,因为下一个fifo将被设置为更快的时钟。
然而,对于下一个接收数据的组件来说,这不是一个问题吗?
我假设数据会被拉长。例如,如果我做了时钟的2倍。我从4位数据开始:"0011“。我会收到8位数:"00001111“,还是只收到原始数据的一部分:"1111"?
如果我将内存数组编程为4位,那么我的fifo不会溢出吗?我是否必须编写一个自定义的fifo来忽略每隔一位?我不想依赖于等待。
这是我关注的vhdl tutorial。它看起来像是一个非常标准的fifo,只有几行HDL代码。
发布于 2018-07-11 21:56:23
您应该对时钟域交叉使用双时钟FIFO,以避免您所描述的问题以及亚稳态和其他问题。
你的问题评论中的链接是一个很好的起点。
https://stackoverflow.com/questions/51275691
复制相似问题