基于FPGA的DDR内存条的控制研究与设计

发布者:salahc1983最新更新时间:2010-07-06 来源: 桂林电子科技大学关键字:FPGA  DDR  内存  SDKAM 手机看文章 扫描二维码
随时随地手机看文章

  1 内存条的工作原理

  DDR内存条是由多颗粒的DDR SDKAM芯片互连组成,DDR SDRAM是双数据率同步动态随机存储器的缩写。DDR SDRAM采用双数据速率接口,也就是在时钟的正沿或负沿都需要对数据进行采样。在本设计中采用的内存是hynix公司的lGB的HYMD564M646CP6-J。内存条的工作原理与单颗粒内存芯片的工作原理一样,主要的控制信号以及控制信号完成的主要功能如表1所示。

  以上的控制信号及地址信号都是由差分时钟信号中CK的正沿触发。DDR SDRAM必须按照一定的工作模式来完成初始化,完成初始化后才能进入到读写过程。DDR SDRAM的控制流程如图1所示。

  初始化的过程为:(1)上电后,延时200us等待时钟稳定,然后将CKE拉高,执行一次NOP或者DESELECT操作。(2)执行一次precharge all操作。(3)设置扩展模式寄存器(BAl为低电平BA0为高电平)使能DLL。(4)设置模式寄存器(BAl,BA0均为低电平)复位DLL。(5)执行一次pre-charge all指令。(6)再经过2个自刷新(Auto refresh)指令后再次设置模式寄存器设置操作模式。(7)延时200个周期才能进行读操作。DDR SDRAM的扩展模式寄存器和模式寄存器的定义如图2和图3所示。

  完成初始化后进入图1中的IDEL状态,此时可以进行读写操作。在进行写操作时,首先要进入Row active状态,此时选中要操作的bank与row。然后执行NOP操作等待tRCD的时间后可以进入写状态。[page]

  2 内存条电路设计

  由于DDR SDRAM采用的时钟频率较高,加上DDRSDRAM的数据率为时钟速率的两倍,DDR SDRAM对时钟质量的要求很高,必须保证时钟上升沿的时间小于5%的时钟周期。DDR SDRAM的数据线与相对应的数据采样信号(DQS)的长度要尽量相等,来保证数据的采样窗口尽量要大一些。由于信号质量要求高,我们将所有的信号线都采用微电线和带状线来传输。使用FPGA和内存条的IBIS模型进行仿真来保证设计中信号的完整性,我们将信号分为3类,第一类,由FPGA到DDR SDRAM的时钟差分信号;第二类,由FPGA到DDR SDRAM的控制线;第三类,FPGA与DDR SDRAM之间的双向传输线。对三类IBIS模型的herperlinx仿真如图4:

  通过仿真我们可以确定3类信号线中带状线和微带线板厚,铜厚,以及信号线的线宽,线长等参数。[page]

  3 FPGA对DDR SDRAM的控制

  本设计中使用的FPGA是ALTERA公司的cyclone II系列的EP2C20F484C6。对内存条的工作模式设置为BL=4,CL=3,如图7为FPGA对DDR SD-RAM的控制模块框图。

  其中,Clkin为外部输入的时钟信号,为了使FPGA到DDR SDRAM的两对时钟信号的质量尽量好,使用FPGA内部的两个锁相环输出差分时钟信号。为了保证锁相环输出的两路差分信号相位一致,在设计PCB时我们使晶振输出到FPGA两个PLL输入的布线距离相等,为了保证两个锁相环输出信号到达DDR SDRAM接口时相位一致,由FPGA锁相环输出到DDR SDRAM的接口布线长度相等。

  控制模块采用的工作模式是按照图2所示的状态来跳转,上电以后首先是对DDR SDRAM进行初始化,初始化完成以后就可以进出等待工作的状态。此时刷新计数器开始计数,等待7.8 us后给出刷新请求,在空闲状态时(IDEL)刷新请求的优先级最高,响应刷新请求后执行REFR-ESH指令同时复位刷新计数器。初始化后如果FIF00的读空标志为O说明FIF00中有数据,此时可以进入到写状态。由于采用的是BL=4的工作状态,写操作每次都写入4个64位的数。所以,我们将输入的数据进行并位成256位的数,每次写操作只需要从FIF00中读出一个256位的数。假设我们采用1OOMHz的时钟,每写4个64位的数大概需要10个时钟周期。如果输入的数据位宽为16位,那么由外部传给FPGA的数据率要小于160 MHz。写操作完成的时候进入空闲状态,等待刷新标志或者读空标志。读的时候需要等待系统发出读命令(read),然后进入读状态,读出的数据由Ddrout[127:O]送到FIF01和FIF02中。通过控制FIF01和FIF02的写请求信号来实现将数据分别写入。读的时候BL=4每次读出4个64位数,执行一次读操作大约需要10个时钟周期。如果输出的数据位宽为16位,那么数据由FPGA向外传输的速率要小于160 MHzo控制模块在读写内存条的时候控制数据模块来实现数据率为时钟速度的两倍,数据模块使用两个时钟一个是系统时钟一个是2倍的系统时钟。

  因为DDR SDRAM的控制相对复杂,我们可以使用内存条的vefilog模型,通过对内存条的vefilog仿真,我们可以知道自己程序的正确性,图8为modelsim中的仿真波形。如果仿真过程正确,我就可以对程序进行编译,布局布线,然后下载到FPGA中,由于布局布线的延时,输出的信号波形与仿真波形不一致,此时,可以通过调整FPGA内部的锁相环来调整时序,实现对内存条的控制。

  4 结束语

  通过介绍内存条的工作原理,以及内存条电路设计时的注意事项的介绍,我们可以更合理的实现FPGA与内存条的互连。最后,给出FPGA内部对内存条控制的方法,以及给出仿真波形,实现对内存条的控制。实现FPGA对DDRSDRAM内存条的控制,可以实现大容量高速的数据存储,在工程中的得到广泛的应用。

