网站大量收购闲置独家精品文档,联系QQ:2885784924

Sdram控制器的Verilog的实现.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Sdram控制器的Verilog的实现

??????目前,在很多通信芯片及系统的开发中,常常需要用到存储容量大、读写速度高的存储器。在各种随机存储器件中,SDRAM 的价格低、体积小、速度快、容量大,是比较理想的器件。但是,与SRAM相比较,SDRAM的控制逻辑复杂,使用很不方便。为了解决这个矛盾,需要设计专用的SDRAM控制器,使系统用户象使用SRAM一样方便的使用SDRAM是十分必要的。本文介绍了SDRAM控制器的Verilog设计,并给出了实现结果。 一、?Sdram简介 1、?Sdram的接口信号 2、?Sdram启动和初始化 系统商上电后,Sdram 必须经过初始化才能使用,初始化过程必须经过以下几个步骤: (1)?发出NOP指令,等待1ms (2)?执行PreChargeAll命令 (3)?执行8次AutoRefresh命令 (4)?设置模式寄存器(Mode Register) (5)?等待Tmrd时钟,Sdram就可以正常读写了。 3、?Sdram的模式寄存器 ??? Mode Register 用于定义Sdram的运行模式。在PC133规范中,Mode Register中包括了突发长度(Burst Length)、突发类型(Burst Type)和CASs延迟(CAS Latency)。用过Mode Register Set 命令进行编程, 这组信息将会保存知道Sdram掉电为止(具体的Mode Register定义和SDRAM的命令看对应Sdram的数据手册)。 二、?Sdram的命令解析 1、?Bank Active 命令 ??? 在进行任何的Read和Write 命令之前,Sdram首先要选择进行操作的Bank,并且还要打开这个Bank中相应的行,这个通过Bank Active 命令来实现,Bank Active打开BA指定的Bank,同时锁存行地址信号。每个Bank 最长激活时间位 Tras,当Bank Active命令执行完毕以后,需要进行操作的的Bank中的行就会被打开,经过Trcd的延时之后,才可以进行Read或Write命令。 2、?PreCharge命令 ??? PreCharge命令用于预充电BA和AP指定的Bank,当AP为高时,所有的Bank同时被充电,当AP为低时,由BA指定的Bank被充电,当此命令结束后,指定的Bank由激活状态转变为空闲状态,PreCharge命令相当于关闭对应的Bank,当Sdram需要在同一个Bank中打开另外一行时,需要先用PreCharge命令关闭已经打开的行,然后用Bank Active命令来打开新的行。同一个Bank中,在两个相邻的Bank Active命令之间的时间间隔为Trc,在不同的Bank之间,执行两个Bank Active命令之间的时间间隔为Trrd。 3、?Read命令 ??? Rea的命令用于执行由BA指定的Bank的读操作,同时锁存列地址以及由AP指定的预充电模式。此命令结束后,数据经过CASs等待时间从Sdram内部输出到外部引脚上。当AP为高是,此命令结束前自动执行一个PreCharge命令,当AP为低时,此命令结束后Bank依然处于激活状态(在执行Read命令前,相应的Bank必须处于激活状态)。 4、?Write命令 ??? Write命令用于执行由Ba指定的Bank的写操作,同事锁存列地址信号以及有AP指定的预充电模式。需要写入的数据从此命令开始时提供给Sdram,当AP为高时,此命令结束前自动执行一个PreCharge命令,当AP为低时,此命令结束后Bank依然处于激活状态(执行Write命令前,相应的Bank必须处于激活状态)。 5、?Auto Refresh命令 ??? Auto Refresh 命令用于Sdram芯片在正常工作状态时使用的自动刷新操作。刷新所需要的行地址由Sdram内部的刷新计数器提供。刷新操作必须在64ms内别执行4096次(行地址的数目)。刷新操作可以周期性的执行,也可以突发性的执行。其他的命令可以在Auto Refresh命令结束Trrc时间后被执行。当执行此命令是,所有的Bank必须位空闲的。 三、?Sdram控制器的Verilog实现 1、?Sdram的状态图 ??? 如图,Sdram控制器一共分为 21 个状态,根据不同的信号,Sdram在各个状态之间切换实现对Sdram的控制。 1.SDRAM的burst mode:SDRAM是一种命令型动作的设备,就算读写资料只有一个也要先下命令才可以用,为了增加工作效率,就产生了一种传送一个命令,写多个数据的模式,这就是burst mode。 burst mode是一种利用内部列地址发生器来工作的高速读写模式,只要设置最开始的列地址,后面的地址就可以通过内部的列地址发生器来自动生成。 2

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档