CN111009271B - 基于fpga的psram存储器初始化方法、装置、设备及介质 - Google Patents

基于fpga的psram存储器初始化方法、装置、设备及介质 Download PDF

Info

Publication number
CN111009271B
CN111009271B CN201911125973.7A CN201911125973A CN111009271B CN 111009271 B CN111009271 B CN 111009271B CN 201911125973 A CN201911125973 A CN 201911125973A CN 111009271 B CN111009271 B CN 111009271B
Authority
CN
China
Prior art keywords
delay
delay parameter
verified
psram
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911125973.7A
Other languages
English (en)
Other versions
CN111009271A (zh
Inventor
汤博先
杜辉
韩志伟
刘烈
刘建华
杜金凤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gowin Semiconductor Corp
Original Assignee
Gowin Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gowin Semiconductor Corp filed Critical Gowin Semiconductor Corp
Priority to CN201911125973.7A priority Critical patent/CN111009271B/zh
Publication of CN111009271A publication Critical patent/CN111009271A/zh
Application granted granted Critical
Publication of CN111009271B publication Critical patent/CN111009271B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种基于FPGA的PSRAM存储器初始化方法,包括:在对PSRAM存储器执行读校准时,通过FPGA模块向所述PSRAM存储器写入待校验数据;获取FPGA模块中输入输出延时可调电路的延时参数集;遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路。本发明解决了现有PSRAM存储器的相位偏差时间大、工作状态不稳定的问题。

Description

基于FPGA的PSRAM存储器初始化方法、装置、设备及介质
技术领域
本发明涉及信息技术领域,尤其涉及一种基于FPGA的PSRAM存储器初始化方法、装置、设备及介质。
背景技术
伪静态随机存储器(Pseudo Static Random Access Memory,简称PSRAM)是一种采用动态随机存取存储器(Dynamic Random Access Memory,简称DRAM)的工艺和技术,实现类似于静态随机存取存储器(Static Random-Access Memory,简称SRAM)一样的随机存取存储器(Random Access Memory,简称RAM)。
与传统DRAM存储器相同,PSRAM存储器需要进行初始化,初始完成化后,才能对PSRAM存储器进行读写访问。PSRAM存储器的初始化流程包括长复位、寄存器配置以及读校准。然而,与传统DRAM存储器不同的是,传统DARM存储器在读回数据时,时钟与数据相位的偏差不会很大。而PSRAM存储器由于其自身工艺架构原因,其读回时钟与数据相位的偏差时间较大,容易随温度、工作频率、芯片批次等因素产生较大浮动,从而导致PSRAM存储器的工作状态不稳定,实际使用难度大,不易于实现量产。
因此,寻找一种方法解决现有PSRAM存储器的相位偏差时间大、工作状态不稳定的问题成为本领域技术人员亟需解决的技术问题。
发明内容
本发明实施例提供了一种基于FPGA的PSRAM存储器初始化方法、装置、设备及介质,以解决现有PSRAM存储器的相位偏差时间大、工作状态不稳定的问题。
一种基于FPGA的PSRAM存储器初始化方法,包括:
在对PSRAM存储器执行读校准时,通过FPGA模块向所述PSRAM存储器写入待校验数据;
获取FPGA模块中输入输出延时可调电路的延时参数集;
遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路。
可选地,所述遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值包括:
获取延时参数最小值;
按照所得到的延时参数执行延时操作,然后从PSRAM存储器中读取待校验数据;
将所读取的待校验数据与所写入的待校验数据进行比较;
若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
判断所述延时参数是否小于延时参数最大值;
若所述延时参数小于延时参数最大值时,将所述延时参数增加1个步长得到下一个延时参数,按照所述下一个延时参数执行下一次延时操作及参数校验操作;
若所述延时参数大于或等于所述延时参数最大值时,结束遍历过程。
可选地,在将所读取的待校验数据与所写入的待校验数据进行比较后,所述方法还包括:
若所读取的待校验数据与所写入的待校验数据不相同时,调整FPGA模块中的I/O逻辑电路的解串器相位;
按照调整后的解串器相位读取PSRAM存储器中的待校验数据;
将所读取的待校验数据与所写入的待校验数据进行比较;
若所读取的待校验数据与所写入的待校验数据相同,则将所述延时参数标记为候选值;
若所读取的待校验数据与所写入的待校验数据不相同,则继续调整解串器相位,并按照调整后的解串器相位执行下一次参数校验操作。
可选地,所述方法还包括:
在遍历所有解串器相位后,若所读取的待校验数据与所写入的待校验数据仍不相同,则将所述延时参数标记为非候选值。
可选地,所述从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路包括:
从标记为候选值的所述延时参数中获取候选值连续序列;
选取候选值连续个数最多的候选值连续序列作为最优工作窗口;
选取所述最优工作窗口中的候选值的中值作为最优延时参数;
将所述最优延时参数写入所述FPGA模块中的输入输出延时可调电路。
可选地,所述延时参数集包括从1开始的连续n个正整数。
一种基于FPGA的PSRAM存储器初始化装置,包括:
写入模块,用于在对PSRAM存储器执行读校准时,通过FPGA模块向所述PSRAM存储器写入待校验数据;
参数获取模块,用于获取FPGA模块中输入输出延时可调电路的延时参数集;
候选值获取模块,用于遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
最优参数获取模块,用于从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路。
可选地,所述候选值获取模块包括:
获取单元,用于获取延时参数最小值;
延时单元,用于按照所得到的延时参数执行延时操作,然后从PSRAM存储器中读取待校验数据;
比较单元,用于将所读取的待校验数据与所写入的待校验数据进行比较;
标记单元,用于若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
判断单元,用于判断所述延时参数是否小于延时参数最大值;
轮询单元,用于若所述延时参数小于延时参数最大值时,将所述延时参数增加1个步长得到下一个延时参数,按照所述下一个延时参数执行下一次延时操作及参数校验操作;
结束单元,用于若所述延时参数大于或等于所述延时参数最大值时,结束遍历过程。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于FPGA的PSRAM存储器初始化方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于FPGA的PSRAM存储器初始化方法。
本发明实施例基于FPGA构建输入输出延时可调电路架构,将FPGA固有的输入输出延时可调电路应用到PSRAM接口电路中,并根据需求设置延时参数集。在对PSRAM存储器执行读校准时,向所述PSRAM存储器写入待校验数据;然后遍历延时参数集中的每一个延时参数,按照所述延时参数执行延时操作后读取PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;最后从标记为候选值的所述延时参数中选择最优延时参数,并将所述最优延时参数写入所述FPGA模块的中,从而完成对PSRAM存储器的读校准操作。相比于传统的读校准方法,本发明实施例实现了动态自适应的初始化读校准功能,能自适应不同温度、不同速度下不同批次的PSRAM存储器,极大地提高了PSRAM存储器的工作稳定性,在实现高速传输的同时使PSRAM存储器工作更加稳定
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中FPGA模块的结构示意图;
图2是本发明一实施例中基于FPGA的PSRAM存储器初始化方法的一流程图;
图3是本发明一实施例中基于FPGA的PSRAM存储器初始化方法中步骤S203的一流程图;
图4是本发明一实施例中基于FPGA的PSRAM存储器初始化方法中步骤S203的另一流程图;
图5是本发明一实施例中基于FPGA的PSRAM存储器初始化方法中步骤S203的另一流程图;
图6是本发明一实施例中基于FPGA的PSRAM存储器初始化方法中步骤S204的一流程图;
图7是本发明一实施例中候选值、非候选值、候选值连续序列的示意图;
图8是本发明一实施例中基于FPGA的PSRAM存储器初始化装置的一原理框图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有PSRAM存储器由于自身工艺架构导致的读回时钟与数据相位的偏差时间较大、工作状态不稳定的问题,本发明实施例将FPGA模块中固有的输入输出延时可调电路应用到PSRAM接口电路中,并根据需求设置延时参数集,通过初始化输入输出延时可调电路的延时参数,来实现对PSRAM存储器的初始化,完成PSRAM存储器的读校准。可选地,图1示出了本发明实施例提供的FPGA模块的结构示意图。如图1所示,所述FPGA模块包括输入输出延时可调电路10、I/O逻辑电路20、读校准延时调整电路30以及读数据通路40。其中,所述输入输出延时可调电路10分别与I/O逻辑电路20、读校准延时调整电路30连接,所述I/O逻辑电路20与所述读数据通路40连接。所述输入输出延时可调电路10作为PSRAM接口电路,与外部的PSRAM存储器连接,其作用是完成与PSRAM存储器之间的数据、命令、地址信息的传输;所述I/O逻辑电路20还包括解串器,其作用是对数据通路模块和控制通路模块传递过来的数据、命令、地址信号进行时钟域的转换,以及根据不同的时钟比例选择不同的串行解串器变速电路,并完成clk_x1时钟域转换到clk_xn时钟域(此处n代表时钟比例),从而产生PSRAM需要的信号;所述读校准延时调整电路30用于在读校准过程中调整I/O逻辑电路20中的解串器的相位;所述读数据通路40用于传输从PSRAM存储器中读取的数据。
以下将对本实施例提供的基于FPGA的PSRAM存储器初始化方法进行详细的描述。图2为本发明实施例提供的基于FPGA的PSRAM存储器初始化方法的流程图。如图2所示,所述基于FPGA的PSRAM存储器初始化方法包括:
在步骤S201中,在对PSRAM存储器执行读校准时,通过FPGA模块向所述PSRAM存储器写入待校验数据。
本发明实施例所述的对PSRAM存储器执行初始化主要是涉及对PSRAM存储器的读校准,因此需要在读校准之前通过所述FPGA模块向所述PSRAM存储器写入待校验数据。通过读取PSRAM存储器中的待校验数据,对读回的待校验数据进行调整以保证读取操作的准确性,实现对PSRAM存储器的读校准。可选地,所述待校验数据包括多个数据,此处不对其个数进行限制。
在步骤S202中,获取FPGA模块中输入输出延时可调电路的延时参数集。
在这里,为了适应PSRAM存储器的偏差,本发明实施例将输入输出延时可调电路加入到PSRAM存储器的接口电路中,并根据需要在较大范围内调整延时,选择PSRAM存储器的最优延时参数。输入输出延时可调电路,顾名思义,有一个可调的延时参数,其功能是调节延时大小。因此,PSRAM存储器初始化的对象包括输入输出延时可调电路的延时参数。
可选地,作为本发明的一个优选示例,所述延时参数集包括但不限于从1开始的连续n个正整数。
在步骤S203中,遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值。
本发明实施例采用轮询机制判断输入输出延时可调电路中的每一个延时参数的有效性。所述轮询机制是指遍历延时参数集中的每一个延时参数执行延时操作和参数校验操作。可选地,图3示出了本发明实施例提供的步骤S203的具体实现流程,如图3所示,所述步骤S203包括:
在步骤S301中,获取延时参数最小值。
为了提高轮询机制的效率,本发明实施例从延时参数集中的最小值开始执行延时操作与参数校验操作。可选地,如前所述延时参数集包括但不限于从1开始的连续n个正整数,因此延时参数最小值为1。
在步骤S302中,按照所得到的延时参数执行延时操作,然后从PSRAM存储器中读取待校验数据。
对于当前轮询的延时参数,按照所述延时参数执行延时操作,比如延时参数为1时,等待1个单位时长,延时参数为2时,等待2个单位时长……等待延时参数对应的单位时长后,然后通过PSRAM存储器的接口电路读取PSRAM存储器中已预先写入的待校验数据。
在这里,若步骤S201中写入的待校验数据有X个数据时,则在执行延时操作后,从所述PSRAM存储器中读取X个数据,作为读回的待校验数据。
在步骤S303中,将所读取的待校验数据与所写入的待校验数据进行比较。
本发明实施例将所读取的待校验数据中的X个数据分别与所写入的待校验数据中的X个数据进行比较。
在步骤S304中,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值。
若所读取的X个数据全部正确,即所读取的待校验数据中的X个数据分别与所写入的待校验数据中的X个数据相同时,表示本次轮询的延时参数下PSRAM存储器的工作是稳定的,则将所述延时参数标记为候选值。
可选地,若所读取的X个数据中有错误时,本发明实施例进一步通过调整I/O逻辑电路中的解串器相位来对所述延时参数进行更深入的参数校验操作。图4示出了本发明实施例提供的步骤S203的另一实现流程。如图4所示,在将所读取的待校验数据与所写入的待校验数据进行比较后,所述方法还包括:
在步骤S401中,若所读取的待校验数据与所写入的待校验数据不相同时,调整FPGA模块中的I/O逻辑电路的解串器相位。
在这里,应用在I/O逻辑电路的解串器包括但不限于2位解串器、4位解串器、8位解串器以及16位解串器。在本发明实施例中,调整解串器相位是指将当前解串器相位增加/减少一个位,得到新的解串器相位。
在步骤S402中,按照调整后的解串器相位读取PSRAM存储器中的待校验数据。
然后将调整后的解串器相位应用到PSRAM存储器的接口电路中,按照调整后的解串器相位读取PSRAM存储器中的待校验数据。
在步骤S403中,将所读取的待校验数据与所写入的待校验数据进行比较。
在步骤S404中,若所读取的待校验数据与所写入的待校验数据相同,则将所述延时参数标记为候选值。
若经解串器相位调整后,所读取的X个数据全部正确,表示在所述解串器相位及所述延时参数下的PSRAM存储器的工作是稳定的,则将所述延时参数标记为候选值。
在步骤S405中,若所读取的待校验数据与所写入的待校验数据不相同,则继续调整解串器相位,并按照调整后的解串器相位执行下一次参数校验操作。
若所读取的X个数据中仍有错误时,即所读取的待校验数据与所写入的待校验数据不相同,本发明实施例通过继续调整I/O逻辑电路中的解串器相位来对所述延时参数执行参数校验操作,重复执行步骤S401至步骤S405。
可选地,为了提高参数校验操作的效率,如图5所示,在图4实施例的基础上,所述方法还包括:
在步骤S406中,在遍历所有解串器相位后,若所读取的待校验数据与所写入的待校验数据仍不相同,则将所述延时参数标记为非候选值。
在这里,遍历所有解串器相位是指将I/O逻辑电路中的解串器的相位均应用到PSRAM存储器的接口电路中执行参数校验操作。可调整的解串器相位个数与I/O逻辑电路中使用的解串类型有关。示例性地,当I/O逻辑电路中使用2位解串器时,可调整的解串器相位有两个,即1和2;当I/O逻辑电路中使用4位解串器时,可调整的解串器相位有四个,即1、2、3和4;其他解串器相位以此类推。
在遍历所有解串器相位后,若所读取的待校验数据与所写入的待校验数据仍不相同,表明本次轮询的延时参数下PSRAM存储器的工作非常不稳定,则结束对本次延时参数的参数校验操作,并将所述延时参数标记为非候选值。在这里,由于根据I/O逻辑电路中使用的解串器类型,可调整的解串器相位是有限的,基于解串器相位的个数来决定对延时参数的参数校验操作次数,有利于提高对延时参数的校验效率,减少重复校验操作带来的内存占用。
在步骤S305中,判断所述延时参数是否小于延时参数最大值。
在完成基于当前轮询的延时参数的延时操作和参数校验操作之后,进一步判断所述延时参数是否小于延时参数最大值,以确认是否结束整个轮询机制。
在步骤S306中,若所述延时参数小于延时参数最大值时,将所述延时参数增加1个步长得到下一个延时参数,按照所述下一个延时参数执行下一次延时操作及参数校验操作。
可选地,若所述延时参数小于延时参数最大值时,表示还有延时参数未执行延时操作和参数校验操作,则在本次轮询的所述延时参数上增加1个步长得到下一个延时参数,返回步骤S302,以执行下一次延时操作及参数校验操作。
在步骤S307中,若所述延时参数大于或等于所述延时参数最大值时,结束遍历过程。
若所述延时参数大于或等于延时参数最大值时,表示完成对所有延时参数执行完延时操作和参数校验操作,则结束本次遍历过程。
通过上述步骤S301至步骤S307,可以从输入输出延时可调电路的延时参数集中筛选出PSRAM存储器的工作状态比较稳定的候选值,以及PSRAM存储器的工作状态不稳定的非候选值,实现从较大的范围内选取候选值和非候选值。
在步骤S204中,从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路。
候选值集合中包括若干个候选值,本发明实施例进一步从所述候选值集合中选取最优的延时参数用以设置所述输入输出延时可调电路。可选地,如图6所示,步骤S204所述的从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路包括:
在步骤S601中,从标记为候选值的所述延时参数中获取候选值连续序列。
在这里,所述候选值连续序列是指序列中任意一个候选值的前面和/或后面均与一个候选值相邻的序列。本发明实施例先按照由小到大的顺序或者由大到小的顺序对延时参数集所包括的n个延时参数进行排序,然后根据每一个延时参数标记为候选值还是非候选值,得到候选值连续序列。
在步骤S602中,选取候选值连续个数最多的候选值连续序列作为最优工作窗口。
在所述候选值连续序列中,每一个延时参数均标记为候选值,即在每一个延时参数下所述PSRAM存储器的工作状态都是稳定的。本发明实施例将得到的每一个候选值连续序列作为一个工作窗口。工作窗口中的候选值越多,其覆盖的延时参数越多,所述工作窗口下PSRAM存储的延时范围越宽,PSRAM存储器的工作状态越稳定。本发明实施例选取候选值连续个数最多的候选值连续序列作为最优工作窗口。
在步骤S603中,选取所述最优工作窗口中的候选值的中值作为最优延时参数。
在得到最优工作窗口后,按照平均原则,根据所述最优工作窗口中的候选值计算中值,以所述中值作为最优延时参数,从而得到PSRAM存储器工作状态最稳定的延时参数。
可选地,为了便于理解,以下通过图示的方式对步骤S601至步骤S603所述的筛选最优延时参数的过程进行解释。假设输入输出延时可调电路的延时参数集包括1至n个连续延时参数,经过轮询机制之后得到的候选值和非候选值如图7所示,延时参数为候选值时对应用√标记,延时参数为非候选值时对应用×标记。连续标记√的地方作为一个候选值连续序列,那么图6中包括2个候选值连续序列,分别为候选值连续序列1和候选值连续序列2。其中,候选值连续序列1中包括的标记√最多,即包括的候选值个数最多,作为最优工作窗口。然后根据所述最优工作窗口包括的候选值,选择候选值的中值作为最优延时参数。示例性地,假设最优工作窗口中包括M个候选值,若M为奇数,则选取所述最优工作窗口中排序在中间位置上的候选值作为最优延时参数;若M为偶数,则选取所述最优工作窗口中排序在M/2位置上的候选值作为最优延时参数。
在步骤S604中,将所述最优延时参数写入所述FPGA模块中的输入输出延时可调电路。
最后将所述最优延时参数写入输入输出延时可调电路架构中,从而完成对PSRAM存储器的读校准操作,实现对PSRAM存储器的初始化。本发明实施例通过寻找所述最优延时参数实现读校准操作,有利于提高对PSRAM存储器读校准的准确度和效率。
综上所述,本发明实施例基于FPGA构建输入输出延时可调电路架构,将FPGA固有的输入输出延时可调电路应用到PSRAM接口电路中,并根据需求设置延时参数集。在对PSRAM存储器执行读校准时,遍历延时参数集中的每一个延时参数,按照所述延时参数执行延时操作后读取PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值,得到候选值集合;最后从所述候选值集合中选择最优延时参数,并将所述最优延时参数写入所述FPGA模块的中,从而完成对PSRAM存储器的读校准操作。相比于传统的读校准方法,本发明实施例实现了动态自适应的初始化读校准功能,能自适应不同温度、不同速度下不同批次的PSRAM存储器,极大地提高了PSRAM存储器的工作稳定性,在实现高速传输的同时使PSRAM存储器工作更加稳定,有利于发挥PSRAM存储器的性能,进而解决PSRAM存储器在实际中的应用难度和量产问题。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于FPGA的PSRAM存储器初始化装置,该基于FPGA的PSRAM存储器初始化装置与上述实施例中基于FPGA的PSRAM存储器初始化方法一一对应。如图8所示,该基于FPGA的PSRAM存储器初始化装置包括写入模块81、参数获取模块82、候选值获取模块83、最优参数获取模块84。各功能模块详细说明如下:
写入模块81,用于在对PSRAM存储器执行读校准时,通过FPGA模块向所述PSRAM存储器写入待校验数据;
参数获取模块82,用于获取FPGA模块中输入输出延时可调电路的延时参数集;
候选值获取模块83,用于遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
最优参数获取模块84,用于从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路。
可选地,所述候选值获取模块83包括:
获取单元,用于获取延时参数最小值;
延时单元,用于按照所得到的延时参数执行延时操作,然后从PSRAM存储器中读取待校验数据;
比较单元,用于将所读取的待校验数据与所写入的待校验数据进行比较;
标记单元,用于若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
判断单元,用于判断所述延时参数是否小于延时参数最大值;
轮询单元,用于若所述延时参数小于延时参数最大值时,将所述延时参数增加1个步长得到下一个延时参数,按照所述下一个延时参数执行下一次延时操作及参数校验操作;
结束单元,用于若所述延时参数大于或等于所述延时参数最大值时,结束遍历过程。
可选地,所述候选值获取模块83还包括:
相位调整单元,用于若所读取的待校验数据与所写入的待校验数据不相同时,调整FPGA模块中的I/O逻辑电路的解串器相位;
读取单元,用于按照调整后的解串器相位读取PSRAM存储器中的待校验数据;
所述比较单元还用于,将所读取的待校验数据与所写入的待校验数据进行比较;
所述标记单元还用于,若所读取的待校验数据与所写入的待校验数据相同,则将所述延时参数标记为候选值;
所述相位调整单元还用于,若所读取的待校验数据与所写入的待校验数据不相同,则继续调整解串器相位,并按照调整后的解串器相位执行下一次参数校验操作。
可选地,所述标记单元还用于:
在遍历所有解串器相位后,若所读取的待校验数据与所写入的待校验数据仍不相同,则将所述延时参数标记为非候选值。
可选地,所述最优参数获取模块84包括:
序列获取单元,用于从标记为候选值的所述延时参数中获取候选值连续序列;
最优窗口选取单元,用于选取候选值连续个数最多的候选值连续序列作为最优工作窗口;
最优参数选取单元,用于选取所述最优工作窗口中的候选值的中值作为最优延时参数;
参数写入单元,用于将所述最优延时参数写入所述FPGA模块中的输入输出延时可调电路。
可选地,所述延时参数集包括从1开始的连续n个正整数。
关于基于FPGA的PSRAM存储器初始化装置的具体限定可以参见上文中对于基于FPGA的PSRAM存储器初始化方法的限定,在此不再赘述。上述基于FPGA的PSRAM存储器初始化装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于FPGA的PSRAM存储器初始化方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
在对PSRAM存储器执行读校准时,通过FPGA模块向所述PSRAM存储器写入待校验数据;
获取FPGA模块中输入输出延时可调电路的延时参数集;
遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (9)

1.一种基于FPGA的PSRAM存储器初始化方法,其特征在于,包括:
在对PSRAM存储器执行读校准时,通过FPGA模块向所述PSRAM存储器写入待校验数据;
获取FPGA模块中输入输出延时可调电路的延时参数集;
遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路;
所述遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值包括:
获取延时参数最小值;
按照所得到的延时参数执行延时操作,然后从PSRAM存储器中读取待校验数据;
将所读取的待校验数据与所写入的待校验数据进行比较;
若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
若所读取的待校验数据与所写入的待校验数据不相同时,调整FPGA模块中的I/O逻辑电路的解串器相位;
按照调整后的解串器相位读取PSRAM存储器中的待校验数据;
将所读取的待校验数据与所写入的待校验数据进行比较;
若所读取的待校验数据与所写入的待校验数据相同,则将所述延时参数标记为候选值;
若所读取的待校验数据与所写入的待校验数据不相同,则继续调整解串器相位,并按照调整后的解串器相位执行下一次参数校验操作。
2.如权利要求1所述的基于FPGA的PSRAM存储器初始化方法,其特征在于,在将所述延时参数标记为候选值后,所述方法还包括:
判断所述延时参数是否小于延时参数最大值;
若所述延时参数小于延时参数最大值时,将所述延时参数增加1个步长得到下一个延时参数,按照所述下一个延时参数执行下一次延时操作及参数校验操作;
若所述延时参数大于或等于所述延时参数最大值时,结束遍历过程。
3.如权利要求2所述的基于FPGA的PSRAM存储器初始化方法,其特征在于,所述方法还包括:
在遍历所有解串器相位后,若所读取的待校验数据与所写入的待校验数据仍不相同,则将所述延时参数标记为非候选值。
4.如权利要求1所述的基于FPGA的PSRAM存储器初始化方法,其特征在于,所述从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路包括:
从标记为候选值的所述延时参数中获取候选值连续序列;
选取候选值连续个数最多的候选值连续序列作为最优工作窗口;
选取所述最优工作窗口中的候选值的中值作为最优延时参数;
将所述最优延时参数写入所述FPGA模块中的输入输出延时可调电路。
5.如权利要求1至4任一项所述的基于FPGA的PSRAM存储器初始化方法,其特征在于,所述延时参数集包括从1开始的连续n个正整数。
6.一种基于FPGA的PSRAM存储器初始化装置,其特征在于,包括:
写入模块,用于在对PSRAM存储器执行读校准时,通过FPGA模块向所述PSRAM存储器写入待校验数据;
参数获取模块,用于获取FPGA模块中输入输出延时可调电路的延时参数集;
候选值获取模块,用于遍历所述延时参数集中的每一个延时参数,按照所述延时参数执行延时操作,然后读取所述PSRAM存储器中的待校验数据,若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
最优参数获取模块,用于从标记为候选值的所述延时参数中选择最优延时参数,写入所述FPGA模块中的输入输出延时可调电路;
所述候选值获取模块包括:
获取单元,用于获取延时参数最小值;
延时单元,用于按照所得到的延时参数执行延时操作,然后从PSRAM存储器中读取待校验数据;
比较单元,用于将所读取的待校验数据与所写入的待校验数据进行比较;
标记单元,用于若所读取的待校验数据与所写入的待校验数据相同时,将所述延时参数标记为候选值;
相位调整单元,用于若所读取的待校验数据与所写入的待校验数据不相同时,调整FPGA模块中的I/O逻辑电路的解串器相位;
读取单元,用于按照调整后的解串器相位读取PSRAM存储器中的待校验数据;
所述比较单元还用于,将所读取的待校验数据与所写入的待校验数据进行比较;
所述标记单元还用于,若所读取的待校验数据与所写入的待校验数据相同,则将所述延时参数标记为候选值;
所述相位调整单元还用于,若所读取的待校验数据与所写入的待校验数据不相同,则继续调整解串器相位,并按照调整后的解串器相位执行下一次参数校验操作。
7.如权利要求6所述的基于FPGA的PSRAM存储器初始化装置,其特征在于,所述候选值获取模块还包括:
判断单元,用于判断所述延时参数是否小于延时参数最大值;
轮询单元,用于若所述延时参数小于延时参数最大值时,将所述延时参数增加1个步长得到下一个延时参数,按照所述下一个延时参数执行下一次延时操作及参数校验操作;
结束单元,用于若所述延时参数大于或等于所述延时参数最大值时,结束遍历过程。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的基于FPGA的PSRAM存储器初始化方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的基于FPGA的PSRAM存储器初始化方法。
CN201911125973.7A 2019-11-18 2019-11-18 基于fpga的psram存储器初始化方法、装置、设备及介质 Active CN111009271B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911125973.7A CN111009271B (zh) 2019-11-18 2019-11-18 基于fpga的psram存储器初始化方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911125973.7A CN111009271B (zh) 2019-11-18 2019-11-18 基于fpga的psram存储器初始化方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN111009271A CN111009271A (zh) 2020-04-14
CN111009271B true CN111009271B (zh) 2020-09-29

Family

ID=70112643

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911125973.7A Active CN111009271B (zh) 2019-11-18 2019-11-18 基于fpga的psram存储器初始化方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN111009271B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858195A (zh) * 2020-06-10 2020-10-30 瑞芯微电子股份有限公司 Dram接口读校验的接口参数适配方法及存储介质
CN114238929B (zh) * 2021-12-20 2022-09-13 深圳市德仪电子科技有限公司 一种内置运放的mcu芯片及其在变频系统中的应用
CN114356229B (zh) * 2021-12-22 2023-09-22 合肥康芯威存储技术有限公司 一种数据存储设备的参数优化方法及其优化系统
CN115862707B (zh) * 2022-11-25 2024-03-12 湖南兴芯微电子科技有限公司 一种psram相位校准方法及控制器
CN118072776A (zh) * 2024-04-18 2024-05-24 芯耀辉科技有限公司 数据传输方法、装置、主机及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042925A (zh) * 2006-03-21 2007-09-26 联发科技股份有限公司 存储器控制器,存储器装置以及选通信号校准方法
CN101645294A (zh) * 2008-08-08 2010-02-10 海力士半导体有限公司 半导体存储设备读取操作的控制电路
CN102347081A (zh) * 2010-07-30 2012-02-08 联芯科技有限公司 用于ddr控制器中dqs延迟的相位校准方法及装置
CN103886913A (zh) * 2014-03-31 2014-06-25 西安华芯半导体有限公司 Sram读取时间自测试电路及测试方法
CN108694974A (zh) * 2017-03-31 2018-10-23 瑞萨电子株式会社 半导体装置和时序校准方法
CN110428856A (zh) * 2019-07-29 2019-11-08 珠海市一微半导体有限公司 一种用于读写ddr内存的延时参数优化方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7443741B2 (en) * 2005-07-07 2008-10-28 Lsi Corporation DQS strobe centering (data eye training) method
US8497704B2 (en) * 2011-07-18 2013-07-30 Lsi Corporation Methods and structure for source synchronous circuit in a system synchronous platform

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101042925A (zh) * 2006-03-21 2007-09-26 联发科技股份有限公司 存储器控制器,存储器装置以及选通信号校准方法
CN101645294A (zh) * 2008-08-08 2010-02-10 海力士半导体有限公司 半导体存储设备读取操作的控制电路
CN102347081A (zh) * 2010-07-30 2012-02-08 联芯科技有限公司 用于ddr控制器中dqs延迟的相位校准方法及装置
CN103886913A (zh) * 2014-03-31 2014-06-25 西安华芯半导体有限公司 Sram读取时间自测试电路及测试方法
CN108694974A (zh) * 2017-03-31 2018-10-23 瑞萨电子株式会社 半导体装置和时序校准方法
CN110428856A (zh) * 2019-07-29 2019-11-08 珠海市一微半导体有限公司 一种用于读写ddr内存的延时参数优化方法和系统

Also Published As

Publication number Publication date
CN111009271A (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
CN111009271B (zh) 基于fpga的psram存储器初始化方法、装置、设备及介质
US11953980B2 (en) Memory sub-system with dynamic calibration using component-based function(s)
US10629245B2 (en) Apparatuses and methods for storing and writing multiple parameter codes for memory operating parameters
US11392488B2 (en) Optimizing storage of application data in memory
CN105808455B (zh) 访问内存的方法、存储级内存及计算机系统
US10585619B1 (en) Memory block erasure
CN112328441B (zh) Ddr调试方法及系统、可读存储介质、电子设备
CN107133407A (zh) 一种高带宽下提高ddr ram接口带宽的fpga实现方法
KR20190086936A (ko) 메모리 장치
CN112306420B (zh) 一种基于存储池的数据读写方法、装置、设备及存储介质
US7042777B2 (en) Memory device with non-variable write latency
EP3701531A1 (en) Devices and methods to write background data patterns in memory devices
US8687454B2 (en) Semiconductor storage apparatus and semiconductor integrated circuit
WO2024036797A1 (zh) 应用于存储器的写调平电路、及其控制方法
US11947382B2 (en) Measuring a timing margin of a memory device using an internal oscilloscope
US20240219956A1 (en) Measuring a timing margin of a memory device using an internal oscilloscope
US6922764B2 (en) Memory, processor system and method for performing write operations on a memory region
US20230133799A1 (en) Semiconductor devices and methods for performing programming operations
CN105224249B (zh) 一种写操作方法和装置
CN110556150A (zh) 一种存储单元的编程方法、装置、电子设备及存储介质
WO2024016414A1 (zh) 时序测试方法、装置、计算机设备、存储介质
US20240194233A1 (en) Memory device including memory package and memory system including the memory device
US6950921B2 (en) Method for operating an integrated memory unit partitioned by an external control signal
US20150143062A1 (en) Controller, storage device, and control method
CN112885385B (zh) 非易失性存储器及其读取方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Initialization method, device, device and medium of PSRAM memory based on FPGA

Effective date of registration: 20210623

Granted publication date: 20200929

Pledgee: Science City (Guangzhou) green Financing Guarantee Co.,Ltd.

Pledgor: Gowin Semiconductor Corp.,Ltd.

Registration number: Y2021980005107

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20221014

Granted publication date: 20200929

Pledgee: Science City (Guangzhou) green Financing Guarantee Co.,Ltd.

Pledgor: GOWIN SEMICONDUCTOR Corp.,Ltd.

Registration number: Y2021980005107

PC01 Cancellation of the registration of the contract for pledge of patent right