当前位置:首页 > 智能硬件 > 智能硬件
[导读]分别基于Hynix公司的SRAM HY64UDl6322A和DRAM HY57V281620E,介绍了采用两种不同的RAM结构,通过CPLD来设计并实现大容量FIFO的方法。

摘要:分别基于Hynix公司的SRAM HY64UDl6322A和DRAM HY57V281620E,介绍了采用两种不同的RAM结构,通过CPLD来设计并实现大容量FIFO的方法。
关键词:SRAM;DRAM;CPLD;大容量FIFO


1 引言
   
FIFO(First In First Out)是一种具有先进先出存储功能的部件,在高速数字系统当中通常用作数据缓存。在高速数据采集、传输和实时显示控制领域中,往往需要对大量数据进行快速存储和读取,而这种先进先出的结构特点很好地适应了这些要求,是传统RAM无法达到的。
    许多系统都需要大容量FIFO作为缓存,但是由于成本和容量限制,常采用多个FIFO芯片级联扩展,这往往导致系统结构复杂,成本高。本文分别针对Hynix公司的两款SRAM和DRAM器件,介绍了使用CPLD进行接口连接和编程控制,来构成低成本、大容量、高速度FIFO的方法。该方法具有通用性,可以方便地移植到与其他RAM器件相连的应用中去。

2 基于SRAM的设计与实现
2.1 SRAM结构芯片HY64UDl6322A
    静态随机存取存储器SRAM(Static Random Access Memory)是一种非常重要的易失性存储器,它的速度非常快,并且能在快速读取和刷新时保持数据完整性。本系统SRAM器件采用Hynix公司的HY64UDl6322A。HY64UDl6322A是高速、超低功耗32Mbit SRAM,内部具有2 097 152个16 bit字容量。采用了CMOS制造工艺、TTL电平接口以及三态输出,具有较大的输入电压和温度范围。同时HY64UDl6322A支持DPD(Deep Power Down)模式,保证其在待机模式下功耗进一步降低。
2.2 系统硬件设计
    整个系统采用CPLD作为控制核心器件。CPLD选用Altera公司的MAX7128AETCl00-5。MAX7128基于Altera公司第二代MAX乘积项结构,是采用CMOS EEPROM技术制造的EPLD,它集成了2 500个可用门,128个宏单元以及100个I/0引脚。
    图1是HY64UDl6322A内部结构以及与CPLD接口设计的系统连接图。可以看出,HY64UDl6322A由地址译码、逻辑控制模块以及大容量存储阵列组成。CPLD接收到FIFO控制信号,按照该SRAM读写时序要求完成相应的读写操作,再通过所构造FIFO的数据输入输出和状态控制接口返回。

2.3 指针算法程序设计
   
系统采用CPLD作为总控制器件。根据FIFO的特点,需要将SRAM按地址存储用程序控制成先进先出的结构。这里采用指针算法来实现这种结构设计:设置两个指针变量StartPos和EndPos,分别作为进入数据头尾指针。当有新数据写入时,数据从上一次存储最后位置的下一个位置开始存放,存入一个数据,EndPos就自动加1,保持与最后数据位置同步。当EndPos超过整个RAM的最大容量(RAM_SIZE)时,就需要循环返回,从0x000位置存放,一直到EndPos与StartPos重合,这时可以认为RAM已经存满。同理,读出数据时,起始位置StartPos自动加1。当StartPos超过整个RAM的最大容量时,就从0x000位置读取,一直到StartPos与EndPos重合,这时可以认为RAM已经读空。在这两个过程当中,CPLD需要对地址线进行控制,不难发现,写数据的时候Address与EndPos一致,读数据的时候Address与StartPos一致。图2是整个系统写和读时序控制的流程图。

2.4 时序控制
   
写入数据的时候,CPLD需要模拟FIFO基本的写操作时序:CPLD接收到nWEN(写使能,低有效)和WCLK(写时钟,上升沿有效),即当nWEN为低,WCLK为上升沿时,将当前I/O上的数据写入。在数据写入RAM的时候,CPLD应按照HY64UDl6322A的写时序来控制写操作。这里,CPLD首先按照上述流程计算出当前数据应存放的地址,然后控制nWE信号,nWE为低时,数据自动写入RAM。然后再写下一位数据。整个写时序如图3所示。

    同理,CPUD接收到nREN(读使能,低有效)和RLCK(读时钟,上升沿有效)时,将最先写入的数据读出。这里,CPLD首先按照读数据流程计算出当前读出数据存放地址,然后控制nOE信号(低电平有效),数据自动读出RAM。然后再进行下一位数据读
