一种用于读写DDR内存的延时参数优化方法和系统与流程

文档序号:19073766发布日期:2019-11-08 21:07阅读:573来源:国知局
一种用于读写DDR内存的延时参数优化方法和系统与流程

本发明涉及访问内存的技术领域,尤其涉及一种用于读写ddr内存的延时参数优化方法,以及一种用于读写ddr内存的延时参数优化系统。



背景技术:

双倍动态随机存取存储器(doubledatarat,ddr),为常见的系统内存。对于ddr内存数据的读写,需要利用ddr控制器实现,ddr控制器通过脉冲信号进行内存数据的读写,具体地,当脉冲信号为高电平时,对内存数据进行读写。通常地,ddr控制器会在脉冲信号进行缓慢上升的过程中,即对ddr数据进行采集,不能准确稳定的采集到内存数据,因此,为了使得ddr控制器恰好在脉冲信号的高电平稳定状态下,对ddr的内存数据的成功遍历,因此,需要配置合适的延时参数至ddr控制器,以确保电子设备的程序可以正常运行。



技术实现要素:

为了解决上述技术缺陷,本发明的技术方案提出一种用于读写ddr内存的延时参数优化方法,该延时参数优化方法对应的程序移植于ddr控制器中,用于控制读写ddr内存,其特征在于,该延时参数优化方法包括:按照预设步长调节设置ddr时钟频率;每按照预设步长调节一次ddr时钟频率,轮番将写延时参数和读延时参数中的一种固定配置在ddr控制器中,另一种则由ddr控制器控制在一个可用延时区间内遍历筛选;当ddr时钟频率被调节为目标ddr频率值时,控制ddr控制器配置前述获取的写延时参数和读延时参数,实现目标ddr频率值下利用最优的时间采样窗口读写ddr内存;其中,可用延时区间设置在ddr控制器当前采样的数据对应的脉冲宽度范围内。从而得到当前ddr时钟频率下对应优化的最佳的读延时参数和最佳的写延时参数,使得当前的ddr时钟频率相对于ddr内存中的数据对应的脉冲信号的延时达到一个最为理想的结果,即利用写延时参数和读延时参数配置形成的最优的时间采样窗口读写ddr内存,提高读写ddr内存的准确性和可靠性。

进一步地,该延时参数优化方法具体包括:步骤1、根据所述ddr时钟频率与所述ddr控制器的延时性能,预先配置所述ddr控制器在所述ddr控制器初次正常写入所述ddr内存时的所述写延时参数;步骤2、通过设置可用读延时区间来控制所述ddr控制器从该可用读延时区间中筛选出待调节读延时参数,其中,配置的可用读延时区间覆盖所述ddr控制器当前读取的所述ddr内存中的数据对应的采样区间;步骤3、为所述ddr控制器配置待调节读延时参数后,通过设置可用写延时区间来控制所述ddr控制器从该可用写延时区间中筛选出待调节写延时参数,其中,配置的可用写延时区间覆盖所述ddr控制器当前写入所述ddr内存的数据对应的采样区间;步骤4、按照所述预设步长调节所述ddr时钟频率,同时为所述ddr控制器配置待调节写延时参数;步骤5、重复步骤2至步骤4,直到调节后的ddr时钟频率变为所述目标ddr频率值;其中,所述可用延时区间包括可用读延时区间和可用写延时区间。

该技术方案先控制配置的写延时参数不变的情况下去遍历可用读延时区间以获得一个待调节读延时参数,用于当前配置的写延时参数不适于读写时去进一步调节当前配置的写延时参数,从而存在控制配置的待调节读延时参数不变的情况下去遍历可用写延时区间以获得一个待调节写延时参数的步骤,如果当前配置的写延时参数适于读写时,也可以存在控制配置的待调节读延时参数不变的情况下去遍历可用写延时区间以获得一个待调节写延时参数的步骤,从而省去当前配置的写延时参数是否适用于读写或者处于理想的读写时序状态的判断步骤,简化所述延时参数优化方法,也节省所述ddr控制器调用的硬件资源。

同时,该技术方案利用写延时参数和读延时参数交替更新的方式来优化延时参数,使得ddr控制器中配置的延时参数得到不断的优化,以适应当前调节的ddr时钟频率去采集数据,利用写延时参数和读延时参数配置形成的最优的时间采样窗口读写ddr内存,提高读写ddr内存的准确性和可靠性。

