您的位置 首页 制造

根据FPGA的DDR内存条的操控研讨

随着数据存储量的日益加大以及存储速度的加快,大容量的高速存储变得越来越重要。内存条既能满足大容量的存储又能满足读写速度快的要求,这样使得对内存条控制的应用越来越广泛。首先介绍了内存条的工作原理,内存条

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的时刻后能够进入写状况。

  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类信号线中带状线和微带线板厚,铜厚,以及信号线的线宽,线长等参数。

  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内存条的操控,能够完成大容量高速的数据存储,在工程中的得到广泛的使用

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/196973.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部