基于Verilog HDL的异步FIFO 设计
2021-10-10李红科王庆春余顺园
电子设计工程 2021年19期
李红科,王庆春,余顺园
(安康学院电子与信息工程学院,陕西安康 725000)
随着集成电路的飞速发展,超大规模集成电路芯片中一个完整系统包含多个时钟,不同时钟域控制下,数据在传输或存储之间会出现亚稳态现象。异步FIFO(Frist Input Frist Output)是解决跨时钟域数据传输和存储所引发亚稳态的有效方法之一。异步FIFO 在雷达、信号处理及多媒体技术等领域有着广泛的应用[1-3]。
1 FIFO结构设计
FIFO是一种先进先出的双端口数据缓存器,和普通缓冲器区别在于FIFO没有外部地址线,优点是减少输入信号控制线,缺点是数据只能顺序写入、顺序读出[4-5]。图1给出了异步FIFO内部结构图,包括双端口RAM存储器、写控制器、读控制器、写地址指针同步到读时钟域(W2R 同步器)、读地址指针同步到写时钟域(R2W同步器)、读状态标志位和写状态标志位等部分[6-8]。

图1 异步FIFO内部结构图
写控制器模块:在写时钟和写使能信号作用下,产生写地址指针。
读控制器模块:在读时钟和读使能信号作用下,产生读地址指针。
R2W 同步器模块:读计数器同步到写时钟域,同步后计数器和写二进制计数器比较用于产生满标志位(full)信号条件。
W2R 同步器模块:写计数器同步到读时钟域,同步后计数器和读二进制计数器比较用于产生空标志位(empty)信号条件。
写状态标志位模块:写时钟控制下产生满(full)信号。
读状态标志位模块:读时钟控制下产生空(empty)信号。
异步FIFO 外部引脚如表1 所示。

表1 异步FIFO外部引脚
2 异步FIFO设计关键技术问题
异步FIFO 设计过程中存在两个关键技术问题:1)亚稳态;……
登录APP查看全文