进一步地,所述通过设置可用读延时区间来控制ddr控制器从该可用读延时区间中筛选出待调节读延时参数的具体方法包括:根据所述ddr内存的数据对应的脉冲信号,设置读遍历延时点和所述可用读延时区间,使得所述可用读延时区间覆盖所述ddr控制器当前读取所述ddr内存的数据对应的采样区间;其中,读遍历延时点包括所述可用读延时区间的中间位置;在所述可用读延时区间内的读遍历延时点中确定读遍历延时起点,控制所述ddr控制器从读遍历延时起点开始按照预设方向遍历读遍历延时点,其中,读遍历延时点包括读遍历延时起点;判断ddr控制器按照当前遍历的读遍历延时点对应的延时参数是否正常读取ddr内存中的数据,是则继续遍历下一个读遍历延时点,否则停止遍历,并将可用读延时区间的中间位置处的读遍历延时点对应的延时参数作为所述待调节读延时参数;其中,预设方向为与读遍历延时起点所处的电平状态相同且远离读遍历延时起点的方向,下一个读遍历延时点是预设方向上与当前遍历的读遍历延时点相邻的读遍历延时点。

所述通过设置可用写延时区间来控制ddr控制器从该可用写延时区间中筛选出待调节写延时参数的具体方法包括:根据所述ddr内存的数据对应的脉冲信号,设置写遍历延时点和所述可用写延时区间,使得所述可用写延时区间覆盖所述ddr控制器当前写入所述ddr内存的数据对应的采样区间;其中,写遍历延时点包括所述可用写延时区间的中间位置;在所述可用写延时区间内确定写遍历延时起点,控制所述ddr控制器从写遍历延时起点开始按照预设方向遍历写遍历延时点,其中,写遍历延时点包括写遍历延时起点;判断ddr控制器按照当前遍历的写遍历延时点对应的延时参数是否往ddr内存正常写入数据,是则继续遍历下一个写遍历延时点,否则停止遍历,并将可用写延时区间的中间位置处的写遍历延时点对应的延时参数作为所述待调节写延时参数;其中,预设方向为与写遍历时延起点所处的电平状态相同且远离写遍历延时起点的方向,下一个写遍历延时点是预设方向上与当前遍历的写遍历延时点相邻的写遍历延时点。

与现有技术相比,该技术方案通过遍历可用写延时区和/或可用读延时区间中所有遍历延时点的方式来确定采样数据稳定的延时参数,其中选择可用写延时区和/或可用读延时区间的中间位置处对应的延时参数作为待调节的延时参数,当前的ddr时钟频率相对于ddr内存中的数据对应的脉冲信号的延时达到一个较为理想的结果,让所述ddr控制器当前采样的读取出及写入ddr内存的数据较为准确,但不一定是最理想的,还需要等待后续调节ddr时钟频率去作出进一步的优化。

进一步地,所述判断ddr控制器按照当前遍历的读遍历延时点对应的延时参数是否正常读取ddr内存中的数据的方法包括:控制所述ddr控制器按照所述步骤1中预先配置的写延时参数或所述待调节写延时参数,将预先定义的第一自检数据写入所述ddr内存中,并记录第一存储地址;控制所述ddr控制器按照所述当前遍历的读遍历延时点对应配置的延时参数,并依据第一存储地址读出所述ddr内存的第一自检数据;判断读出所述ddr内存的第一自检数据与预先定义的第一自检数据是否相同,是则确定ddr控制器正常读取ddr内存中的数据,否则确定所述ddr控制器不能正常读取所述ddr内存中的数据。

所述判断ddr控制器按照当前遍历的写遍历延时点对应的延时参数是否往ddr内存正常写入数据的方法包括:控制所述ddr控制器按照所述当前遍历的写遍历延时点对应的延时参数,将预先定义的第二自检数据写入所述ddr内存中,并记录第二存储地址;控制所述ddr控制器按照所述待调节读延时参数,并依据第二存储地址读出所述ddr内存的第二自检数据;判断读出所述ddr内存的第二自检数据与预先定义的第二自检数据是否相同,是则确定所述ddr控制器往ddr内存正常写入数据,否则确定所述ddr控制器不能正常往所述ddr内存写入数据。