出操作。
    可以看出,影响所构建FIFO读写速度的关键因素是tWC,该参数也是决定HY64UDl6322A速度的主要因素,因此,所构建FI-F0的理论速率应该接近HY64UDl6322A的速率。

3 基于DRAM的设计与实现
3.1 DRAM结构芯片HY57V281620E
    一般来说,动态随机存取存储器DRAM(Dynamic Random Access Memory)是由大的矩形存储单元阵列与用来对阵列读和写的支持性逻辑电路,以及维持存储数据完整性的刷新电路组成。尽管操作较SRAM复杂,但由于DRAM具有每存储位单元低成本和高密度的优点,使得它们成为商业领域最广泛使用的半导体存储器。本系统的DRAM芯片采用Hynix公司的134 217 728 bit同步DHY57V281620E。它由4块2 097 152x16 bit组成。采用了CMOS制造工艺,LVTTL电平接口。
3.2 系统硬件设计
   
同样采用MAX7128AETCl00-5完成系统控制。图4是HY57V281620E内部结构以及与CPLD接口的系统连接图。接口控制原理类似2.2所述。不同的是,HY57V281620E内部由行列地址译码、多块大容量存储单元阵列和一些逻辑控制模块组成。

3.3 程序设计
   
这里,主要采用2.3中设立头尾两个指针的思想。与SRAM不同的是,DRAM采用的矩形存储单元阵列是由行线和列线来控制,并且内部采用分块结构,这里HY57V281620E由4块存储单元组成,通过BAl和BA0来控制。在写数据操作的时候,当存放数据长度超过当前存储单元容量时,需要CPLD切换至下一存储块进行存储,同样,读操作的时候也存在这种操作,即如果StartPos或者EndPos超过了存储块容量,这里是2 097 152,则通过一个模4计数器控制切换至下一个存储块。
3.4 时序控制
   
写入(或读出)数据的时候,CPLD需要模拟FI-FO基本的写(或读)操作时序:CPLD接收到nWEN(nREN)和WCLK(RCLK),即当nWEN(nREN)为低,WCLK(RCLK)为上升沿时,将当前I/O上的数据写入(读出)。在数据写入(读出)RAM的时候,CPLD应按照HY57V281620E器件的写(读)时序来控制写(读)操作:CPLD首先控制nRAS从高电平变至低电平,选择行地址。再通过控制nCAS选择列地址。这里,当写入(或读出)数据在同一块当中进行,可以保持nRAS低电平,连续选择多列数据操作(也称作快页模式读写)。当数据地址超过块容量,则需要重新选择行地址,然后再进行连续多列数据读写操作。读写使能控制和SRAM类似,通过nOE和nWE(低有效)来控制。
    图5是DRAM主要读写控制时序。可以看出,影响所构建FIFO读写速度的主要因素是tPC,这也是决定DRAM速率的关键所在,因此,所构建FIF0的理论速度也应该接近DRAM最高频率。同时,还必须考虑DRAM的刷新操作。这里,系统采用nCAS先于nRAS的方式(CBR),即控制nCS、nCAS、nRAS,并保持nWE为高电平,利用芯片内部计数器决定要被刷新的行。HY57V281620E提供了这种自刷新模式,刷新速率由tREF来决定,通常为64 ms。在系统或某存储块长时间无操作的情况下,需要定时刷新,以保持数据完整。

4 实验结果和分析
   
图6是用QuartusⅡ4.O根据2.3中设立的头尾指针算法设计仿真出来的时序波形。

    可以看出,系统从0x000底开始写数据,当写入3个数据时,EndPos增加到Ox003,再进行3个数据读操作,即StartPos增加到0x003,此时,所构建的FIFO是读空状态,可以看到读空信号Empty在这时变为高电平,达到FIFO设计所需要求。
    还需要注意:由于所采用的RAM只采用一个数据总线作为输入输出,因此在写数据的时候不能进行读操作。而常用FIFO器件可以同时读写。所以,如果要在同一时间内进行读和写操作,那么需要在一个FIFO读写时钟周期内对RAM进行读写等多个操作,这时所构建的FIFO速率将降低。
    此外,在与DRAM构建高速FIFO时,由于存储块选择需要一定时间操作,因此跨块存储操作在频率较高时会影响正常的数据读写,出现个别数据丢失情况。而且当某段时间进行刷新操作时,有突发数据需要读或写,这时不允许中断。解决这种问题的办法是用一个I/O引脚(nREADY)标识出当前所构建的FIFO是否可读写,如果有上述情况发生,则nREADY为高,可以读写时为低。
    常用的FIFO器件还有半满、接近满、接近空等状态指示,可以在上述构建FIFO的基础上加上简单的逻辑控制,计算StartPos和EndPos之间的差值,根据当前是写操作还是读操作来指示。其他状态信号也可以通过CPLD经由逻辑运算很方便地实现。同时,读和写同步时钟可以不一致,这样就可以很方便地构成同步或者异步两种FIFO,具有很好的可扩展性。

