APP下载

基于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查看全文