该技术方案保证ddr控制器读写ddr内存的数据的有效性,从而推动遍历延时点的遍历操作以优化当前ddr时钟频率下的读/写延时参数,同时也能在读写ddr内存失效的前提下有效地制止当前ddr时钟频率下的读/写延时参数的筛选优化操作,进而推进下一个ddr时钟频率下的读/写延时参数的筛选优化操作,提高读写ddr内存的延时参数优化效率。

进一步地,所述按照所述预设步长调节设置所述ddr时钟频率的方法包括:按照所述预设步长提高所述ddr时钟频率。该技术方案的步长调节方式从低的ddr时钟频率提高到目标ddr频率值,也使得所述ddr控制器配置的待调节读延时参数和待调节写延时参数调节到ddr时钟频率的四分之一,从而达到ddr时钟频率以最为理想的采样窗口去采样读取出ddr内存或写入ddr内存的数据,完成读写ddr内存的校正工作。

一种用于读写ddr内存的延时参数优化系统,该延时参数优化系统包括写延时参数配置模块、ddr时钟调节配置模块、读延时参数配置模块和延时模块;写延时参数配置模块,用于根据ddr时钟调节配置模块配置的ddr时钟频率与延时模块的延时性能,预先配置延时模块在ddr控制器初次正常写入ddr内存时的写延时参数;读延时参数配置模块,用于设置可用读延时区间并从该可用读延时区间中筛选出待调节读延时参数,其中,配置的可用读延时区间覆盖延时参数优化系统当前读取的ddr内存中的数据对应的采样区间;写延时参数配置模块,还用于为延时模块配置待调节读延时参数后,设置可用写延时区间来并从该可用写延时区间中筛选出待调节写延时参数,其中,配置的可用写延时区间覆盖延时参数优化系统当前写入ddr内存的数据对应的采样区间;ddr时钟调节配置模块,用于按照预设步长调节ddr时钟频率,同时为延时模块配置待调节写延时参数,直到调节后的ddr时钟频率变为目标ddr频率值。该技术方案提供的一种用于读写ddr内存的延时参数优化系统利用写延时参数和读延时参数配置形成的最优的时间采样窗口读写ddr内存,提高ddr控制器读写ddr内存的准确性和可靠性。

附图说明

图1为本发明实施例提供的一种用于读写ddr内存的延时参数优化方法流程图。

图2为本发明实施例提供的从所述可用读延时区间中筛选出所述待调节读延时参数的方法流程图。

图3为本发明实施例提供的从所述可用写延时区间中筛选出所述待调节写延时参数的方法流程图。

图4为本发明实施例提供的一种用于读写ddr内存的延时参数优化系统的模块框架示意图。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

在ddr控制器从ddr内存读取数据的过程中,ddr内存初始状态下发出的数据脉冲采样信号dqs和数据脉冲信号dq在理想状态下是达到边沿对齐的,需要在ddr控制器内部用级联的延时单元把数据脉冲采样信号dqs往后延时,才能满足数据脉冲采样信号dqs采样数据脉冲信号dq的建立时间setup和保持时间hold,理论上将数据脉冲采样信号dqs的触发采样边沿延迟在数据脉冲信号dq电平中间是最理想的采样状态。在ddr控制器往ddr内存写入数据时,由ddr控制器发出数据脉冲采样信号dqs和数据脉冲信号dq,ddr内存是直接用数据脉冲采样信号dqs去采样数据脉冲信号dq的,所以,必须在发出数据脉冲采样信号dqs和数据脉冲信号dq之前,调节ddr控制器内部用级联的延时单元,使其满足ddr内存用数据脉冲采样信号dqs去采样数据脉冲信号dq的建立时间setup和保持时间hold,理论上调节ddr内存的相应端口可探测到数据脉冲采样信号dqs在数据脉冲信号dq电平中间采样是最理想的。因此,ddr控制器需要包括延时模块,从而同时配置好延时模块的读延时参数和写延时参数,才能正确的读写ddr内存。需要说明的是,通常对数据脉冲采样信号dqs延时处理的过程中,需要考虑到芯片ic内部的信号线、系统板pcb上的走线延时的影响。

本发明实施例提出一种用于读写ddr内存的延时参数优化方法,该延时参数优化方法应用于控制所述ddr控制器读写所述ddr内存中的数据,以满足ddr控制器或ddr内存发出的数据脉冲采样信号dqs采样数据脉冲信号dq的建立时间setup和保持时间hold,作为本发明的基本构思,所述延时参数优化方法包括:

