DDR4的读写时序

DDR4结构

在这里插入图片描述

DDR4的地址操作

激活命令是打开一个存储块组中的一个存储块bank下的一行,用于接下来对该行的读写操作。下图是连续打开多个存储块bank的操作图,连续发出的激活命令ACT之间需要留有一定间隔时间tRRD,对于连续打开相同组的不同bank的行,时间会长一些。
在这里插入图片描述
此外,如果连续使用ACT命令打开了四个bank,打开下一个不同组的bank是,还会受到tFAW的约束。
在这里插入图片描述
如果在当前需要读写的地址所在的存储块bank已经被打开,这是分为两种情况,如果,要进行读写的地址正是在被打开的行上,那么可以直接进行读写操作,否则,需要发出预充电命令PRECHARGE,来关闭打开的行。对于发出PRECHARGE命令后,需要等待tRP时间后,才能对该bank进行激活操作ACT。

在DDR4中,还支持在读写操作完成后,自动对该行进行预充电来关闭该行的方式,此外,预充电PRE命令可以选择关闭某个bank或者所有bank。

DDR4的读时序

下图是差分的数据有效信号DQS与差分时钟CK的关系,_t后缀的信号为正常信号,_c后缀信号为正常信号的差分信号。最理想的情况是,DQS_t的上升沿与CK_t的上升沿相对其,但是在实际中,DQS_t的上升沿可以在CK_t之前,也可以在CK_t之后,但是需要满足tDQSCK (MAX/MIN)的范围要求。
在读时序中,差分信号DQS的差分值决定了当前数据DQ的数值在一个时钟周期内的位置。DQS的差分值的高电平持续时间是tQSH,低电平持续时间是tQSL,DQS的高电平的持续时间内,是时钟周期内的前一个比特,反之,是时钟周期内的后一个比特。
在这里插入图片描述

下图是DQS与DQ之间的时序关系。在读时序中,差分信号DQS_t和DQS_c的交汇处是数据DQ发生变化的时刻,也就是说DQS边沿与DRAM的返回读数据DQ变化时刻是对齐的,理论上是对其的,但是容许DQ变化时刻超前或滞后于DQS,这个时间叫做tDQSQ(MAX)。从另一角度来看,在DQS边沿之前或之后一段tDQSQ时间后,数据线DQ上的信号是有效的。
此外,差分DQS信号对应一组数据信号DQ,每个DQ信号的tDQSQ都是有一定差异的,差的不多,但是有差异,因此每个DQ信号有效的时间段也是有差异的,这段DQ信号有效时间是tDVWp,所有的DQ信号的有效时间必然有重合的一段,这段时间是tDVWd,也即这组数据线DQ的有效窗口。
在这里插入图片描述
下图是常规的突发长度为8的读操作,这里有个时间CL,是发出读命令READ到数据线DQ出现第一个可用数据之间的周期数。tRPRE是前导码的时钟周期数,出现在数据有效线DQS上,是在第一个可用数据之前,DQS的活动的周期个数,tRPST是读前导码的最小脉冲宽度。

在DDR4的读操作和写操作中,都支持在发出激活命令后,立即发出读写命令,但是这个命令会在AL个时钟周期后执行,因此,如果使用这种方式,读延时RL = AL+CL,写延时WL=AL+CWL。

在这里插入图片描述
下图是连续读取操作的方式,在连续读取的操作时,必须要间隔一段时间,才能进行下一次读取,这段时间是tCCD
在这里插入图片描述

这里的CCD其实就是上一次列选通到下一次列选通之间的延迟对于读取后,需要间隔一定时间,才能发出写命令,这个时间间隔与RL、WL、突发长度BL以及前导头长度有关,以图中方式计算。

在这里插入图片描述
在发出读取命令后,还可以发出预充电命令,以关闭存储块bank,这个时间称之为TRTP,在发出预充电PRE后,需要间隔tRP才能对此存储bank进行激活访问。
在这里插入图片描述

DDR4的写操作

下图是写操作下的,差分时钟信号CK、差分数据有效信号DQS和数据信号DQ之间的时序关系。最理想的情况下,时钟信号CK_t与数据有效信号DQS_t的上升沿是对齐的,DQS_t的变化沿与DQ信号的中心对齐,对于现实情况下,肯定无法做到完全的对齐,CK_t上升沿可以出现在DQS_t上升沿之前或之后一段时间,这段时间叫做tDQSS
除此之外,在写操作中,也有数据信号DQ的的前导码宽度的要求,这个前导码宽度时间为tWPRE
在这里插入图片描述
下图是常规模式的写操作,在发出写命令之后的WL个时钟周期后,DQS启动写前导码,在DQS上的写前导码结束后,数据信号线DQ上出现要写入的数据。CWL是发出写命令后,到DQ信号线上出现第一个待写入数据的周期数。
在这里插入图片描述
下图是连续写入操作的方式,在连续写入的操作时,必须要间隔一段时间,才能进行下一次写入,这段时间是tCCD
在这里插入图片描述
对于写入后的读取操作,存在一个延时时间,也就是说,在进行完写入操作后,必须要等于tWTR的时间才能进行读取。读取分为多种,所以这个延时值也有不同的取值范围。

在写入命令完成后,读取不同bank组,tWTR最短,读取相同bank,相同地址的tWTR最长

在这里插入图片描述
在这里插入图片描述

DDR4的刷新

在DDR4 SDRAM中,必然是要对设备进行刷新的,通过SDRAM控制器,发出刷新命令REF,就可对SDRAM进行刷新,且不需要指定地址。在对SDRAM刷新之前,所有的存储块bank都是需要处于关闭的状态。
对于刷新操作,有一个平均刷新时间tREFI,这只是一个平均时间。在一般情况下,控制器需要每隔tREFI发出一次舒心命令REF,但并不是要求SDRAM每隔tREFI时间,就必须对SDRAM进行一次刷新操作,可以在最大9倍的平均刷新时间tREFI才发出刷新命令REF,但是必须在提前或延后进行一次密集的刷新。
在这里插入图片描述

在刷新命令REF发出后,需要等待一段时间,才能发出下一个有效的命令,这段时间与tRFC(MIN)相等。

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA(现场可编程门阵列)是一种可编程逻辑器件,它可以根据用户需求重新配置其内部逻辑电路,实现不同的功能。DDR4(双数据速率4)是一种高速动态随机存取存储器,用于计算机系统中的高性能数据存储。 在FPGA中使用DDR4进行读写操作是一种常见的需求。首先,我们需要将DDR4模块与FPGA进行连接,以便FPGA能够访问DDR4存储器。这通常通过调配器或控制器来实现,这些模块负责处理FPGA和DDR4之间的通信。 在进行DDR4读操作时,FPGA首先发送相应的读请求信号到DDR4控制器。控制器接收到请求后,会根据提供的读取地址和控制信号,将数据从DDR4存储器中读取出来,并通过数据总线返回给FPGA。FPGA在接收到数据后,可以进一步进行处理或使用。 在进行DDR4写操作时,FPGA首先发送相应的写请求信号到DDR4控制器,并提供要写入的数据和写入地址。控制器接收到请求后,将数据写入到DDR4存储器中的指定地址位置。 为了保证DDR4读写操作的正确性和效率,还需要进行一些时序控制和信号同步工作。例如,FPGA需要发送适当的时钟信号来同步读写操作,以确保数据的稳定和一致性。此外,还需要进行读写延迟的优化,以提高DDR4读写的速度和性能。 总之,FPGA和DDR4的结合可以通过适当的连接和控制来实现读写操作。这种组合可以为数据处理和存储方面的应用提供高性能和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值