当前位置:首页 > 智能硬件 > 智能硬件
[导读]针对当今电子系统对高速大容量内存的需要,本文阐述了使用DDR控制器IP核来设计实现DDR内存接口的方法。

摘  要: 针对当今电子系统对高速大容量内存的需要,本文阐述了使用DDR控制器IP核来设计实现DDR内存接口的方法。该方法能使设计尽可能简单,让设计者更专注于关键逻辑设计,以便达到更高的性能。该设计经过仿真显示,完全符合要求。
关键字:DDR内存  IP核  地址产生逻辑  FIFO

1.引言
    在当今的电子系统设计中内存被使用的越来越多,用来存放数据和程序。并且对内存的要求越来越高,要求内存读写速度尽可能的快,容量尽可能的大。面对这种趋势,设计实现大容量高速读写的内存显得尤为重要。

    本文结合笔者承担的T比特路由器项目,对其中的大容量高速DDR内存接口的设计实现进行了详细阐述。本文第2节对与DDR内存相关的知识做了简单的介绍,从总体上对DDR内存有个认识;第3节阐述了DDR内存接口模块的整体设计;第4节对整个设计中的关键设计地址产生逻辑进行了详细阐述;最后总结全文。

2.DDR内存相关知识介绍
    DDR SDRAM是双数据率同步动态随机存储器的缩写。它能够在一个时钟周期内传送两次数据,也就是说数据速率是时钟频率的两倍,可以达到很高的数据读写速度。此外它通过对地址线的分时复用,可以做到很大的容量。比如我们设计实现的DDR内存时钟频率可达到150MHz,数据速率为300MHz,容量达到1M x 72bit。

    DDR内存为了更精确的同步使用若干对差分时钟;它还有一个独特的数据脉冲信号(DQS)。DDR内存就是根据DQS来分割一个时钟周期内的两次数据。更需要注意的是:DDR内存没有一个信号是发送读或写的明确命令的,而是通过芯片的可写状态来达到读/写的目的。具体为:片选信号(CS),行地址有效信号(RAS),列地址有效信号(CAS),写允许信号(WE)。它们都是低电平有效,它们的不同组合构成了对DDR内存的不同命令。比如CS,CAS有效,RAS无效,WE无效,表示从现在地址线指示的存储单元处读出一个数据放到数据线上;再如CS,CAS有效,RAS无效,WE有效,表示将数据线上的数据写入现在地址线指示的存储单元处。

    DDR内存可以支持突发读写,并能根据不同的需要选择不同的突发长度(BL);位宽也可以选择,并能利用掩码技术灵活的选择每次读写的有效数据宽度(以8bit为单位);此外由于DDR内存读写时需要先激活(Active)将要读写的存储单元行,然后再读写,但DDR内存任何时候只能有一存储行是打开的(处于激活态),因此在需要读写不同存储行时,要先关闭前已打开的存储行,才能打开现在将要读写的存储单元行,这一操作被称为预充电(precharge)。另外由于DDR内存是动态存储器,需要对存储体进行周期性的刷新(refresh)。

    从上面的介绍中可以看出DDR内存的性能虽然好,但接口控制很复杂。为了快速实现DDR内存接口,缩短设计周期,我们使用已经成熟的商业化内存控制器 IP 核对DDR内存进行控制。我们使用的是Altera公司的DDR Controller IP核,版本为2.2.0,使用的开发工具为Quartus II 4.1,使用VHDL语言进行描述。

3.独立内存接口模块整体设计
    为了将内存接口模块设计成相对独立的模块,也为了调整不同模块之间的时钟相位差,使数据稳定输入输出,我们给DDR内存接口模块前端增加了一个入口FIFO,出口增加了一个出口FIFO。我们的功能需求是根据出口FIFO的状态确定是否将数据送往DDR内存条中进行缓存,并且设计中必须充分考虑DDR内存条存储器带宽的利用效率,设计成批量读写的模式,减少读写切换工作的开销。该内存模块具体完成以下功能:
1)使用DDR控制器IP核完成对DDR内存的初始化配置,产生读写命令和其他各种控制信号;
2)根据出口FIFO状态产生对DDR内存接口的读写请求;
3)并且整个系统对数据的缓存处理应该公平,不能有系统差别,也就是说要保证在任何情况下读出的数据都是有效的数据,写入的数据不覆盖DDR中的原有效数据;DDR内存接口模块主要功能由DDR控制器IP核完成,对DDR内存进行初始化配置,产生读写命令和其他各种控制信号。DDR控制器有两个接口:DDR-interface和local-interface。DDR-interface直接与DDR内存条相连,不需要干预。local-interface就是根据不同需要输入不同信号,可以增加自己的逻辑。我们需要设计的逻辑就是产生读写请求信号和对应的地址信息送给DDR控制器,DDR控制器把这些请求转换为对DDR内存的数据读写。因此DDR内存接口模块的重点是对地址产生逻辑的设计。我们的内存模块设计框图详见图1。 

  

图1  DDR内存接口模块设计框图

4.内存读写地址产生逻辑的FPGA设计实现
     根据本模块的功能需求,在出口FIFO的状态为忙时,要将数据送往DDR内存条缓存,当出口FIFO的状态为非忙时,要将数据从DDR内存条读出送到出口FIFO。并且设计必须充分考虑DDR内存条存储器带宽的利用效率,设计成批量读写的模式,减少读写切换工作的开销。出口FIFO的状态能由门限信号th1和th2反映出来,从而根据th1和th2反馈控制地址产生逻辑。

    此外还要注意数据的次序,要保证对数据的公平处理,不能对数据造成系统差别,因此整个DDR内存逻辑上是一个循环队列。还要保证:DDR内存满时,不应再写DDR内存;DDR内存空时,不应再读DDR内存。DDR内存的空满对地址产生逻辑也有重要影响。

    从上面分析中看出:对地址产生逻辑有影响的信号是出口FIFO的状态指示信号th1和th2,DDR内存的空满信号;输出信号为对DDR内存的读请求rd_req和写请求wr_req,地址addr。规定:th1=1表示出口FIFO几乎空,出口FIFO状态为非忙,可以对DDR内存发出读请求,直到th2=1为止;th2=1表示出口FIFO几乎满,出口FIFO状态为忙,可以对DDR内存发出写请求,直到th1=1为止。

    DDR内存的空满由读写地址的比较得出,并且要提前几个时钟周期置出。非空标志由这样的地址比较得出:rdaddr/= wraddr-2 and rdaddr/= wraddr-1 and rdaddr/=wraddra;非满标志由这样的地址比较得出:  wraddr+2/=rdaddr and wraddr+3/=rdaddr and rdaddr/= wraddr+1。
读请求rd_req产生条件是: ①DDR内存非空,DDR内存满且th2=0;
    ②DDR内存非空,DDR内存非满且th1=1至th2=1。
写请求wr_req产生条件是:①DDR内存非满,DDR内存空;
    ②DDR内存非满,DDR内存非空且th2=1至th1=1。
    DDR内存模块的地址产生逻辑使用VHDL语言在Quartus II 4.1上实现,最后编程例化到Altera公司的Stratix GX系列FPGA中物理实现。具体仿真波形详见图2。


 
                   图 2  DDR内存模块地址产生程序的信号仿真波形
    仿真说明:输入时钟为150M,复位信号高有效,ready为DDR控制器准备好信号,th1=1表示出口FIFO几乎空,在DDR内存非空时,应该读DDR内存;th2=1表示出口FIFO几乎满,在DDR内存非满时,应该写DDR内存;输出数据为读请求信号rdreq,写请求信号wrreq,输出地址信号ddraddr(为仿真方便,仿真时的地址位宽设定为5bit)。

    通过仿真从Quartus II 4.1的报告中可以看到如此设计的时钟可以最高达到162.92MHz,符合设计要求的150MHz。其它功能要求也能满足。

5.结束语
    本文根据电子系统对高速大容量内存的需要,使用成熟商业化DDR控制器IP核来设计独立的DDR内存接口模块,不仅能从控制的细节中解脱出来,专注于系统的关键功能设计,并且能够获得更高的性能,完全满足我们的功能性能需要。经测试该设计性能稳定,整个工作流程简单实用,符合设计要求。

参考文献
1 stratix_GX_datasheet. Altera公司,2003
2 Double Data Rate(DDR)SDRAM Handbook.Micron公司,2004
3边计年,薛宏熙.用VHDL设计电子线路[M].北京:清华大学出版社,2000

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