按照预设步长调节设置ddr时钟频率,本实施例首先从较低的ddr时钟频率开始自动调节,然后按照预设步长变化至目标ddr频率值,较低的ddr时钟频率的配置会导致数据脉冲采样信号dqs采样精度较低,后续按照预设步长调节至目标ddr频率值,不断地提高数据脉冲采样信号dqs的采样精度。其中,ddr时钟频率相当于前述的数据脉冲采样信号dqs的频率,在ddr控制器从ddr内存读取数据过程中由ddr内存产生ddr时钟频率,在ddr控制器往ddr内存写入数据过程中由ddr控制器产生ddr时钟频率。

每按照预设步长调节一次ddr时钟频率时,轮番将写延时参数和读延时参数中的一种延时参数固定配置在ddr控制器的延时模块中,另一种延时参数则由ddr控制器控制在一个可用延时区间内遍历配置,以获取当前ddr时钟频率下最佳的写延时参数和最佳的读延时参数,

需要说明的是,本实施例中的ddr控制器的延时模块是由级联的延时单元组成,支持配置延时参数。ddr控制器支持移植本实施例中公开的一种用于读写ddr内存的延时参数优化方法对应的控制程序。

具体地,本实施例在ddr控制器的延时模块中初始配置好预设写延时参数,然后由ddr控制器自动调节读延时参数;如果初始配置的写延时参数合适,可正常读写ddr内存,可以得到最佳的读延时参数;如果初始配置的写延时参数不合适,可认为不适应当前的当前ddr时钟频率,则不能达到优化读写ddr内存的目的,此时需要重新配置所述延时模块的写延时参数,这里可以是在选定一个读延时参数的基础上通过控制ddr控制器去获取一个合适的写延时参数,然后调节一次ddr时钟频率后再按照经过上述方法重试尝试以获取合适的读延时参数,以获取到当前ddr时钟频率下最佳的读延时参数,再在此基础上筛选获取当前ddr时钟频率下最佳的写延时参数。其中,可用延时区间设置在ddr控制器当前采样数据对应的脉冲宽度范围内。

当ddr时钟频率被调节为目标ddr频率值时,控制ddr控制器配置前述更新后的写延时参数和读延时参数,即在目标ddr频率值下对应获取到最佳的读延时参数和最佳的写延时参数,从而实现利用最优的时间采样窗口读写ddr内存;其中,最佳的写延时参数为延时模块在ddr控制器正常写入ddr内存时的理想延时参数,最佳的读延时参数为延时模块在ddr控制器正常读取ddr内存时的理想延时参数,前述的理想延时参数是不需要校正、能够实现稳定无误采集数据的延时参数。

本发明实施例基于每一种可调节的ddr时钟频率,轮番将写延时参数和读延时参数中的一种延时参数固定配置,另一种延时参数则控制在一个可用延时区间内遍历筛选出合适的延时参数,可将重新筛选出的延时参数刷新上一次筛选出的已配置到所述延时模块中,从而得到当前ddr时钟频率下对应优化的最佳的读延时参数和最佳的写延时参数,使得当前的ddr时钟频率相对于ddr内存中的数据对应的脉冲信号的延时达到一个最为理想的结果,即利用写延时参数和读延时参数配置形成的最优的时间采样窗口读写ddr内存中的数据,提高读写ddr内存的准确性和可靠性。

作为一种实施例,如图1所示,所述延时参数优化方法具体包括:步骤s101、根据所述ddr时钟频率与所述ddr控制器的延时性能,预先配置所述延时模块在所述ddr控制器初次正常写入所述ddr内存时的所述写延时参数,然后进入步骤s102。在本实施例中,在设置较低的ddr时钟频率的条件下开始配置所述写延时参数,理想情况下是配置所述写延时参数到1/4的ddr时钟周期,例如,ddr时钟频率为120mhz,则1/4的ddr时钟周期是2ns,通常集成系统中延时性能参数能做到几十ps。这样在较低的ddr时钟频率下理论计算配置好的所述写延时参数就可以实现ddr控制器将数据正确写入ddr内存,但不一定是最佳的所述写延时参数,所以需要后续步骤按照预设步长调节设置ddr时钟频率。