5 结束语
   
现在,SRAM的数据传输速率可以达到10 ns以内,DRAM要比SRAM稍慢一些。因此,SRAM通常用于高速缓冲存储,而DRAM则通常用来存储较大的数据。从成本来考虑,DRAMSRAM成本要低得多。
    采用本文给出的结构和设计思想,避免了以往主CPU接管RAM时的一系列复杂读写操作,而直接类似FIFO使用,接口简单方便,而且避开了传统FIFO器件容量和成本的限制。本文通过理论分析,实际电路设计调试,已成功实现用两种不同结构的RAM构建FIF0,并应用于多个实时高速信号采集系统中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

成都2022年10月19日 /美通社/ -- 近期,平安养老险积极筹备个人养老金的产品设计和系统开发工作,发展多样化的养老金融产品,推动商业养老保险、个人养老金、专属商业养老保险等产品供给。 搭养老政策东风 ...

关键字: 温度 BSP 东风 大众

广东佛山2022年10月19日 /美通社/ -- 空间是人居生活的基础单元,承载着生存与活动的最基本功能。而对于理想空间的解构意义却在物理性容器之外,体现出人们对于空间和生活深层关系的思考,同时也塑造着人与空间的新型连接...

关键字: 温度 BSP 智能化 进程

上海2022年10月19日 /美通社/ -- 10月17日晚间,安集科技披露业绩预告。今年前三季度,公司预计实现营业收入7.54亿元至8.33亿元,同比增长60.24%至77.03%;归母净利润预计为1.73亿...

关键字: 电子 安集科技 BSP EPS

北京2022年10月19日 /美通社/ -- 10月18日,北京市经济和信息化局发布2022年度第一批北京市市级企业技术中心创建名单的通知,诺诚健华正式获得"北京市企业技术中心"认定。 北京市企业技...

关键字: BSP ARMA COM 代码

北京2022年10月18日 /美通社/ -- 10月14日,国际数据公司(IDC)发布《2022Q2中国软件定义存储及超融合市场研究报告》,报告显示:2022年上半年浪潮超融合销售额同比增长59.4%,近5倍于...

关键字: IDC BSP 数字化 数据中心

上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都银行集团成立60周年的纪念日。趁着首都银行集团成立60周年与首都银行(中国)在华深耕经营12年的“大日子”,围绕作为外资金融机构对在华战略的构想和业...

关键字: 数字化 BSP 供应链 控制

东京2022年10月18日  /美通社/ -- NIPPON EXPRESS HOLDINGS株式会社(NIPPON EXPRESS HOLDINGS, INC.)旗下集团公司上海通运国际物流有限公司(Nipp...

关键字: 温控 精密仪器 半导体制造 BSP

广州2022年10月18日 /美通社/ -- 10月15日,第 132 届中国进出口商品交易会("广交会")于"云端"开幕。本届广交会上高新技术企业云集,展出的智能产品超过140,...

关键字: 中国智造 BSP 手机 CAN

(全球TMT2022年10月18日讯)10月18日,三星宣布,其最新的LPDDR5X内存已通过验证,可在骁龙(Snapdragon®)移动平台上使用,该内存速度可达到当前业界最快的8.5 千兆比特每秒(Gbps)。通过...

关键字: DRAM GBPS 三星 LPDDR5

为物联网应用选择电子元件的两个关键标准是功率预算和性能。自从电子产品问世以来,就一直在这两者之间进行权衡——要么获得最佳功耗,要么获得最高性能。根据应用程序,系统架构师对系统中的不同组件有不同的要求。例如,系统可能需要高...

关键字: 物联网功耗 SRAM

智能硬件

22075 篇文章

关注

发布文章

编辑精选

技术子站

关闭