异步FIFO设计
发布时间
阅读量:
阅读量
异步FIFO设计与实现
异步FIFO结构设计与实现
异步FIFO的功能模块可划分为以下几个部分:
- 双端口RAM,用于实现数据的存储功能
- 异步FIFO写控制模块,主要负责管理FIFO的写入操作,并生成相应的写满信号(fifo_full)
- 异步FIFO读控制模块,用于控制FIFO的读取过程,并产生读空信号(fifo_empty)
- bin_to_gray:该模块的功能是将自然二进制码转换为格雷码,适用于将二进制形式的读写地址转换为格雷码形式的读写地址
- gray_to_bin:实现格雷码向自然二进制码的转换功能
- 跨时钟域同步模块,其作用是消除在不同时钟域之间传输数据时可能产生的亚稳态现象
2 异步FIFO的Verilog设计
设计关键:
通过双级同步机制实现跨时钟域信号传输,从而有效规避亚稳态现象的发生。
为应对多bit数据汇聚所带来的挑战,引入格雷码编码方案。该编码方式具备每次状态转换仅改变一位的特点,因此在发生不确定状态时,可能出现的情形仅有两种:即状态正确转换或维持原状。基于此特性,在读写时钟频率不一致的情况下,即便各bit位在同步过程中存在延时不一致的现象,也不会导致FIFO在实际处于空或满状态时未能正确生成相应的空满信号。
当读时钟
全部评论 (0)
还没有任何评论哟~