需要说明的是,所述可用延时区间包括可用读延时区间和可用写延时区间。

步骤s102、通过设置可用读延时区间来控制所述ddr控制器从该可用读延时区间中筛选出待调节读延时参数,然后进入步骤s103。其中,配置的可用读延时区间覆盖所述ddr控制器当前读取的所述ddr内存中的数据对应的采样区间,可用读延时区间为当前ddr时钟频率下的所述ddr控制器提供一个用于筛选优化读延时参数的可用延时区间,可用读延时区间内不是任意的延时点对应的延时参数都能支持所述ddr控制器读取所述ddr内存中的数据。具体地,如图2所示,所述通过设置可用读延时区间来控制ddr控制器从该可用读延时区间中筛选出待调节读延时参数的具体方法包括:步骤s1021、根据所述ddr内存的数据对应的脉冲信号,设置读遍历延时点和所述可用读延时区间,使得所述可用读延时区间覆盖所述ddr控制器当前采样读取的所述ddr内存的数据对应的采样区间,然后进入步骤s1022,其中,读遍历延时点包括所述可用读延时区间的中间位置,作为ddr控制器采样待读取数据所需要的理想延时参数;步骤s1022、在所述可用读延时区间内的读遍历延时点中确定读遍历延时起点,控制所述ddr控制器从读遍历延时起点开始按照预设方向遍历读遍历延时点,然后进入步骤s1023,其中,预设方向为与读遍历延时起点所处的电平状态相同且远离读遍历延时起点的方向,电平状态可以是逻辑高电平,读遍历延时点包括读遍历延时起点。步骤s1023、判断ddr控制器按照当前的读遍历延时点对应的延时参数是否正常读取ddr内存中的数据,是则进入步骤s1024,否则进入步骤s1025。步骤s1024、继续遍历下一个读遍历延时点,其中,下一个读遍历延时点是预设方向上与当前遍历的读遍历延时点相邻的读遍历延时点,然后返回步骤s1023,以完成所述可用读延时区间内的读遍历延时点的遍历操作。步骤s1025、停止遍历,并将可用读延时区间的中间位置处的读遍历延时点对应的延时参数作为所述待调节读延时参数,这是读取ddr内存时的理想参数,能够有效避免脉冲信号边沿抖动带来的影响。在遍历所述可用读延时区间内的读遍历延时点的过程中,ddr控制器不能正常读取ddr内存中的数据的情况包括:通过所述ddr控制器预先配置正确的所述写延时参数而写入所述ddr内存的数据,以当前配置的所述读延时参数不能正常读取所述ddr内存的数据。

步骤s103、为所述ddr控制器配置待调节读延时参数后,通过设置可用写延时区间来控制所述ddr控制器从该可用写延时区间中筛选出待调节写延时参数。在本实施例中,可能由于步骤s101配置的所述写延时参数在当前工艺条件和应用环境下不能实现ddr控制器将数据正确写入ddr内存,所以需要调整更变所述延时模块的写延时参数,然后进入步骤s104,其中,配置的可用写延时区间覆盖所述ddr控制器当前写入所述ddr内存的数据对应的采样区间,可用写延时区间为当前ddr时钟频率下的所述ddr控制器提供一个用于筛选优化写延时参数的可用延时区间,可用写延时区间内不是任意的延时点对应的延时参数都能支持所述ddr控制器将数据写入所述ddr内存中,比如边沿处对应的延时点。具体地,如图3所示,所述通过设置可用写延时区间来控制ddr控制器从该可用写延时区间中筛选出待调节写延时参数的具体方法包括:步骤s1031、根据所述ddr内存的数据对应的脉冲信号,设置写遍历延时点和所述可用写延时区间,使得所述可用写延时区间覆盖所述ddr控制器当前写入的所述ddr内存的数据对应的采样区间,然后进入步骤s1032,其中,写遍历延时点包括所述可用写延时区间的中间位置,作为ddr内存采样待写入数据的理想延时参数;步骤s1032、在所述可用写延时区间内确定写遍历延时起点,控制所述ddr控制器从写遍历延时起点开始按照预设方向遍历写遍历延时点,然后进入步骤s1033,其中,预设方向为与写遍历时延起点所处的电平状态相同且远离写遍历延时起点的方向,电平状态可以是逻辑高电平,写遍历延时点包括写遍历延时起点。步骤s1033、判断ddr控制器按照当前的写遍历延时点对应的延时参数是否往ddr内存正常写入数据,是则进入步骤s1034,否则进入步骤s1035。步骤s1034、继续遍历下一个写遍历延时点,其中,下一个写遍历延时点是预设方向上与当前遍历的写遍历延时点相邻的写遍历延时点,然后返回步骤s1033,以完成所述可用写延时区间内的写遍历延时点的遍历操作。步骤s1035、所述ddr控制器停止遍历操作,并将可用写延时区间的中间位置处的写遍历延时点对应的延时参数作为所述待调节写延时参数,这是写入ddr内存时比较理想的参数,能够有效避免脉冲信号边沿抖动带来的影响。在遍历所述可用写延时区间内的写遍历延时点的过程中,ddr控制器不能将数据正常写入ddr内存的情况包括:通过当前配置的所述写延时参数而写入所述ddr内存的数据,以预先配置的正确的所述读延时参数不能正常读取所述ddr内存的数据。