关键字:FPGA  DDR  内存  SDKAM 引用地址:基于FPGA的DDR内存条的控制研究与设计

上一篇:利用FPGA进行高速可变周期脉冲发生器设计
下一篇:基于FPGA的并行多通道激励信号产生模块

推荐阅读最新更新时间:2024-05-02 21:05

现代内存芯片的编号识别
现代内存芯片的编号识别 一、现代(HYUNDAI)公司的SDRAM内存芯片上的标识格式如下(这里说的是2000年9月30日后的新版本HY内存芯片): HY XX X XX X X X XX X -XX ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ 第1字段由HY组成,代表是现代(HYUNDAI)的产品。 第2字段代表产品类型:通常用57代表SDRAM。 第3字段代表电压:通常用V代表SDRAM的额定电压3.3V。 第4字段代表一个内存芯片的密度和刷新速度:64代表64Mbit、4K刷新;65代表64Mbit、8K刷新;28代表128Mbit、4K刷新;56代表256Mbit、8K刷新。 第5字段代
[模拟电子]
韩媒:韩国公司已占全球75%内存芯片市场份额
11月19日,据韩国媒体报道,到今年第三季度,韩国公司生产的DRAM(内存)芯片已经占到全球市场的75%,其中三星和SK海力士(SK Hynix)占据了重要地位。DRAMeXchange发布的数据显示,截至今年9月,韩企在DRAM市场的份额已经达到74.6%,三星占45.5%,SK海力士占29.1%,全球第三大厂商是来自美国的镁光,占比为21.1%。   今年11月15日,SK海力士发布第一个符合JEDEC规格的DDR5 DRAM,而三星则在7月份成功开发出10nm级别的LPDDR5 DRAM,在技术上进一步领先于世界同类企业。据业内人士介绍,SK海力士发布的DDR5 DRAM比DDR4的电力消耗减少30%,数据传输速度也快
[家用电子]
Altera采用英特尔FinFET技术,FPGA进入3D时代
日前,Altera发布消息,称将会采用英特尔14nm FinFET制程代工其最新款FPGA,迄今为止,该合作并没有其他任何公开信息披露。 借由14nm,Altera确立领先地位 Altera拒绝披露该合作任何细节,包括产品的种类及时间。不过有报道称,Altera CEO John Daane曾表示英特尔将在未来两到四年内凭借14nm FinFET技术成为顶级代工商,而为了追求更高密度更高性能以及更低的功耗,Altera会考虑将其最高端产品交由最领先的代工商。 Daane评论说:“Altera FPGA使用英特尔 14 nm技术,帮助客户设计业界最先进、性能最好的FPGA。而且,Altera是唯一使用这一技术的
[半导体设计/制造]
Altera采用英特尔FinFET技术,<font color='red'>FPGA</font>进入3D时代
寄存器,存储器,RAMROM有什么区别?
这些都是比较抽象的专业名词了,特别是寄存器,很多人在学单片机的时候对这个一脸懵逼,寄存器到底是个啥玩意? 其实不用很深刻的理解它到底是什么,你只需要知道通过配置寄存器的值,就可以把外设用起来。 我做单片机开发的这10几年,接触寄存器非常多,比如单片机有寄存器,很多外围芯片也有寄存器(EEPROM、FLASH、时钟芯片等),只要你掌握其中一个,其它的都可以触类旁通。 就像密码锁一样,设置正确的密码,锁就会打开,寄存器也是一样,设置正确的值,芯片资源就能为你所用。 下面更加全面地介绍下它们之间的区别: 一、寄存器 在单片机应用上,寄存器(register)通常用于存储程序的运行时状态,例如程序计数器(Program Counter,P
[单片机]
低功耗高性能 Actel携FPGA勇闯医疗电子蓝海
“中国医疗电子市场日渐火热,未来将会有越来越多的厂商投身这一领域,Actel在FPGA方案方面积累了一些经验,希望能为在座的各位医疗设备领域的工程师们的开发提供一些便利。” 在日前举办的第三届中国国际医疗电子技术大会(CMET2010)上,Actel技术支持/培训经理戴梦麟先生表示,“Actel非常愿意在中国医疗电子产业面临突破与升级的关键阶段贡献自己的力量。” 戴梦麟自信满满的表示,Actel在小的封装领域处于行业的领导地位,可供选择的方案比其他公司要多。目前在国内和国外已有很多公司使用Actel的产品,包括最新的家用设备,比如胰岛素泵、胎儿监视器、心率监测器等,另外有临床诊断和治疗设备,输液泵、病人监护仪以及
[嵌入式]
低功耗高性能 Actel携<font color='red'>FPGA</font>勇闯医疗电子蓝海
基于FPGA的RS232行列式矩阵键盘接口设计
一、引言 本方案是用VHDL语言来实现的基于RS232按位串行通信总线的行列式矩阵键盘接口电路,具有复位和串行数据的接收与发送功能,根据发光二极管led0-led2的显示状态可判断芯片的工作情况;实现所有电路功能的程序均是在美国ALTERA公司生产的具有现场可编程功能的芯片EPM7128SLC84-15上调试通过的。能通过动态扫描来判有键按下、将键值转换成对应的ASCII码值,在时钟脉冲的作用实现串行数据的接收与发送。 二、设计方案 1.芯片引脚定义     reset复位输入端;clk时钟输入端;rxd串行数据接收端;retn0-retn7键盘扫描行输入线;txd串行数据发送端;scan0-scan
[嵌入式]
FPGA高速硬件在环仿真器实现电机控制器测试
   介绍   电机在现代生活中扮演着重要角色。出于对安全、成本及效率的考虑,工程师——尤其是混合电动力汽车(HEV)工程师——往往希望在特定的真实环境下通过仿真电机模型对电机控制器进行测试。   由于在经济及环境等方面展现出的优势,HEV受到了广泛的关注,而电机正是HEV的核心部件。尤其是考虑到HEV的电机及电力电子器件体积大, 成本高; 在让控制器去控制这些实际的部件前, 先用硬件在环仿真的方法来测试和验证控制器的性能是非常必要的.   本文讨论基于FPGA而设计的高速HIL仿真器来实现电机控制器测试。下图为HIL测试系统。   电机驱动仿真器包括DC电压源、逆变器桥路以及电机。我们支持永磁同步电机(PMSM)及无
[嵌入式]
<font color='red'>FPGA</font>高速硬件在环仿真器实现电机控制器测试
SK 海力士开始量产 HBM3E 内存,本月下旬起向英伟达供货
3 月 19 日消息,英伟达今日发布了地表最强的 AI 加速卡--Blackwell GB200,采用台积电 4NP 工艺制程,配备 192 HBM3E 内存,共有 2080 亿个晶体管,推理大语言模型性能比 H100 提升 30 倍,成本和能耗降低 96%。 SK 海力士今日发布新闻稿宣布其最新的超高性能 AI 内存产品 HBM3E 已开始量产,并将从本月下旬起向客户供货,距离去年 8 月宣布开发仅隔了 7 个月。 据介绍,SK 海力士是首家实现量产 HBM3E 供应商,HBM3E 每秒可处理 1.18TB 数据,相当于在 1 秒内可处理 230 部全高清(FHD)级电影。 由于 AI 对内存的运行速度要求极高,HBM3E 相比
[半导体设计/制造]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved