一种基于FPGA的SDRAM设计与逻辑时序分析.docx
《一种基于FPGA的SDRAM设计与逻辑时序分析.docx》由会员分享,可在线阅读,更多相关《一种基于FPGA的SDRAM设计与逻辑时序分析.docx(7页珍藏版)》请在第一文库网上搜索。
1、一种基于FPGA的SDRAM设计与逻辑时序分析摘要:由于同步动态随机存储器SDRAM内部结构原因导致其控制逻辑比较复杂。现场可编程逻辑门阵列FPGA作为一种半定制电路具有速度快、内部资源丰富、可重构等优点。本文设计了一种基于FPGA的SDRAM控制器,在介绍控制器的逻辑结构的基础上,对FPGA与SDRAM间数据通信进行了时序分析,实现SDRAM带有自动预充电突发读写和非自动预充电整页读写。O引言SDRAM(SynchronousDynamicRandomAccessMemory)具有价格低廉、容量大、速度快等优点,但是SDRAM的控制逋辑相对复豪,对时序要求也比较严格,这就需要有一个专门的控制
2、器。而FPGA(Fie1dProgrammab1eGateArray)具有高速率、多接口、可重构等特点,基于FPGA的SDRAM控制器设计能够大大缩短开发周期,简化设计方法。以往有很多关于SDRAM控制器设计的文章,但很少从FPGA时序分析的角度考虑读写数据的准确性,本文应用FPGA构建SDRAM控制器,并对FPGA与SDRAM构建模型进行时序分析,完成功能仿真和时序仿真,最终通过板级调试实现SDRAM的正常读写。1控制器系统设计1.1SDRAM简介SDRAM的功能管脚可分为控制信号、地址信号和数据信号三类。控制信号主要有片选信号、时钟信号、时钟使能信号、行列地址选择信号、读写信号及数据有效信
3、号。地址信号分为块地址、行地址和列地址,其中行列地址是分时复用的。在行激活命令时锁存行地址,在读写命令时锁存列地址。数据信号为双向信号以减少管脚连接,受数据有效信号控制。SDRAM在正常工作前需要有初始化过程:(D上电后等待200US使电源及时钟信号稳定。(2)对SDRAM所有的BANK进行一次预充电,使器件中的存储阵列处于准备状态。(3)完成至少8次自动刷新操作,使SDRAM内部的刷新及计数器处于正常运行状态。(4)配置工作模式寄存器。SDRAM要周期性进行自动刷新操作以保证内部数据不会丢失,目前公认的行刷新周期为64ms,既可集中刷新也可以分散刷新,SDRAM内部有刷新地址计数器,每完成一
4、次自动刷新计数器会自动加1。SDRAM的读写通过寄存器配置可以实现突发长度及突发类型的设置。突发读写长度为1,2,4,8或整页模式。通过在读写命令有效时设置地址位的第10位可以实现带预充电的突发读写,预充电命令可以用来结束当前活动行的操作。对于正常突发读写在同一行操作时只需在第一次进行行激活,以后的若干次操作中写入列地址即可。若要进行不同行间的切换首先需要预充电关闭当前活动行,然后在执行行激活命令激活下一操作行。而带有预充电的突发读写在每次操作完成后自动进行一次预充电关闭当前活动行,因此在每次读写时首先都要进行行激活然后再发出读写命令。整页读写模式可以实现整页内任意长度的读写,最大长度为一般为
5、256,在每次读写完成后需要发出突发终止命令来结束读写,若要进行下一行操作要发出预充电命令关闭当前行。1.2SDRAM控制器结构系统采用模块化设计,可划分为4个模块,如图1所示,包括系统控制接口模块、命令解析与刷新控制模块、操作信号生成模块和数据通路模块。系统控制接口模块主要由状态机完成初始化工作及生成CMD命令;命令解析与刷新控制模块主要将CMD的命令解析发出命令请求同时根据刷新计数器发出刷新请求;操作信号产生模块由仲裁器仲裁请求生成各种命令信号送给SDRAM器件;数据通路模块控制数据流的传输方向并产生有效地数据输入输出。/J彳/为7.,图1SDWM控制器结构1.3各模块设计1.3.1系统控
6、制接口模块该模块通过状态机实现SDRAM初始化和控制指令产生功能,图2为状态机图。SDRAM初始化过程主要包括:在系统上电后通过计数器产生20OUS等待时间,其次执行一次预充电命令,然后完成8次自刷新操作,最后配置寄存器。powcroWaitDe1ay)*CPrechargeJRefresh图2SDRAM控制器状态:/:图在控制接口模块根据接收外部命令和后端模块响应信号生成CMD命令送入后端模块进行相应操作,表1为CMD信号真值表。表1CMD命令真值表CMD命令解释说明OOObXOP空操作OO1bBEADA10=1:带自动预充电读操作A10=0:非自动预充电读操作O1ObwkeAIOJ=1:带
7、自动预充电写操作A10=0:非自动预充电写操作O11bREF刷新操作IOObPCH预充电操作IOIb1oAC1MR配置SDRAM模式寄存器IIOb1OAD.KEG1加载控制器自动刷新计数器值H11)1oAE1REG2加载控制器配置参,1.3.2命令解析与刷新控制模块此模块主要将CMD命令进行解码送入下一模块中,同一时刻只允许一种命令请求输出。在寄存器配置过程中将控制器参数配置值和刷新计数器值加载到内部寄存器中。此时刷新控制模块开始计数,当达到寄存器内预设值时发出刷新请求,当刷新响应后计数器继续工作,周而复始。1. 3.3操作信号生成模块此模块首先接收命令请求和刷新请求,通过仲裁器根据刷新请求优
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一种 基于 FPGA SDRAM 设计 逻辑 时序 分析