前述的写遍历延时点在可用写延时区间内的分布是常规设计,前述的读遍历延时点在可用读延时区间内的分布是常规设计。

步骤s104、利用步骤s103中获取的所述待调节写延时参数更新配置所述延时模块上一次已配置的所述写延时参数,然后进入步骤s105。

步骤s105、按照所述预设步长调节所述ddr时钟频率,同时为所述ddr控制器配置待调节写延时参数,然后进入步骤s106。作为一种实施例,所述按照所述预设步长调节设置所述ddr时钟频率的方法包括:按照所述预设步长提高所述ddr时钟频率。由于所述ddr时钟频率的初始值设置得较小,所以ddr时钟周期比较大,甚至接近所述ddr内存的待读取及待写入的数据对应的脉冲信号宽度,采集待读取及待写入的数据的ddr时钟信号就比较慢,便于利用ddr时钟采样所述ddr内存的待读取及待写入的数据,但采样精确度不高且采样速度不快,故需要将所述ddr时钟频率调高,使得所述ddr时钟周期,相对于所述ddr内存的待读取及待写入的数据对应的脉冲信号宽度小,有利于快速采样所述ddr内存中待读取及待写入的完整准确数据。

步骤s106、判断调节后的ddr时钟频率是否变为所述目标ddr频率值,是则更新后的待调节读延时参数成为优化读延时参数,并被配置到所述ddr控制器;更新后的待调节写延时参数成为优化写延时参数,并被配置到所述ddr控制器。调节后的ddr时钟频率变为所述目标ddr频率值时,所述延时模块配置的待调节读延时参数和待调节写延时参数调节到ddr时钟频率的四分之一,从而达到ddr时钟频率以最为理想的采样窗口去采样所述ddr内存的数据,完成读写ddr内存的校正工作;也使得待调节读延时参数成为优化读延时参数被配置到所述ddr控制器,待调节写延时参数成为优化写延时参数被配置到所述ddr控制器。

否则返回步骤s102,以重复执行步骤s102至步骤s105,具体地,先控制配置的写延时参数不变的情况下去遍历可用读延时区间以获得一个待调节读延时参数,用于上一次配置的写延时参数不适于读写时去进一步调节当前配置的写延时参数,从而存在控制配置的待调节读延时参数不变的情况下去遍历可用写延时区间以获得一个待调节写延时参数的步骤,如果上一次配置的写延时参数适于读写时,在配置的待调节读延时参数不变的情况下,继续控制所述ddr控制器去遍历可用写延时区间以获得一个待调节写延时参数的步骤,从而省去当前配置的写延时参数是否适用于读写或者处于理想的读写时序状态的判断步骤,简化所述延时参数优化方法;另一方面,可以实现:所述ddr控制器与所述ddr内存相对应的数据脉冲采样信号dqs端口及数据脉冲dq端口在硬件上共用一条路径,节省了硬件资源,且提高延时参数寻优的效率。

本发明实施例通过遍历可用写延时区和/或可用读延时区间中所有遍历延时点的方式来确定采样数据稳定的延时参数,其中选择可用写延时区和/或可用读延时区间的中间位置处对应的延时参数作为待调节的延时参数,当前的ddr时钟频率相对于待读取/待写入ddr内存中的数据对应的脉冲信号的延时达到一个较为理想的结果,让所述ddr控制器当前采样的待读取/待写入的数据较为准确、可靠,但不一定是最理想的,还需要等待后续调节ddr时钟频率去作出进一步的优化,通过重复执行步骤s102至步骤s105,直到调节后的ddr时钟频率变为所述目标ddr频率值。

