位置:51电子网 » 技术资料 » 接口电路

DDR内存接口的设计与实现

发布时间:2007/9/10 0:00:00 访问次数:512

来源:微计算机信息 作者:杨少波 王勤民 张帆 曲晶


摘 要: 针对当今电子系统对高速大容量内存的需要,本文阐述了使用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内存接口模

来源:微计算机信息 作者:杨少波 王勤民 张帆 曲晶


摘 要: 针对当今电子系统对高速大容量内存的需要,本文阐述了使用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内存接口模

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!