Advertisement

异步FIFO设计

阅读量:

异步FIFO设计与实现

异步FIFO结构设计与实现

异步FIFO的功能模块可划分为以下几个部分:

  1. 双端口RAM,用于实现数据的存储功能
  2. 异步FIFO写控制模块,主要负责管理FIFO的写入操作,并生成相应的写满信号(fifo_full)
  3. 异步FIFO读控制模块,用于控制FIFO的读取过程,并产生读空信号(fifo_empty)
  4. bin_to_gray:该模块的功能是将自然二进制码转换为格雷码,适用于将二进制形式的读写地址转换为格雷码形式的读写地址
  5. gray_to_bin:实现格雷码向自然二进制码的转换功能
  6. 跨时钟域同步模块,其作用是消除在不同时钟域之间传输数据时可能产生的亚稳态现象

2 异步FIFO的Verilog设计

设计关键:

通过双级同步机制实现跨时钟域信号传输,从而有效规避亚稳态现象的发生。

为应对多bit数据汇聚所带来的挑战,引入格雷码编码方案。该编码方式具备每次状态转换仅改变一位的特点,因此在发生不确定状态时,可能出现的情形仅有两种:即状态正确转换或维持原状。基于此特性,在读写时钟频率不一致的情况下,即便各bit位在同步过程中存在延时不一致的现象,也不会导致FIFO在实际处于空或满状态时未能正确生成相应的空满信号。

当读时钟

全部评论 (0)

还没有任何评论哟~