本发明实施例利用写延时参数和读延时参数交替更新的方式来优化延时参数,使得延时模块中配置的延时参数得到不断的优化,以适应当前调节的ddr时钟频率去采集来自待读取的ddr内存的数据及待写入ddr内存的数据,具体地,本发明实施例先控制配置的写延时参数不变的情况下去遍历可用读延时区间以获得一个待调节读延时参数,接着控制配置的待调节读延时参数不变的情况下去遍历可用写延时区间以获得一个待调节写延时参数,然后按照步长更换ddr时钟频率,控制配置的待调节写延时参数不变的情况下去遍历可用读延时区间以更新待调节读延时参数,接着控制配置的待调节读延时参数不变的情况下去遍历可用读延时区间以更新待调节写延时参数,如此反复迭代直到ddr时钟频率被更换到目标ddr频率值,从而利用优化的写延时参数配置形成的最优的时间采样窗口往ddr内存写入数据,也可以利用优化的读延时参数配置形成的最优的时间采样窗口读取ddr内存的数据,提高读写ddr内存的准确性和可靠性。

前述实施例中,所述判断ddr控制器按照当前遍历的读遍历延时点对应的延时参数是否正常读取ddr内存中的数据的方法包括:首先控制所述ddr控制器按照所述步骤s101中预先配置的写延时参数或通过执行所述步骤s103获取的所述待调节写延时参数,将预先定义的第一自检数据写入所述ddr内存中,并记录第一存储地址,本实施例判断ddr控制器读取ddr内存中的数据的正常状态不仅发生在所述ddr控制器初次正常写入所述ddr内存的时间点上,而且发生在后续的写延时参数和读延时参数轮番更新的过程中;接着控制所述ddr控制器按照所述当前的读遍历延时点对应配置的延时参数,即对应于通过执行所述步骤s102获取的所述待调节读延时参数,并依据第一存储地址读出所述ddr内存的第一自检数据;然后判断读出所述ddr内存的第一自检数据与预先定义的第一自检数据是否相同,是则确定ddr控制器正常读取ddr内存中的数据,否则确定所述ddr控制器不能正常读取所述ddr内存中的数据。

所述判断ddr控制器按照当前遍历的写遍历延时点对应的延时参数是否往ddr内存正常写入数据的方法包括:首先控制所述ddr控制器按照所述当前遍历的写遍历延时点对应的延时参数,可认为所述当前遍历的写遍历延时点对应的延时参数包括所述步骤s101中预先配置的写延时参数或通过执行所述步骤s103获取的所述待调节写延时参数,将预先定义的第二自检数据写入所述ddr内存中,并记录第二存储地址,本实施例判断ddr控制器往ddr内存写入数据的正常状态不仅发生在所述ddr控制器初次正常写入所述ddr内存的时间点上,而且发生在后续的写延时参数和读延时参数轮番更新的过程中;接着控制所述ddr控制器按照所述步骤s102获取的所述待调节读延时参数,并依据第二存储地址读出所述ddr内存的第二自检数据,本实施例中判断ddr控制器往ddr内存写入数据的正常状态的过程中,所述延时模块中配置的所述读延时参数是固定的,即所述步骤s102获取的所述待调节读延时参数;然后判断读出所述ddr内存的第二自检数据与预先定义的第二自检数据是否相同,是则确定所述ddr控制器往ddr内存正常写入数据,否则确定所述ddr控制器不能正常往所述ddr内存写入数据。

前述实施例保证ddr控制器读写ddr内存过程中的读写数据的有效性,从而推动遍历延时点的遍历操作以优化当前ddr时钟频率下的读/写延时参数,同时也能在读写ddr内存失效的前提下有效地制止当前ddr时钟频率下的读/写延时参数的筛选优化操作,进而推进下一个ddr时钟频率下的读/写延时参数的筛选优化操作,提高读写ddr内存的延时参数优化效率。

