DDR2-SDRAM操作时序规范
- 格式:pdf
- 大小:2.94 MB
- 文档页数:47
DIMM :双列直插式存储模块(dual In-line memory module)DDR 地址、片选及其他控制线:单端阻抗50欧。
应走成菊花链状拓扑,可比ddrclk 线长1000-2500mil,绝对不能短。
图1 菊花链拓扑和fly-byDDR 数据线,ddrdqs,ddrdm 线:单端阻抗50欧,最好在同一层布线。
数据线与时钟线的线长差控制在50mil 内。
其中要特别注意DQS的走线,要满足3W规则。
PCB布线顺序:数据线-> 地址线-> 控制线-> 时钟。
其中数据线包括DQ/DQS/DM,它们都是在时钟的双沿发生操作。
当有两片DDR PHY时,电源输入不提倡使用链接方式,即从一个PHY输入,然后从该PHY引出直接接入下一个PHY,这样容易造成下一个PHY引入前面PHY所产生的噪声,并且如加入隔离电感的话,致使下一个PHY的电压降过低,影响其正常工作。
合适方法是:在电源走线的开头分成两路,类似并联的方法,两路走线长度相似,加入相同的退耦电路。
DDR各信号线的上拉电压(Vtt)也采用供电电压的布局和走线,还有就是Vtt采用独立的电压变换器,而不是从供电电源电阻分压得来。
在信号过孔附近缺少返回路径的情况下,则此信号过孔会大大增高其阻抗。
可以在过孔周围增加四个地过孔,减少时延降低串扰的一个规则是,并行走线的间距大于走线到地平面的距离的两倍。
在DDR的设计上有三类电源,它们是VDD、VTT和Vref。
VDD的容差要求是5% 。
Vref要求更加严格的容差性,但是它承载着比较小的电流。
显然,它只需要很窄的走线,且通过一两个去耦电容就可以达到目标阻抗的要求。
由于Vref相当重要,所以去耦电容的摆放尽量靠近器件的管脚。
将Vref的去耦电容靠近Vref管脚摆放;Vtt的去耦电容摆放在最远的一个SDRAM外端;VDD 的去耦电容需要靠近器件摆放BGA拉线注意整齐美观,DDR信号分组走,同组走同层,过孔数及过孔位置保持一致。
在我们一般用的什么 SRAM 啊, PSRAM 啊, RAM 啊, 一般而言都是有多少根地址线, 然后可以算出寻址空间, 比如有 11根地址线, 那寻址空间就是 2的 11次方减 1。
但是 SDRAM 是分列地址和行地址的, 行、列地址线是复用的, 所以有时候我们看到说寻址空间有多大多大,但是看看地址线怎么就那么几根啊,呵呵。
SDRAM 一般还有 2根 BANK 的线,分成 4个 BANK ,在有的处理器的 SDRAM 控制模块中,这两根线可能映射到地址线的某两根去。
一般芯片常按照以下方式写芯片的配置,比如 4Meg x 4 x 16,那这个芯片就是 256Mbits 。
其中 16指数据线是 16根,中间一个 4是只分 4个 BANK , 每个 BANK 是 4Meg 。
SDRAM CAS Latency Time(内存 CAS 延迟时间可选项:2, 3。
内存 CAS (Column Address Strobe, 列地址选通脉冲延迟时间控制 SDRAM 内存接收到一条数据读取指令后要等待多少个时钟周期才实际执行该指令。
同时该参数也决定了在一次内存突发传送过程中完成第一部分传送所需要的时钟周期数。
这个参数越小,则内存的速度越快。
在 133MHz 频率下,品质一般的兼容内存大多只能在 CAS=3下运行,在 CAS=2下运行会使系统不稳定、丢失数据甚至无法启动。
CAS 延迟时间是一个非常重要的内存参数,对电脑性能的影响比较大, Intel 与 VIA 就 PC133内存规范的分歧也与此参数有关, Intel 认为 PC133内存应能稳定运行于 133MHz 频率、 CAS=2下, 而 VIA 认为 PC133内存能稳定运行于 133MHz 频率即可, 并未特别指定 CAS 值, 因此 Intel 的规范更加严格, 一般只有品牌内存才能够满足此规范,所以大家感觉 Intel 的主板比较挑内存。
SDRAM Cycle Time Tras/Trc(内存 Tras/Trc时钟周期可选项:5/7, 7/9。
1、Uniphy 整体框图:2、存储控制器连接图PHY的时钟与复位信号1、pll_ref_clk:PLL参考时钟输入。
2、global_reset_n:全局复位信号,对PLL和PHY里的所有逻辑单元进行复位。
3、soft_reset_n:软复位信号,对phy复位,不对PLL复位。
当soft_reset_n为低时,输出的afi_reset_n信号也为低。
3、各个模块间的接口信号3、1控制器与用户接口间使用的Avalon相关信号线:下表是本地接口信号,在altera例化的IP核里,本地用户接口使用的是avalon总线➢Local_addr:指的是用户接口端的地址线,位宽计算方法如下:1)当只使用1pcs 外部存储器时:位宽=bank位宽+行位宽+列位宽-1;2)当使用多片片外存储器时:位宽=芯片位宽+bank位宽+行位宽+列位宽-1;计算位宽时减1 是因为用户数据接口宽度是memory侧数据宽度的两倍(memory侧是在时钟的上升和下降沿都收发数据,而用户侧只在时钟的上升沿收发数据,假如用户读写数据的时钟频率与memory侧的数据频率相同,那么,在时钟上升沿来时,用户侧发送的数据位宽应是memory 侧数据位宽的两倍)。
➢local_be:字节使能信号(用于向控制器写数据时),与memory侧的DM(data mask )信号作用一样,比如,当想使local_data的某8位数据无效,将local_be的对应位置0即可。
➢local_burstbegin:本地突发开始信号,当avalon总线开始突发读写时,将此信号置位‘1’。
(使用条件:本地接口是avalon总线,且memory侧的突发长度大于2)➢local_size:本地突发长度,即连续读或写的local_data个数。
长度不能超过ddr ip核里配置的maximum avalon- mm burst length的长度。
➢local_wdata:本地写数据。
SDRAM的相关时序参数设置SDRAM(Synchronous Dynamic Random Access Memory)是一种高速的内存类型,它与处理器进行同步工作,提供快速的数据传输和读写能力。
SDRAM的性能受到各种时序参数的影响,正确设置这些参数对于系统的稳定性和性能至关重要。
下面将详细介绍SDRAM的各个时序参数及其设置方法。
1. 刷新周期(Refresh Cycle)SDRAM是一种动态存储器,需要定期进行刷新操作。
SDRAM芯片上的一个刷新周期包括多个刷新行为,以保持内存中的数据。
刷新周期由刷新间隔(Refresh Interval)和刷新行数(Number of Refreshes)两个参数决定。
刷新间隔表示两次刷新之间的时间间隔,通常以行数或毫秒计算;刷新行数表示每次刷新执行的行数。
刷新周期的设置应该满足芯片厂商的规格要求,并考虑到系统的稳定性和性能需求。
2. CAS延迟(CAS Latency)CAS延迟是SDRAM的一项重要参数,表示从引脚触发读操作时到真正开始执行读操作之间的时间延迟。
CAS延迟的设置影响总线的延迟时间和读取速度。
较低的CAS延迟值可以提高性能,但可能会增加系统的稳定性问题。
在选择CAS延迟值时,需要根据具体平台的要求和SDRAM芯片的规格进行合理设置。
3. RAS到CAS延迟(RAS to CAS Delay)RAS到CAS延迟表示从行地址选定到列地址选定期间的时间延迟。
它是影响SDRAM读取性能的另一个重要参数。
较低的RAS到CAS延迟值可以提高读取速度,但可能会增加系统稳定性问题。
在设置RAS到CAS延迟值时,需要综合考虑平台要求、SDRAM芯片规格和稳定性需求。
4. 前导延迟(Precharge Delay)前导延迟是指当一个行被关闭之后,必须等待一段时间才能执行新的行访问操作。
较低的前导延迟值可以减少访问延迟,提高系统性能,但可能会增加稳定性问题。
DDR 内存既然叫做双倍速率SDRAM(Dual date rate SDRSM),就是说是SDRAM的升级换代产品。
从技术上分析,DDR SDRAM最重要的改变是在界面数据传输上,其在时钟信号上升缘与下降缘时各传输一次数据,这使得DDR的数据传输速率为传统SDRAM的两倍。
那么大家就应该知道了,我们所说的DDR400,DDR333,DDR266,他们的工作频率其实仅为那些数值的一半,也就是说DDR400工作频率为200MHz。
FSB与内存频率的关系首先请大家看看表一:FSB(Front Side Bus:前端总线)和内存比率与内存实际运行频率的关系。
FSB/MEM比率实际运行频率1/01200MHz1/02100MHz2/03133MHz3/04150MHz3/05120MHz5/06166MHz7/10140MHz9/10180MHz对于大多数玩家来说,FSB和内存同步,即1:1(DFI 用1/01表示)是使性能最佳的选择。
而其他的设置都是异步的。
同步后,内存的实际运行频率是FSBx2,所以,DDR400的内存和200MHz的FSB正好同步。
如果你的FSB为240MHz,则同步后,内存的实际运行频率为240MHz x 2 = 480MHz。
表2更详尽列出了FSB与不同速度的DDR内存之间正确的设置关系强烈建议采用1:1的FSB与内存同步的设置,这样可以完全发挥内存带宽的优势。
Command Per Clock(CPC)可选的设置:Auto,Enable(1T),Disable(2T)。
Command Per Clock(CPC:指令比率,也有翻译为:首命令延迟),一般还被描述为DRAM Command Rate、CMD Rate等。
由于目前的DDR内存的寻址,先要进行P-Bank的选择(通过DIMM上CS片选信号进行),然后才是L-Bank/行激活与列地址的选择。
这个参数的含义就是指在P-Bank选择完之后多少时间可以发出具体的寻址的L-Bank/行激活命令,单位是时钟周期。
DDR 与DDR-IIDDR SDRAMDDR SDRAM全称为Double Data Rate SDRAM,中文名为“双倍数据流SDRAM”。
DDR SDRAM在原有的SDRAM的基础上改进而来。
图1一、DDR 的基本原理以MICRON的MT46V64M16(16 Meg x 16 x 4 Banks)为例,其时序图如下所示:图2 DDR读操作时序图从中可以发现它多了两个信号:CK#与DQS,CK#与正常CK时钟相位相反,形成差分时钟信号。
而数据的传输在CK与CK#的交叉点进行,可见在CK的上升沿与下降沿都有数据被触发,从而实现DDR。
在此,我们可以说通过差分信号达到了DDR的目的,甚至讲CK#帮助了第二个数据的触发,但这只是对表面现象的简单描述,从严格的定义上讲并不能这么说。
之所以能实现DDR,还要从其内部的改进说起。
图3 DDR内部结构图从图中可以看出,其前半部分与SDRAM的结构基本相同,红色框图部分即为比SDRAM多出的部分。
首先不同之处就是内部的Bank control logic规格。
SDRAM中Bank control logic存储单元的容量与芯片位宽相同,但在DDR中Bank control logic存储单元的容量是芯片位宽的一倍。
也因此,真正的行、列地址数量也与同规格SDRAM不一样了。
以本芯片为例,在读取时,Bank control logic在内部时钟信号的触发下一次传送32bit的数据给读取锁存器,再分成2路16bit 数据传给复用器,由后者将它们合并为一路16bit数据流,然后由发送器在DQS的控制下在外部时钟上升沿与下降沿分两次传输16bit的数据给北桥。
这样,如果时钟频率为100MHz,那么在I/O端口处,由于是上下沿触发,那么就是传输频率就是200MHz。
这种内部存储单元容量(也可以称为芯片内部总线位宽)=2×芯片位宽(也可称为芯片I/O 总线位宽)的设计,就是所谓的两位预取(2-bit Prefetch),有的公司则贴切的称之为2-n Prefetch(n代表芯片位宽)。
内存的原理和时序(SDRAM、DDR、DDR-Ⅱ、Rambus DRAM)目录序言第一章 SDRAM的原理和时序1.1 SDRAM内存模组的物理Bank与芯片位宽1.1.1 物理Bank1.1.2 芯片位宽1.2 SDRAM的逻辑Bank与芯片容量表示方法1.2.1 逻辑Bank 与芯片位宽1.2.2 内存芯片的容量1.2.3 与芯片位宽相关的DIMM 设计1.3 SDRAM的引脚与封装1.4 SDRAM芯片初始化、行有效、列读写时序1.4.1 芯片初始化1.4.2 行有效1.4.3 列读写1.5 SDRAM的读/写时序与突发长度1.5.1 数据输出(读)1.5.2 数据输入(写)1.6 预充电1.7 刷新1.8 数据掩码1.9 SDRAM的结构、时序与性能的关系1.9.1 影响性能的主要时序参数1.9.2 增加PHR 的方法1.9.3 增加PFHR 的方法1.9.4 内存结构对PHR 的影响1.9.5 读/写延迟不同对性能所造成的影响1.9.6 BL 对性能的影响1.10 仓库物语第二章 DDR SDRAM的原理和时序2.1 DDR的基本原理2.2 DDR SDRAM 与SDRAM 的不同2.3 差分时钟2.4 数据选取脉冲(DQS)2.5 写入延迟2.6 突发长度与写入掩码2.7 延迟锁定回路(DLL)第三章 DDR-Ⅱ的原理和新技术3.1 DDR-Ⅱ内存结构3.2 DDR-Ⅱ的新操作与新时序设计3.2.1 片外驱动调校(OCD,Off-Chip Driver) 3.2.2 片内终结(ODT,On-Die Termination) 3.2.3 前置CAS、附加潜伏期与写入潜伏期3.3 DDR-Ⅱ未来发展3.3.1 DDR-Ⅱ的发展计划3.3.2 DDR-Ⅱ时代的封装技术第四章 Rambus DRAM的原理4.1 RDRAM 简介4.2 RDRAM 的结构简介4.2.1 RDRAM的L-Bank 结构4.2.2 RDRAM的主要特点4.3 RDRAM 的具体操作与相关技术4.3.1 初始化与命令包4.3.2 操作时序计算4.3.3 写入延迟与掩码操作4.3.4 多通道技术与多通道模组 4.3.5 黄石技术4.4 延迟与总线利用率的比较4.5 未来竞争展望第五章 内存模组介绍5.1 Unb 与Reg-DIMM 的区别5.2 DIMM 引脚的基本设计5.3 QBM 型DIMM5.4 模组的堆叠装配序言作为电脑中必不可少的三大件之一(其余的两个是主板与CPU),内存是决定系统性能的关键设备之一,它就像一个临时的仓库,负责数据的中转、暂存……不过,虽然内存对系统性能的至关重要,但长期以来,DIYer并不重视内存,只是将它看作是一种买主板和CPU 时顺带买的“附件”,那时最多也就注意一下内存的速度。
ddr2 clk波形超过tac,min的时间要求DDR2的时钟信号(CLK)在时序上需要满足一定的要求,特别是在TAC(时钟周期)和最小脉冲宽度方面。
首先,TAC是指数据访问时钟周期,它是DDR2 SDRAM设备在进行数据访问时所需的最小时钟周期。
如果时钟信号的周期长于TAC,那么可能会导致数据访问的延迟或错误。
其次,CLK信号的最小脉冲宽度(通常称为最小脉冲宽度或MIN)也是一个重要的参数。
如果脉冲宽度小于这个最小值,可能会导致信号的失真或不稳定,进而影响DDR2 SDRAM的正常工作。
因此,如果DDR2的CLK波形超过TAC或MIN的时间要求,可能会导致数据访问的延迟或错误,甚至可能导致DDR2 SDRAM设备无法正常工作。
在实际应用中,需要根据具体的DDR2规格书或技术规范来设置正确的时钟信号参数,以确保DDR2 SDRAM的正常稳定运行。
1、Uniphy 整体框图:2、存储控制器连接图PHY的时钟与复位信号1、pll_ref_clk:PLL参考时钟输入。
2、global_reset_n:全局复位信号,对PLL和PHY里的所有逻辑单元进行复位。
3、soft_reset_n:软复位信号,对phy复位,不对PLL复位。
当soft_reset_n为低时,输出的afi_reset_n信号也为低。
3、各个模块间的接口信号3、1控制器与用户接口间使用的Avalon相关信号线:下表是本地接口信号,在altera例化的IP核里,本地用户接口使用的是avalon总线➢Local_addr:指的是用户接口端的地址线,位宽计算方法如下:1)当只使用1pcs 外部存储器时:位宽=bank位宽+行位宽+列位宽-1;2)当使用多片片外存储器时:位宽=芯片位宽+bank位宽+行位宽+列位宽-1;计算位宽时减1 是因为用户数据接口宽度是memory侧数据宽度的两倍(memory 侧是在时钟的上升和下降沿都收发数据,而用户侧只在时钟的上升沿收发数据,假如用户读写数据的时钟频率与memory侧的数据频率相同,那么,在时钟上升沿来时,用户侧发送的数据位宽应是memory侧数据位宽的两倍)。
➢local_be:字节使能信号(用于向控制器写数据时),与memory侧的DM(data mask )信号作用一样,比如,当想使local_data的某8位数据无效,将local_be的对应位置0即可。
➢local_burstbegin:本地突发开始信号,当avalon总线开始突发读写时,将此信号置位‘1’。
(使用条件:本地接口是avalon总线,且memory侧的突发长度大于2)➢local_size:本地突发长度,即连续读或写的local_data个数。
长度不能超过ddr ip 核里配置的maximum avalon- mm burst length的长度。
➢local_wdata:本地写数据。