异步FIFO设计
异步FIFO设计
同步器
- 异步FIFO的作用:
- 用于在不同时钟域之间安全地传输数据
- 同步器
- 对于跨时钟阈之间的信号传输,需要进行同步处理
- 一般来讲,我们可以采用同步器(2-3级FF组成)对单bit的信号进行同步操作

由于异步FIFO也涉及了跨时钟域,因此在具体的设计中需要用到同步器的相关内容
异步FIFO结构图

具体设计中存在的重要点和注意事项:
- 在读写指针中,不同时钟域之间要注意同步问题,bin和gray码之间的转换
- 对于FIFO的标志信号,full对应的是写时钟域的,empty对应是读时钟域的
二进制/格雷码
- 二进制转格雷码
使用格雷码的最高位作为二进制的最高位,二进制次高位产生过程是使用二进制的高位和次高位格雷码相异或得到,其他位的值与次高位产生过程类似
1 | module bin2gray#( |

- 格雷码转二进制
1 | module gray2bin#( |

异步FIFO代码示例
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 zhzhuang的博客!
