SDRAM的相关时序参数设置(精)
- 格式:doc
- 大小:13.00 KB
- 文档页数:2
SDRAM原理和时序SDRAM(Synchronous Dynamic Random Access Memory)是一种同步动态随机访问存储器,主要用于计算机系统中,以存储数据和指令。
本文将从原理和时序两个方面对SDRAM进行详细的解析和教程。
一、原理1.寻址:SDRAM采用地址总线将存储单元进行编号,通过地址总线可以访问存储器中特定的单元。
SDRAM的地址空间通常是2的幂次方大小,即N=2^k,其中k为地址总线的位数。
2.读写操作:SDRAM的读写操作是通过数据总线进行的。
写操作可以将数据写入特定的存储单元,而读操作可以将存储单元中的数据读取到CPU或其他外部设备。
3.预充电:SDRAM中的每个存储单元都是由一个电容和一个开关组成。
在进行读写操作之前,需要对存储单元进行预充电操作,以确保电荷的准确读取和写入。
4.刷新:SDRAM是一种动态存储器,存储单元中的电荷会逐渐漏失。
为了保持数据的有效性,SDRAM需要进行定期的刷新操作,即将所有存储单元的数据重新写入并恢复电荷。
二、时序1.读时序:SDRAM的读操作包括行选通、列选通和数据输出三个过程。
首先,通过地址总线选通特定的行(行选通),然后选通特定的列(列选通),最后将存储单元中的数据通过数据总线输出。
读操作的时序需要考虑地址选通和数据输出之间的延迟。
2.写时序:SDRAM的写操作包括行选通、列选通和数据输入三个过程。
首先,通过地址总线选通特定的行(行选通),然后选通特定的列(列选通),最后将数据通过数据总线输入到特定的存储单元中。
写操作的时序需要考虑地址选通和数据输入之间的延迟。
时序的设计和调整对于SDRAM的稳定性和性能非常重要。
不同的SDRAM芯片可能有不同的时序参数需要设置和优化。
三、教程以下是使用SDRAM的一般步骤:1.确认SDRAM的规格和时序参数,包括容量、位宽、频率等,并根据需要准备好相应的电路板和接口。
2.将SDRAM芯片焊接到电路板上,确保正确连接电源和信号线。
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)前导延迟是指当一个行被关闭之后,必须等待一段时间才能执行新的行访问操作。
较低的前导延迟值可以减少访问延迟,提高系统性能,但可能会增加稳定性问题。
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(datamask )信号作用一样,比如,当想使local_data 的某8 位数据无效,将local_be 的对应位置0 即可。
local_burstbegin :本地突发开始信号,当avalon 总线开始突发读写时,将此信号置位‘ 1'。
(使用条件:本地接口是avalon 总线,且memory 侧的突发长度大于 2 )local_size:本地突发长度,即连续读或写的local_data 个数。
长度不能超过ddrip 核里配置的maximum avalon- mm burst length 的长度。
内存时序参数详解内存时序参数是指与内存控制器及内存之间的时间关系的参数,这些参数是由SDRAM系统的设计者设定的,其目的是使控制器可以正确读写SDRAM,也就是执行正确的读写操作。
主要参数如下:1. 主频:指的是CPU的时钟频率,也是内存控制器的时钟频率,它决定了SDRAM的读写时序和速度。
2. CAS延迟(CAS Latency):CAS延迟指SDRAM从受到激活请求开始至内部地址信号被接受完毕的最短时间,即CPU发出激活请求开始到实际内存传输数据延迟的时间,它占据检测时间的最长比例。
一般认为,该时序参数越小越好,可以提高内存的读取速度。
3. RAS延迟(RAS Latency):RAS延迟指受到激活请求后,SDRAM 准备要接受内存地址和读写数据信号之间的最短时间,即CPU发出激活请求后到内存实际传输数据之间的延迟时间,RAS延迟比CAS延迟低,但又不能太低,因为CAS延迟在一定范围内取值比RAS延迟更重要。
4. RAS Precharge(RAS Precharge):RAS Precharge指执行一个操作(比如某一特定的读写操作)后,把SDRAM复位为可以再次接受新的操作的最短时间,如果我们对RAS Precharge时间太长,则对总系统的存取效率影响较大,因此要尽可能的将这个参数设置较短,以提高存取效率。
5. 预取(Pre-charge):Pre-charge时间是每次内存操作结束后,从正在传输数据的某一页中,切换到下一页并等待内部地址信号的最短的时间,它是RAS to CAS的时间,Pre-charge是对RAS Precharge的扩展,Pre-charge时间一般比RAS Precharge时间长,其取值应根据实际应用来确定。
6. 传输时间(Transfer time):Transfer time指的是地址/控制线CAS之后,从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:本地写数据。
ddr4时序标准
DDR4是一种双倍数据率同步动态随机访问存储器(SDRAM),它是DDR3的后继产品。
DDR4的时序标准包括预充电、激活、读取和写入等关键时序参数。
以下是关于DDR4时序标准的详细内容:
1. 预充电(Precharge):预充电是指在进行下一个操作之前将存储器行恢复到预充电状态的过程。
DDR4的预充电时序参数包括tRP(行预充电时间)和tRAS(行激活到预充电时间)。
2. 激活(Activate):激活是指将存储器行从预充电状态切换到激活状态的过程。
DDR4的激活时序参数包括tRCD(行激活到列访问延迟时间)和tRRD(行行延迟时间)。
3. 读取(Read):读取是指从存储器中读取数据的过程。
DDR4的读取时序参数包括tCAS(列地址到列地址延迟时间)和tRTP(读取到预充电时间)。
4. 写入(Write):写入是指向存储器中写入数据的过程。
DDR4的写入时序参数包括tWR(写入恢复时间)和tWTR(写入到读取延迟时间)。
除了上述关键时序参数外,DDR4还有其他一些时序标准,如tCK(时钟周期时间)、tCKE(时钟使能到时钟禁用时间)和tFAW (四个激活窗口时间)等。
这些时序标准对于DDR4的性能和稳定性起着至关重要的作用,制造商和设计者需要严格遵守这些标准以确保DDR4的正常运行和高效性能。
SDRAM的读写时序与突发长度在选定列地址后,就已经确定了具体的存储单元,剩下的事情就是数据通过数据I/O通道(DQ)输出到内存总线上了。
但是在CAS发出之后,仍要经过一定的时间才能有数据输出,从CAS与读取命令发出到第一笔数据输出的这段时间,被定义为CL(CAS Latency,CAS 潜伏期)。
由于CL只在读取时出现,所以CL又被称为读取潜伏期(RL,Read Latency)。
CL的单位与tRCD一样,为时钟周期数,具体耗时由时钟频率决定。
不过,CAS并不是在经过CL周期之后才送达存储单元。
实际上CAS与RAS一样是瞬间到达的,但CAS的响应时间要更快一些。
为什么呢?假设芯片位宽为n个bit,列数为c,那么一个行地址要选通n×c个存储体,而一个列地址只需选通n个存储体。
但存储体中晶体管的反应时间仍会造成数据不可能与CAS在同一上升沿触发,肯定要延后至少一个时钟周期。
由于芯片体积的原因,存储单元中的电容容量很小,所以信号要经过放大来保证其有效的识别性,这个放大/驱动工作由S-AMP负责,一个存储体对应一个S- AMP通道。
但它要有一个准备时间才能保证信号的发送强度(事前还要进行电压比较以进行逻辑电平的判断),因此从数据I/O总线上有数据输出之前的一个时钟上升沿开始,数据即已传向S-AMP,也就是说此时数据已经被触发,经过一定的驱动时间最终传向数据I/O总线进行输出,这段时间我们称之为tAC (Access Time from CLK,时钟触发后的访问时间)。
tAC的单位是ns,对于不同的频率各有不同的明确规定,但必须要小于一个时钟周期,否则会因访问时过长而使效率降低。
比如PC133的时钟周期为7.5ns,tAC则是5.4ns。
需要强调的是,每个数据在读取时都有tAC,包括在连续读取中,只是在进行第一个数据传输的同时就开始了第二个数据的tAC。
CL=2与tAC示意图CL的数值不能超出芯片的设计规范,否则会导致内存的不稳定,甚至开不了机(超频的玩家应该有体会),而且它也不能在数据读取前临时更改。
在我们一般用的什么 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。
在我们一般用的什么 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。
该参数用于确定 SDRAM 内存行激活时间和行周期时间的时钟周期数。
Tras 代表 SDRAM 行激活时间(Row Active Time ,它是为进行数据传输而开启行单元所需要的时钟周期数。
Trc 代表 SDRAM 行周期时间(Row Cycle Time ,它是包括行单元开启和行单元刷新在内的整个过程所需要的时钟周期数。
出于最佳性能考虑可将该参数设为5/7,这时内存的速度较快,但有可能出现因行单元开启时间不足而影响数据传输的情况,在 SDRAM 内存的工作频率高于 100MHz 时尤其是这样,即使是品牌内存大多也承受不了如此苛刻的设置。
SDRAM RAS-TO-CAS Delay (内存行地址传输到列地址的延迟时间可选项:2, 3。
该参数可以控制 SDRAM 行地址选通脉冲(RAS , Row Address Strobe信号与列地址选通脉冲信号之间的延迟。
对 SDRAM 进行读、写或刷新操作时,需要在这两种脉冲信号之间插入延迟时钟周期。
出于最佳性能考虑可将该参数设为 2,如果系统无法稳定运行则可将该参数设为 3。
SDRAM RAS Precharge Time(内存行地址选通脉冲预充电时间可选项:2, 3。
该参数可以控制在进行 SDRAM 刷新操作之前行地址选通脉冲预充电所需要的时钟周期数。
将预充电时间设为 2可以提高 SDRAM 的性能,但是如果 2个时钟周期的预充电时间不足, 则 SDRAM 会因无法正常完成刷新操作而不能保持数据。
Memory Hole At 15M-16M(位于 15M ~16M 的内存保留区可选项:Disabled , Enabled 。
一些特殊的 ISA 扩展卡的正常工作需要使用位于 15M ~16M 的内存区域,该参数设为 Enabled 就将该内存区域保留给此类 ISA 扩展卡使用。
由于PC ’ 99规范已不再支持 ISA 扩展槽,所以新型的主板一般都没有 ISA 插槽,因而应将该参数设为 Disabled 。
System Memory Frequency(系统内存频率可选项:AUTO 、 100MHz 、
133MHz 。
此项设置实现内存异步运行管理功能。
AUTO :根据内存的特性自动设定内存的工作频率; 100MHz :将内存强制设定在 100MHz 频率下工作; 133MHz :将内存强制设定在 133MHz 频率下工作。