参阅图4,本发明实施例还提供了一种用于读写ddr内存的延时参数优化系统,需要说明的是,本实施例所提供的一种用于读写ddr内存的延时参数优化系统,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该延时参数优化系统用于读写ddr内存,该延时参数优化系统是一种前述的ddr控制器,具体包括写延时参数配置模块、ddr时钟调节配置模块、读延时参数配置模块和延时模块。

写延时参数配置模块,用于根据ddr时钟调节配置模块配置的ddr时钟频率与延时模块的延时性能,预先配置延时模块在延时参数优化系统初次正常写入ddr内存时的写延时参数,然后将ddr时钟调节配置模块配置的ddr时钟频率送往已经配置好写延时参数的延时模块进行处理。写延时参数配置模块是前述步骤s101执行程序的硬件化实现模块。

读延时参数配置模块,用于为所述延时模块配置待调节写延时参数后,设置可用读延时区间,再从该可用读延时区间中筛选出待调节读延时参数,并为延时模块配置待调节读延时参数,然后将ddr时钟调节配置模块当前配置的ddr时钟频率送往延时模块进行处理。其中,配置的可用读延时区间覆盖所述延时参数优化系统当前读取的所述ddr内存中的数据对应的采样区间。读延时参数配置模块是前述步骤s102执行程序的硬件化实现模块。

写延时参数配置模块,还用于为所述延时模块配置待调节读延时参数后,设置可用写延时区间来并从该可用写延时区间中筛选出待调节写延时参数,并为延时模块配置待调节写延时参数,可认为是更新延时模块上一次配置的写延时参数,然后将ddr时钟调节配置模块当前配置的ddr时钟频率送往延时模块进行处理。其中,配置的可用写延时区间覆盖所述ddr控制器当前写入所述ddr内存的数据对应的采样区间。写延时参数配置模块还是前述步骤s103和步骤s104执行程序的硬件化实现模块。

ddr时钟调节配置模块,用于按照预设步长调节ddr时钟频率,同时为延时模块配置待调节写延时参数;每按照预设步长调节一次ddr时钟频率,同时向读延时参数配置模块和写延时参数配置模块发送指示信号,以提示它们在当前的ddr时钟频率下,轮番将写延时参数和读延时参数中的一种延时参数固定配置在延时参数优化系统的延时模块中,另一种延时参数则由延时参数优化系统控制在一个可用延时区间内遍历配置,以获取当前ddr时钟频率下最佳的写延时参数和最佳的读延时参数,直到调节后的ddr时钟频率变为所述目标ddr频率值。ddr时钟调节配置模块是前述步骤s106执行程序的硬件化模块。

需要说明的是,前述的ddr时钟频率为图4中的延时参数优化系统与ddr内存之间通信的数据脉冲采样信号dqs,延时参数优化系统与ddr内存对应的io口之间连接有对应的传输通道;读取的所述ddr内存中的数据与写入所述ddr内存的数据都是图4中的延时参数优化系统与ddr内存之间通信的数据脉冲信号dq,延时参数优化系统与ddr内存对应的io口之间连接有对应的传输通道;

作为一种实施例,所述读延时参数配置模块先控制配置的写延时参数不变的情况下去遍历可用读延时区间以获得一个待调节读延时参数,使得所述写延时参数配置模块当前配置的写延时参数不适于读写时去进一步调节当前配置的写延时参数,如果所述写延时参数配置模块当前配置的写延时参数适于读写时,在配置的待调节读延时参数不变的情况下,继续控制所述写延时参数配置模块遍历可用写延时区间以获得一个待调节写延时参数的步骤,从而省去当前配置的写延时参数是否适用于读写或者处于理想的读写时序状态的判断步骤,简化所述延时参数优化系统的内部系统结构;另一方面,可以实现:所述延时参数优化系统与所述ddr内存相对应的数据脉冲采样信号dqs端口及数据脉冲dq端口在硬件上共用同一条路径,节省了硬件资源,且提高延时参数寻优的效率。

本发明实施例提供的一种用于读写ddr内存的延时参数优化系统利用写延时参数和读延时参数配置形成的最优的时间采样窗口读写ddr内存,提高ddr控制器读写ddr内存的准确性和可靠性。上述的延时参数优化系统可以应用在前述对应的一种用于读写ddr内存的延时参数优化方法的实施例中,详情参见前述实施例的描述,在此不再赘述。值得注意的是,上述延时参数优化系统的实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1