DDR(一)
P-Bank:计算机早期的一个概念。目的:匹配内存芯片和CPU芯片的数据总线的宽度。方法:并联多个内存模块。
L-Bank:对内部存储阵列的分割,避免寻址冲突,提高内存效率。通过ba信号选择bank,每次只能有一个L-Bank工作。
L-Bank中的存储单元是内存中的基本存储单元,每次地址匹配之后,便取出一个存储单元,它的数据位宽就是内存的数据位宽。
一个存储单元由若干bit组成,每个bit都存放在一个单独的存储体中。
一个内存芯片的容量,存储单元数量=行数×列数×L-Bank的数量。
常用的信号线:CLK,CKE,CS,RAS,CAS,WE,A0-A11,BA0-BA1
行有效:Active,进行片选和L-Bank的定址。
列寻址:列地址信号和读写命令同时发出。
读写命令与行有效命令必须有一个间隔:tRCD(RAS至CAS延迟),以时钟个数来表示。
在数据读取过程中,从读取命令发出到第一笔数据出现在数据线上,这个时间:CAS潜伏期(CAS Latency),也叫做read Latency。
这部分时间又由两部分组成,CAS命令到数据在晶体管中被触发的时间:造成一个时钟延时。
数据被触发到S-AMP驱动到数据总线:tAC。
读数据之后,会对数据进行重写,这部分时间与数据的输出同步,不会造成重写延时。
数据写入操作:由于存储电容的预充电需要一定的时间,所以在写入操作中,会留出一个写入矫正时间:tWR(Write Recovery Time)
保证数据被正确的写入。
Burst传输,减少数据传输过程中的控制资源的消耗。可以设置为2/4/8的Burst Length。具体的长度根据应用需要的数据量来确定。
预充电命令和专用的突发传输终止命令,都可以用来中断BL,前者在终端后,进行预充电操作。
在中断读操作时,命令的有效潜伏期与CL相同。中断写入操作时,命令即可有效。
预充电:对工作行中所有的存储体进行数据重写,包括S_AMP中的比较电压,行地址的复位。
DRAM在进行换行操作时,必须进行预充电,关闭现有行,准备打开新行。
目前有两种预充电命令:自动预充电命令,CAS命令的A10控制线,可以使能该功能。
单独预充电命令,A10控制线,表示针对指定L-Bank还是整个L-Bank。
在发出预充电命令后,经过时间tRP(Precharge command Period,预充电有效周期),才可以打开新的行。
(在写操作中,必须等到tWR时间后,才能进行预充电操作,)。
刷新操作与预充电中的重写命令一样,都是S_AMP先读后写,区别是刷新有具体的周期。
刷新操作分为两种:自动刷新(AR,Auto Refrech)和自刷新(SR,Self Refresh),两种操作都不需要外部提供地址信息,
内部会实现行地址的自动累加。刷新间隔=64ms/行数。刷新过程中,所有的Bank都停止工作,
每次的刷新操作占用N个时钟(PC133规定9个)。
SR操作,主要用在休眠状态下的数据保存。在发出AR命令时,将CKE置于无效,进入SR模式。
不再依靠外部时钟工作,使用内部时钟。
在SR期间,重新使能CKE,进入自动工作状态。
数据掩码操作:通过信号DQM,一位的DQM控制一个byte的DQ信号。
在读操作中,数据仍然会从存储体输出,在掩码逻辑单元处,被屏蔽。
DQM在发出命令之后的CL个时钟后有效,与读数据的位置相匹配。
在写操作中,DQM立即有效,与写入数据的位置相匹配。
tRAS:Active to Precharge Command,行有效至预充电命令间隔。以PC133为例,至少在5个时钟周期之后,最大时间视芯片而异。
背靠背式操作:读操作后马上进行写操作,由于没有延时,总线的利用率最高。但是需要在写操作前,进行CL个周期的DQM有效,
来屏蔽数据的输出,这样保证数据的有效写入。
写操作后马上进行读操作,读命令必须在tWR之后,才能发出,在经过CL个时钟,数据才能输出。
DDR(一)的更多相关文章
- DDR的前世与今生(一)
作者:一博科技 DDR SDRAM全称为Double Data Rate SDRAM,中文名为"双倍数据率SDRAM".DDR是在原有的SDRAM的基础上改进而来,严格的说DDR应 ...
- DDR相关的低功耗技术之PASR、TCSR、DPD
随着智能机的发展,DDR内存容量越来越大,bank数量越来越多,功耗也越来越大.在不需要的时候关闭部分bank,或者降低自刷新频率,或者进入深度低功耗模式.有三种DDR技术用来降低功耗: PASR(P ...
- DDR控制
先看下micron公司对DDR3命名的规则: 在设置xilinx ISE中的DDR时 在选择芯片时,不清楚该怎么选择. 请教汤工,给出的答案是Speed等级高的可以兼容等级低的芯片,个在实验之中用的是 ...
- SDRAM,DRAM,SRAM,DDR的概念
一:SDRAM SDRAM(Synchronous Dynamic Random Access Memory),同步动态随机存储器,同步是指 Memory工作需要同步时钟,内部的命令的发送与数据的传输 ...
- RAM,SRAM,DRAM,SDRAM,DDR RAM,ROM,PROM,EPROM,EEPROM,NAND FLASH,NOR FLASH的区别
RAM:由字面意思就可以理解,SDRAM SRAM DRAM(下面蓝色字体的这几种)都可以统称RAM,random access memory(随机存取存储器)的缩写,下面是51hei.com为大家整 ...
- Lattice 的 DDR IP核使用调试笔记之DDR 的 仿真
—— 远航路上ing 整理于 博客园.转载请标明出处. 在上节建立完工程之后,要想明确DDR IP的使用细节,最好是做仿真.然后参考仿真来控制IP 核. 仿真的建立: 1.在IP核内的以下路径找到以下 ...
- Lattice 的 DDR IP核使用调试笔记之工程建立
DDR3的IP核的使用相当重要,尤其是对视频处理方面. 下面接收DDR3 的IP 核的生成步骤. 1. 选择DDR IP核的生成路径.名字以及哪种语言之后就可以设置DDR IP 的参数了. 2.选择存 ...
- zedboard如何从PL端控制DDR读写(七)
前面已经详细介绍了从PL端如何用AXI总线去控制DDR的读写,并且从AXI_BRESP的返回值来看,我们也是成功写入了的.但是没有通过别的方式来验证写入的数据的话,总是感觉差了点什么. 今天试了一把从 ...
- zedboard如何从PL端控制DDR读写(六)
上一节说到了DDR寻址的问题,如下图: 从官方文档上我们看到了DDR的地址是从0008_0000开始的,那么我们开始修改Xilinx给我们提供的IP核代码.其实很简单,上一节已经分析了地址停留在000 ...
- zedboard如何从PL端控制DDR读写(五)
有了前面的一堆铺垫.现在终于开始正式准备读写DDR了,开发环境:VIVADO2014.2 + SDK. 一.首先要想在PL端通过AXI去控制DDR,我们必须要有一个AXI master,由于是测试,就 ...
随机推荐
- Nodejs电影建站开发实例(下)
作为一个真正的网站,不能没有数据的支持,下面使用的数据库为mongodb,电影可能有的数据:电影名称.导演.国家.语言.上映时间.图片.简介.视频 4.使用路由 app.js var express ...
- jquery 分页
最近有点无所事事,无聊之极! 啊啊啊,表示很痛苦! <div id="tablist_01" class="list_tab"> <table ...
- shell 使用for循环 启动后台任务
为了统计多天的数据并按照天为文件名输出,写了脚本,脚本可以统计单天的数据.为了实现多天的同时进行采用 启动多个进程后台执行形式: 但是直接 执行的参数后面加上& 并不能解决,采用 echo & ...
- sql server 2008语句中的go有什么用?
GO表示一个批处理的结束, SQLSERVER遇到Go以后就会将GO之前的语句作为一整批进行处理你在SSMS里执行的时候, 通常加不加都可以,但是如果实在SQLCMD下执行, GO就是一个执行命令了另 ...
- Fiddler-008-简单模拟性能测试
通过 Fiddler 可以简单的模拟性能测试的并发测试,此方法非常的简单,直接讲述如何使用,敬请参阅! 首先我们要获取需要并发的 HTTP请求,此操作非常简单,则在此不再赘述.获取到响应的 HTTP请 ...
- C++经典编程题#5:寻找下标
总时间限制: 1000ms 内存限制: 65536kB 描述 已知一个整数数组x[],其中的元素彼此都不相同.找出给定的数组中是否有一个元素满足x[i]=i的关系,数组下标从0开始. 举例 ...
- linux boot logo rotate
开机logo旋转方法. 参考链接 https://www.kernel.org/doc/Documentation/fb/fbcon.txt https://community.nxp.com/thr ...
- JS-JQ实现TAB选项卡
原理: 有两种实现方法, 方法一利用css的display:none 和display:block:交替实现: 方法二利用css的z-index:
- css3画图之大白(●—●)
把大白送给你~ <!DOCTYPE html> <html> <head> <title>大白</title> <meta http- ...
- CentOS6.7搭建蜜罐dionaea
yum -y install epel-release wget tar git autoconf* libtool-* mkdir /opt/dionaea 1.安装liblcfg软件.git cl ...