基于SRAM/DRAM的大容量FIFO的设计与实现
来源: 作者: 时间:2007-02-09 03:56
1 引言
FIFO(First In First Out)是一种具有先进先出存储功能的部件。在高速数字系统当中通常用作数据缓存。在高速数据采集、传输和实时显示控制领域中.往往需要对大量数据进行快速存储和读取,而这种先进先出的结构特点很好地适应了这些要求,是传统RAM无法达到的。
许多系统都需要大容量FIFO作为缓存,但是由于成本和容量限制,常采用多个FIFO芯片级联扩展,这往往导致系统结构复杂,成本高。本文分别针对Hynix公司的两款SRAM和DRAM器件,介绍了使用CPLD进行接口连接和编程控制,来构成低成本、大容量、高速度FIFO的方法。该方法具有通用性,可以方便地移植到与其他RAM器件相连的应用中去[1]。
2基于SRAM的设计与实现
2.1 SRAM结构芯片HY64UD16322A
静态随机存取存储器SRAM(Static Random Access Memory)是一种非常重要的易失性存储器,它的速度非常快,并且能在快速读取和刷新时保持数据完整性。本系统SRAM器件采用Hynix公司的HY64UD16322A[2]。HY64UD16322A是高速、超低功耗32
Mbit SRAM,内部具有2 097 152个16 bit字容量。采用了CMOS制造工艺、TTL电平接口以及三态输出,具有较大的输入电压和温度范围。同时HY64UD16322A支持DPD(Deep
Power Down)模式,保证其在待机模式下功耗进一步降低。 2.2系统硬件设计
整个系统采用CPLD作为控制核心器件。CPLD选用Altera公司的MAX7128AETC100-5[3]。MAX7128基于Altera公司第二代MAX乘积项结构,是采用CMOS
EEPROM技术制造的EPLD,它集成了2 500个可用门,128个宏单元以及100个I/O引脚。
图1是HY64UD16322A内部结构以及与CPLD接口设计的系统连接图。可以看出,HY64UD16322A由地址译码、逻辑控制模块以及大容量存储阵列组成。CPLD接收到FIFO控制信号.按照该SRAM读写时序要求完成相应的读写操作.再通过所构造FIFO的数据输入输出和状态控制接口返回。