[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112328441B - Ddr调试方法及系统、可读存储介质、电子设备 - Google Patents

Ddr调试方法及系统、可读存储介质、电子设备 Download PDF

Info

Publication number
CN112328441B
CN112328441B CN202011349030.5A CN202011349030A CN112328441B CN 112328441 B CN112328441 B CN 112328441B CN 202011349030 A CN202011349030 A CN 202011349030A CN 112328441 B CN112328441 B CN 112328441B
Authority
CN
China
Prior art keywords
ddr
debugging
read operation
data
write operation
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
CN202011349030.5A
Other languages
English (en)
Other versions
CN112328441A (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.)
Spreadtrum Communications Shanghai Co Ltd
Original Assignee
Spreadtrum Communications Shanghai Co Ltd
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 Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CN202011349030.5A priority Critical patent/CN112328441B/zh
Publication of CN112328441A publication Critical patent/CN112328441A/zh
Application granted granted Critical
Publication of CN112328441B publication Critical patent/CN112328441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Dc Digital Transmission (AREA)

Abstract

一种DDR调试方法及系统、可读存储介质、电子设备。运行于片上系统的DDR控制器中,所述DDR控制器通过片上系统的DDR物理层接口与DDR直接连接;所述方法包括以下至少一种:在向所述DDR发送读操作调试指令以后,多次接收所述DDR输出的数据信号及数据选通信号,得到读操作对应的DDR眼图,并基于所述读操作对应的DDR眼图,得到最佳读操作参考电压值及最佳读操作相位值;在向所述DDR发送写操作调试指令以后,多次向所述DDR发送数据信号及数据选通信号,得到写操作对应的DDR眼图,并基于所述写操作对应的DDR眼图,得到最佳写操作参考电压值及最佳写操作相位值。应用上述方案,可以提高DDR的调试效率。

Description

DDR调试方法及系统、可读存储介质、电子设备
技术领域
本发明涉及随机存储器技术领域,具体涉及一种DDR调试方法及系统、可读存储介质、电子设备。
背景技术
现有的便携式设备,通常包括片上系统(System-on-a-chip,SoC)。所谓片上系统,即在单个芯片上集成的一个完整的系统。
片上系统上通常包括:嵌入在单个芯片衬底上的多个存储器客户端。所述存储器客户端可以为:中央处理单元(CPU)、图形处理单元(Graphics Processing Unit,GPU)、数字信号处理器(Digital Signal Processor,DSP)等。存储器客户端可以经由诸如双倍数据速率(Double Data Rate,DDR)总线的高速总线,来从电力耦合到片上系统的外部动态随机存取存储器(Dynamic Random Access Memory,DRAM)中读、写数据。通过双倍数据速率总线进行数据读写的动态随机存取存储器,称为双倍速率同步动态随机存取存储器(DoubleData Rate Synchronous Dynamic Random Access Memory,DDR SDRAM),简称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控制器通过片上系统的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是本发明实施例中一种DDR调试方法的流程图;
图3是本发明实施例中一种对数据选通信号进行相位调整的结构示意图;
图4是本发明实施例中一种对数据选通信号进行相位调整的时序示意图;
图5是本发明实施例中一种读操作DDR眼图的示意图;
图6是本发明实施例中一种DDR调试过程示意图;
图7是本发明实施例中一种DDR控制器的结构示意图。
具体实施方式
目前,对DDR进行调试时,大都通过硬件方式进行调试。具体地,提供一转接板(interposer),将片上系统的某一存储器客户端焊接至该转接板上,该存储器客户端的引脚与转接板引脚对应一致。再将该转接板与DDR连接,进而对转接板的相应引脚测量信号。
上述硬件测试方式,转接板的准备需要花费大量的时间,由此导致调试效率较低,通常需要2个小时以上,才能完成对DDR的调试。并且,对转接板的相应引脚进行测量得到的信号,是片上系统外部输入输出引脚的信号,而片上系统外部输入输出引脚的信号在实际输入至片上系统内部时,还会存在其它干扰,因此,片上系统外部输入输出引脚的信号的测试结果,不能保证片上系统内部接收到的信号是正确的,只能反映输入至片上系统的信号是否符合输入至协议规范
针对上述问题,本发明实施例提供了一种DDR调试方法,所述方法运行于片上系统的DDR控制器中,所述DDR控制器通过片上系统的DDR物理层接口与DDR直接连接,通过向DDR发送相应的调试指令,进而接收DDR输出的信号,或者向DDR发送信号,由此可以通过软件的方式,实现对DDR的调试,使得整个DDR调试所需时间大大缩短,提高调试效率。并且,DDR控制器接收的信号是经过片上系统的DDR物理层接口后的信号,可以准确地反映DDR与片上系统的实际数据传输情况。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例作详细地说明。
参照图1,本发明实施例提过了一种DDR调试系统10,所述DDR调试系统10可以包括:DDR控制器101。所述DDR控制器101位于片上系统20中。片上系统20具有DDR物理层接口201。DDR控制器101通过DDR物理层接口201与DDR30直接连接。
在本发明的实施例中,所述片上系统20可以在以下任意设备中实现的:个人计算机、工作站、服务器、笔记本电脑、游戏控制台、以及诸如蜂窝电话、智能手机、便携式数字助理(PDA)、便携式游戏控制台、导航设备、平板电脑、健身计算机和可穿戴设备(例如,运动手表、健身跟踪设备等)的便携式计算设备(PCD)或者具有无线连接或链路的其它电池供电的设备。
片上系统20可以包括一个或多个存储器客户端,例如,中央处理单元(CPU)、图形处理单元、数字信号处理器、静态随机访问存储器、只读存储器等。为了简化图示,在图1中,仅示出了中央处理单元202。DDR控制器101经由SoC总线203与片上系统20的各个存储器客户端电力耦合,以在DDR30与各个存储器客户端进行数据传输之前,对DDR30进行调试。
片上系统20和DDR30使用数据选通信号DQS和数据信号DQ来发送和接收数据。信号接收端在数据选通信号DQS的转换沿对数据信号DQ进行采样,即可得到实际传输的数据。其中,数据选通信号DQS的转换沿包括上升沿和下降沿。
如图2所示,本发明实施例提供了一种DDR调试方法,所述方法运行于片上系统20的DDR控制器101(如图1所示)中。通过所述方法,可以对DDR进行读操作调试和写操作调试中的至少一种。
具体地,在对DDR进行读操作调试时,所述方法可以包括如下步骤:
步骤21,在向所述DDR发送读操作调试指令以后,多次接收所述DDR输出的数据信号及数据选通信号,得到读操作对应的DDR眼图,并基于所述读操作对应的DDR眼图,得到最佳读操作参考电压值及最佳读操作相位值。
下面结合图1及图2,对具体的读操作调试进行描述:
如图1所示,DDR控制器101可以向DDR30发送读操作调试指令。DDR30接收到读操作调试指令后,会向片上系统20发送数据信号DQ及数据选通信号DQS。
每次接收到所述DDR30输出的数据信号DQ及数据选通信号DQS后,可以基于所接收的数据信号DQ及数据选通信号DQS,利用预先获取的预设扫描频点下的读操作参考电压调试值及读操作相位调试值,得到对应的DDR读操作扫描结果。通过获取所述预设扫描频点在不同读操作参考电压调试值下各读操作相位调试值对应的DDR读操作扫描结果,生成所述读操作对应的DDR眼图。
在具体实施中,DDR控制器101可以通过多种方式获取读操作参考电压调试值及读操作相位调试值,此处不作限制。
在本发明的一实施例中,如图1所示,所述DDR调试系统10可以包括第一寄存器102及第二寄存器103。其中,所述第一寄存器102适于存储所述预设扫描频点下的多个读操作参考电压调试值。所述第二寄存器103适于存储所述预设扫描频点下的多个读操作相位调试值。
每次接收到所述DDR30输出的数据信号DQ及数据选通信号DQS后,DDR控制器101可以从第一寄存器102中获取所述预设扫描频点下的多个读操作参考电压调试值,而从第二寄存器103中获取所述预设扫描频点下的多个读操作相位调试值。
需要说明的是,第一寄存器102中不仅存储有能够使得DDR30正常工作的读操作参考电压调试值,还存储有使得DDR30不能正常工作的读操作参考电压调试值,由此可以使得最终生成的DDR眼图具有更加清晰的边缘。读操作参考电压调试值的数量可以根据实际需求设定。
同样地,第二寄存器103中不仅存储有能够使得DDR30正常工作的读操作相位调试值,还存储有使得DDR30不能正常工作的读操作相位调试值,由此可以使得最终生成的DDR眼图具有更加清晰的边缘。读操作相位调试值的数量可以根据实际需求设定。
获取到读操作相位调试值,对所述DDR输出的数据信号DQ及数据选通信号DQS中的至少一个进行相位调整。
在具体实施中,可以利用相位调整后的数据选通信号,对所述DDR输出的数据信号进行采样,得到第一数据采样结果信号,将所述第一数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果。也可以利用所述DDR输出的数据选通信号,对相位调整后的数据信号进行采样,得到第二数据采样结果信号,将所述第二数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果。还可以利用相位调整后的数据选通信号,对相位调整后的数据信号进行采样,得到第三数据采样结果信号,将所述第三数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果。
以对数据选通信号DQS进行相位调整,而不对数据信号DQ进行相位调整为例,参照图3,片上系统通常包括多个延时器203,延时器203可以对输入的数字信号进行不同的延时处理,进而改变所输入数字信号的相位。例如,参照图4,数据选通信号DQS进行不同的延时处理,可以得到相位调整后的数据选通信号DQS1及DQS2,数据选通信号DQS1的上升沿对应数据信号DQ在t1时刻的位置,数据选通信号DQS2的上升沿对应数据信号DQ在t2时刻的位置。
DDR物理层接口201可以包括多个D触发器,如D触发器31至34。D触发器31至34之间相互耦接。DDR30发出的数据信号DQ可以接入D触发器31的数据端D。DDR30发出的数据选通信号DQS,在DDR控制器的控制下,可以经相应的延时器203接入D触发器31及D触发器32的控制端,实现相位调整。
D触发器31及D触发器32在相位调整后的数据选通信号的控制下,对数据信号DW进行采样,并在输出端Q将相应的信号输出至D触发器33及D触发器34。D触发器33及D触发器34在本地时钟信号Local clk的控制下,通过输出端Q将信号采样的信号输出至DDR控制器。
参照图1,相位调整后,DDR控制器101基于所述读操作参考电压调试值进行DDR扫描,得到对应的DDR读操作扫描结果,即将DDR物理层接口201输出的信号与读操作参考电压调试值进行比较,确定所读出值。若读出值与实际写入的值相等,DDR扫描结果在图5中眼图呈现为黑色小点,若读出值与实际写入的不值相等,DDR扫描结果在图5中眼图呈现为白色。
DDR扫描结果分别与读操作参考电压调试值及读操作相位调试值一一对应。也就是说,对于任一读操作参考电压调试值,在不同的读操作相位调试值下,具有不同的DDR扫描结果。对于任一读操作相位调试值,在不同的读操作参考电压调试值下,具有不同的DDR扫描结果。将不同读操作参考电压调试值下不同读操作相位调试值对应的DDR扫描结果相互叠加,得到最终的读操作DDR眼图,如图5所示。
获得读操作对应的DDR眼图后,选取DDR参考电压范围最宽处的中间位置,将该中间位置对应的读操作参考电压调试值作为DDR的最佳读操作参考电压值,将该中间位置对应的读操作相位调试值,作为DDR的最佳读操作相位值,并按照该最佳读操作参考电压值及最佳读操作相位值,执行后续的读操作。另外,基于读操作对应的DDR眼图还可以确定DDR本身的时序冗余(margin),基于DDR本身的时序冗余可以判断系统能够稳定工作时的电压和温度范围。
参照图2,采用本发明实施例中的DDR调试方法,对DDR进行写操作调试时,可以包括如下步骤:
步骤22,在向所述DDR发送写操作调试指令以后,多次向所述DDR发送数据信号及数据选通信号,得到写操作对应的DDR眼图,并基于所述写操作对应的DDR眼图,得到最佳写操作参考电压值及最佳写操作相位值。
下面结合图1及图2,对具体的写操作调试进行描述:
如图1所示,DDR控制器101可以向DDR30发送写操作调试指令。DDR30接收到写操作调试指令后,等待接收片上系统20发送的数据信号DQ及数据选通信号DQS。
DDR控制器101向DDR30发送写操作调试指令后,可以利用预先获取的预设扫描频点下的写操作相位调试值,向所述DDR发送数据信号DQ及数据选通信号DQS。
具体地,DDR控制器101可以基于所述写操作相位调试值,对待写入的数据信号及数据选通信号中的至少一个进行相位调整后再发送至所述DDR。也就是说,发送至DDR30的数据信号DQ及数据选通信号DQS中至少一个,是经过相位调整后才发送的。
在具体实施中,可以仅对待写入的数据信号进行相位调整后,与未进行相位调整的数据选通信号DQS一起发送至DDR30。也可以仅对待写入的数据选通信号进行相位调整后,与未进行相位调整的数据信号DQ一起发送至DDR30。还可以对待写入的数据信号及数据选通信号均进行相位调整后,再发送至DDR30。
在具体实施中,DDR控制器101可以控制需要进行相位调整的信号,经相应的延时器进行相位调整后,再输出至DDR30。
DDR30接收片上系统10发送的信号,实现数据写入。在完成数据写入后,DDR控制器101再从DDR30读取所写入的数据,即获取数据信号及数据选通信号,进而利用所述预设扫描频点下的写操作参考电压调试值,得到对应的DDR读操作扫描结果。
具体地,可以利用所获取的数据选通信号,对所获取的数据信号进行采样,得到第四采样结果信号,将所述第四采样结果信号的电压与所述写操作参考电压调试值进行比较,得到对应的DDR写操作扫描结果。
其中,写入后所读出的值与实际写入的值相等时,DDR写操作扫描结果在眼图呈现为黑色小点,写入后所读出的值与实际写入的值不相等时,DDR写操作扫描结果在眼图呈现为白色。
通过获取所述预设扫描频点在不同写操作参考电压调试值下各写操作相位调试值对应的DDR写操作扫描结果,可以生成所述写操作对应的DDR眼图
DDR写操作扫描结果分别与写操作参考电压调试值及写操作相位调试值一一对应。也就是说,对于任一写操作参考电压调试值,在不同的写操作相位调试值下,具有不同的DDR写操作扫描结果。对于任一写操作相位调试值,在不同的写操作参考电压调试值下,具有不同的DDR写操作扫描结果。将不同写操作参考电压调试值下不同写操作相位调试值对应的DDR写操作扫描结果相互叠加,得到最终的写操作DDR眼图。
获得写操作对应的DDR眼图后,选取DDR参考电压范围最宽处的中间位置,将该中间位置对应的写操作参考电压调试值作为DDR的最佳写操作参考电压值,将该中间位置对应的写操作相位调试值,作为DDR的最佳读操作相位值,并按照该最佳写操作参考电压值及最佳写操作相位值,执行后续的写操作。
在具体实施中,参照图1,所述DDR调试系统10还可以包括:第三寄存器104及第四寄存器105。
其中,所述第三寄存器104适于存储预设扫描频点下的多个写操作参考电压调试值。所述第四寄存器105适于存储预设扫描频点下的多个写操作相位调试值。DDR控制器101可以从第三寄存器104及第四寄存器105获取相应的写操作参考电压调试值及写操作相位调试值。
需要说明的是,第三寄存器104中不仅存储有能够使得DDR30正常工作的写操作参考电压调试值,还存储有使得DDR30不能正常工作的写操作参考电压调试值,由此可以使得最终生成的DDR眼图具有更加清晰的边缘。写操作参考电压调试值的数量可以根据实际需求设定。
同样地,第四寄存器105中不仅存储有能够使得DDR30正常工作的写操作相位调试值,还存储有使得DDR30不能正常工作的写操作相位调试值,由此可以使得最终生成的DDR眼图具有更加清晰的边缘。写操作相位调试值的数量可以根据实际需求设定。
当然,在DDR控制器101也可以通过其它方式获取相应的写操作参考电压调试值及写操作相位调试值。
需要说明的是,在具体实施中,如图1所示,步骤21及22的执行顺序不作限制,即可以先执行步骤21,即对DDR的读操作进行调试,再执行步骤22,即对DDR的写操作进行调试。也可以先执行步骤22,再执行21,此处不作限制。无论以何种顺序执行步骤21及22,均不构成对本发明的限制,且均在本发明的保护范围之内。
关于上述DDR调试方法具体可以参照图6进行实施。下面对图6进行详细描述:
参照图6,所述DDR调试过程可以包括如下步骤:
步骤61,开机初始化。
开机初始化,即片上系统所在设备的开机初始化。
步骤62,DDR初始化,配置需要扫描的频点。
也就是配置所述预设扫描频点,所述预设扫描频点决定了数据信号DQ及数据选通信号DQS的周期。通过配置所述预设扫描频点,控制DDR与片上系统之间数据传输的频率。
步骤63,配置需要扫描的操作,即配置需要进行读操作扫描还是写操作扫描。
在具体实施中,DDR控制器接收扫描操作配置,进而对相应的操作进行调试。需要扫描的操作可以是读操作,也可以是写操作。
步骤64,调整DDR参数。
也就是获取所配置的操作下,预设扫描频点对应的参考电压调试值和相位调试值。
步骤65,DDR调试,得到DDR扫描结果。
利用所获取的DDR参数,对DDR进行相应操作的调试。所述DDR参数包括:参考电压调试值及相位调试值。
比如,当扫描操作配置为读操作时,DDR控制器发送读操作调试指令,并进行后续的读操作调试。当扫描操作配置为写操作时,DDR控制器发送写操作调试指令,并进行后续的写操作调试。
具体DDR调试过程,可以参照上述关于步骤21或22的描述进行实施,此处不再赘述。
步骤66,判断DDR参数调整是否结束。
当已经获取到各个参考电压调试值下不同相位调试值的DDR扫描结果时,DDR参数调整结束,否则DDR参数调整未结束。
当DDR参数调整结束时,执行步骤67,否则继续执行步骤64,即再次调整DDR参数,直至获取到各个参考电压调试值下不同相位调试值的DDR扫描结果。
步骤67,输出DDR眼图。
步骤68,判断所有扫描操作是否均已经调试完成?
当所有扫描操作均已经调试完成时,结束调试过程,否则再次执行步骤63至68,直至所有扫描操作均已调试完成。
比如,当先对读操作进行调试时,若写操作尚未进行调试,则执行步骤63至68,对DDR的写操作进行调试。当先对写操作进行调试时,若度操作尚未进行调试,则执行步骤63至68,对DDR的度操作进行调试。
由上述内容可知,本发明实施例中DDR调试方法,通过在不同的参考电压下,采用不同的延时器件,不断调整数据选通信号DQS和/或数据信号DQ的相位,来扫描数据选通信号DQS采样到的数据信号DQ的数据,最后叠加出一张完整的眼图,而且最后得到的眼图能够反映实际工作状态下片上系统和DDR颗粒的时序冗余。整个调试过程仅需要允许相应的程序即可,所得到的眼图即软件眼图,软件眼图的DDR扫描基本只需要软件工程师来参与。对于不同的硬件只需要下载相关版本,不需要做硬件修改就可以直接使用,不仅操作简单,且可大规模使用。
为了使本领域技术人员更好地理解和实现本发明,以下对上述方法对应的系统及计算机可读存储介质进行详细描述。
参照图1,本发明实施例提供了一种DDR调试系统10,所述DDR调试系统10可以包括DDR控制器101,所述DDR控制器101位于片上系统中,所述DDR控制器101通过片上系统20的DDR物理层接口201与DDR30直接连接。
图7为本发明实施例提供的一种DDR控制器101的结构示意图。参照图7,所述DDR控制器101可以包括读操作调试单元71及写操作调试单元72中的至少一种。其中:
所述读操作调试单元71,适于在向所述DDR发送读操作调试指令以后,多次接收所述DDR输出的数据信号及数据选通信号,得到读操作对应的DDR眼图,并基于所述读操作对应的DDR眼图,得到最佳读操作参考电压值及最佳读操作相位值;
所述写操作调试单元72,适于在向所述DDR发送写操作调试指令以后,多次向所述DDR发送数据信号及数据选通信号,得到写操作对应的DDR眼图,并基于所述写操作对应的DDR眼图,得到最佳写操作参考电压值及最佳写操作相位值。
在本发明的一实施例中,所述读操作调试单元71可以包括:读操作扫描子单元711及读操作眼图生成子单元712。其中:
所述读操作扫描子单元711,适于基于所接收的数据信号及数据选通信号,利用预先获取的预设扫描频点下的读操作参考电压调试值及读操作相位调试值,得到对应的DDR读操作扫描结果;
所述读操作眼图生成子单元712,适于获取所述预设扫描频点在不同读操作参考电压调试值下各读操作相位调试值对应的DDR读操作扫描结果,生成所述读操作对应的DDR眼图。
在本发明的一实施例中,所述读操作扫描子单元711可以包括:获取模块711a、相位调整模块711b及扫描模块711c。其中:
所述获取模块711a,适于获取所述预设扫描频点下的读操作参考电压调试值及读操作相位调试值;
所述相位调整模块711b,适于基于所述读操作相位调试值,对所述DDR输出的数据信号及数据选通信号中的至少一个进行相位调整;
所述扫描模块711c,适于在相位调整后,基于所述读操作参考电压调试值进行DDR扫描,得到对应的DDR读操作扫描结果。
在本发明的一实施例中,所述扫描模块711c,适于利用相位调整后的数据选通信号,对所述DDR输出的数据信号进行采样,得到第一数据采样结果信号,将所述第一数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果;或者,利用所述DDR输出的数据选通信号,对相位调整后的数据信号进行采样,得到第二数据采样结果信号,将所述第二数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果;或者,利用相位调整后的数据选通信号,对相位调整后的数据信号进行采样,得到第三数据采样结果信号,将所述第三数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果。
在本发明的一实施例中,所述写操作调试单元72可以包括:写操作扫描子单元721及写操作眼图生成子单元722。其中:
所述写操作扫描子单元721,适于利用预先获取的预设扫描频点下的写操作相位调试值,向所述DDR发送数据信号及数据选通信号;接收所述DDR输出的数据信号及数据选通信号,利用所述预设扫描频点下的写操作参考电压调试值,得到对应的DDR读操作扫描结果;
所述写操作眼图生成子单元722,适于获取所述预设扫描频点在不同写操作参考电压调试值下各写操作相位调试值对应的DDR写操作扫描结果,生成所述写操作对应的DDR眼图。
在本发明的一实施例中,所述写操作扫描子单元721,适于基于所述写操作相位调试值,对待写入的数据信号及数据选通信号中的至少一个进行相位调整后再发送至所述DDR。
在本发明的一实施例中,所述写操作扫描子单元721,适于利用所获取的数据选通信号,对所获取的数据信号进行采样,得到第四采样结果信号,将所述第四采样结果信号的电压与所述写操作参考电压调试值进行比较,得到对应的DDR写操作扫描结果。
在本发明的一实施例中,参照图1,所述DDR调试系统10还可以包括:
第一寄存器102,适于存储所述预设扫描频点下的多个读操作参考电压调试值;
第二寄存器103,适于存储所述预设扫描频点下的多个读操作相位调试值。
在本发明的一实施例中,参照图1,所述DDR调试系统10还可以包括:
第三寄存器104,适于存储预设扫描频点下的多个写操作参考电压调试值;
第四寄存器105,适于存储预设扫描频点下的多个写操作相位调试值。
关于所述DDR调试系统10中各个功能模块,具体可以参照上述关于相应方法中的描述进行实施,此处不再赘述。
本发明实施例还提供了另一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述实施例中任一种所述DDR调试方法步骤,不再赘述。
在具体实施中,所述计算机可读存储介质可以包括:ROM、RAM、磁盘或光盘等。
本发明实施例还提供了一种电子设备,所述电子设备可以包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述实施例中所述方法的步骤。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (14)

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眼图。
2.如权利要求1所述的DDR调试方法,其特征在于,所述基于所接收的数据信号及数据选通信号,利用预先获取的预设扫描频点下的读操作参考电压调试值及读操作相位调试值,得到对应的DDR读操作扫描结果,包括:
获取所述预设扫描频点下的读操作参考电压调试值及读操作相位调试值;
基于所述读操作相位调试值,对所述DDR输出的数据信号及数据选通信号中的至少一个进行相位调整;
在相位调整后,基于所述读操作参考电压调试值进行DDR扫描,得到对应的DDR读操作扫描结果。
3.如权利要求2所述的DDR调试方法,其特征在于,所述相位调整后,基于所述参考电压调试值进行DDR扫描,包括:
利用相位调整后的数据选通信号,对所述DDR输出的数据信号进行采样,得到第一数据采样结果信号,将所述第一数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果;
或者,利用所述DDR输出的数据选通信号,对相位调整后的数据信号进行采样,得到第二数据采样结果信号,将所述第二数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果;
或者,利用相位调整后的数据选通信号,对相位调整后的数据信号进行采样,得到第三数据采样结果信号,将所述第三数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果。
4.如权利要求1所述的DDR调试方法,其特征在于,所述利用预先获取的预设扫描频点下的写操作相位调试值,向所述DDR发送数据信号及数据选通信号,包括:
基于所述写操作相位调试值,对待写入的数据信号及数据选通信号中的至少一个进行相位调整后再发送至所述DDR。
5.如权利要求1所述的DDR调试方法,其特征在于,所述接收所述DDR输出的数据信号及数据选通信号,利用所述预设扫描频点下的写操作参考电压调试值,得到对应的DDR写操作扫描结果,包括:
利用所获取的数据选通信号,对所获取的数据信号进行采样,得到第四采样结果信号,将所述第四采样结果信号的电压与所述写操作参考电压调试值进行比较,得到对应的DDR写操作扫描结果。
6.一种DDR调试系统,包括:DDR控制器,所述DDR控制器位于片上系统中,其特征在于,所述DDR控制器通过片上系统的DDR物理层接口与DDR直接连接;所述DDR控制器包括以下至少一种:
读操作调试单元,适于在向所述DDR发送读操作调试指令以后,多次接收所述DDR输出的数据信号及数据选通信号,得到读操作对应的DDR眼图,并基于所述读操作对应的DDR眼图,得到最佳读操作参考电压值及最佳读操作相位值;
写操作调试单元,适于在向所述DDR发送写操作调试指令以后,多次向所述DDR发送数据信号及数据选通信号,得到写操作对应的DDR眼图,并基于所述写操作对应的DDR眼图,得到最佳写操作参考电压值及最佳写操作相位值;
所述读操作调试单元包括:读操作扫描子单元,适于基于所接收的数据信号及数据选通信号,利用预先获取的预设扫描频点下的读操作参考电压调试值及读操作相位调试值,得到对应的DDR读操作扫描结果;读操作眼图生成子单元,适于获取所述预设扫描频点在不同读操作参考电压调试值下各读操作相位调试值对应的DDR读操作扫描结果,生成所述读操作对应的DDR眼图;
所述写操作调试单元,包括:写操作扫描子单元,适于利用预先获取的预设扫描频点下的写操作相位调试值,向所述DDR发送数据信号及数据选通信号;接收所述DDR输出的数据信号及数据选通信号,利用所述预设扫描频点下的写操作参考电压调试值,得到对应的DDR写操作扫描结果;写操作眼图生成子单元,适于获取所述预设扫描频点在不同写操作参考电压调试值下各写操作相位调试值对应的DDR写操作扫描结果,生成所述写操作对应的DDR眼图。
7.如权利要求6所述的DDR调试系统,其特征在于,所述读操作扫描子单元包括:
获取模块,适于获取所述预设扫描频点下的读操作参考电压调试值及读操作相位调试值;
相位调整模块,适于基于所述读操作相位调试值,对所述DDR输出的数据信号及数据选通信号中的至少一个进行相位调整;
扫描模块,适于在相位调整后,基于所述读操作参考电压调试值进行DDR扫描,得到对应的DDR读操作扫描结果。
8.如权利要求7所述的DDR调试系统,其特征在于,还包括:
第一寄存器,适于存储所述预设扫描频点下的多个读操作参考电压调试值;
第二寄存器,适于存储所述预设扫描频点下的多个读操作相位调试值。
9.如权利要求7所述的DDR调试系统,其特征在于,所述扫描模块,适于利用相位调整后的数据选通信号,对所述DDR输出的数据信号进行采样,得到第一数据采样结果信号,将所述第一数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果;或者,利用所述DDR输出的数据选通信号,对相位调整后的数据信号进行采样,得到第二数据采样结果信号,将所述第二数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果;或者,利用相位调整后的数据选通信号,对相位调整后的数据信号进行采样,得到第三数据采样结果信号,将所述第三数据采样结果信号与所述读操作参考电压调试值进行比较,得到对应的DDR扫描结果。
10.如权利要求6所述的DDR调试系统,其特征在于,所述写操作扫描子单元,适于基于所述写操作相位调试值,对待写入的数据信号及数据选通信号中的至少一个进行相位调整后再发送至所述DDR。
11.如权利要求6所述的DDR调试系统,其特征在于,所述写操作扫描子单元,适于利用所获取的数据选通信号,对所获取的数据信号进行采样,得到第四采样结果信号,将所述第四采样结果信号的电压与所述写操作参考电压调试值进行比较,得到对应的DDR写操作扫描结果。
12.如权利要求6所述的DDR调试系统,其特征在于,还包括:
第三寄存器,适于存储预设扫描频点下的多个写操作参考电压调试值;
第四寄存器,适于存储预设扫描频点下的多个写操作相位调试值。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行,以实现权利要求1至5任一项所述方法的步骤。
14.一种电子设备,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至5任一项所述方法的步骤。
CN202011349030.5A 2020-11-26 2020-11-26 Ddr调试方法及系统、可读存储介质、电子设备 Active CN112328441B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011349030.5A CN112328441B (zh) 2020-11-26 2020-11-26 Ddr调试方法及系统、可读存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011349030.5A CN112328441B (zh) 2020-11-26 2020-11-26 Ddr调试方法及系统、可读存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN112328441A CN112328441A (zh) 2021-02-05
CN112328441B true CN112328441B (zh) 2022-09-27

Family

ID=74309046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011349030.5A Active CN112328441B (zh) 2020-11-26 2020-11-26 Ddr调试方法及系统、可读存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN112328441B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114020667B (zh) * 2021-10-20 2024-08-06 瑞芯微电子股份有限公司 一种支持ddr自动调节最优信号参数的方法和存储设备
CN114530185B (zh) * 2022-01-18 2023-04-07 深圳市晶存科技有限公司 一种眼图测试方法、系统、设备及介质
CN115061860B (zh) * 2022-05-20 2023-08-29 飞腾信息技术有限公司 单路系统内存调试方法、装置及介质
WO2024186076A1 (ko) * 2023-03-06 2024-09-12 삼성전자 주식회사 Dram을 포함하는 전자 장치 및 그의 동작 방법
CN116010311A (zh) * 2023-03-24 2023-04-25 北京探境科技有限公司 相位调整方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034572A (zh) * 2012-12-14 2013-04-10 深圳Tcl新技术有限公司 Ddr调试方法及系统
CN106448744A (zh) * 2016-09-22 2017-02-22 广东威创视讯科技股份有限公司 一种ddr时序分析方法、装置及系统
CN110622143A (zh) * 2017-05-19 2019-12-27 高通股份有限公司 用于对经由ddr接口参数的特定于设备的自定义来减少存储器功耗的系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103034572A (zh) * 2012-12-14 2013-04-10 深圳Tcl新技术有限公司 Ddr调试方法及系统
CN106448744A (zh) * 2016-09-22 2017-02-22 广东威创视讯科技股份有限公司 一种ddr时序分析方法、装置及系统
CN110622143A (zh) * 2017-05-19 2019-12-27 高通股份有限公司 用于对经由ddr接口参数的特定于设备的自定义来减少存储器功耗的系统和方法

Also Published As

Publication number Publication date
CN112328441A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
CN112328441B (zh) Ddr调试方法及系统、可读存储介质、电子设备
US20100312517A1 (en) Test Method Using Memory Programmed with Tests and Protocol To Communicate between Device Under Test and Tester
US20150378603A1 (en) Integrated controller for training memory physical layer interface
US7607056B2 (en) Semiconductor test apparatus for simultaneously testing plurality of semiconductor devices
WO2001063311A2 (en) Method and system for wafer and device-level testing of an integrated circuit
CN108874686B (zh) 内存参数调节方法、装置及设备
CN108009372B (zh) 一种ddr内存虚拟写电平校准响应的方法
US8754656B2 (en) High speed test circuit and method
WO2023040253A1 (zh) 一种测试板卡、测试系统和测试方法
US10203875B1 (en) Methods and systems for implementing high bandwidth memory command address bus training
US20060212768A1 (en) Verification circuitry for master-slave system
KR101295655B1 (ko) 시험 장치 및 시험 방법
CN112256514B (zh) Sdio接口的测试方法及装置、存储介质、终端
CN110928731A (zh) 一种基于硬件自测模块的dram眼图评估方法
US8135557B2 (en) Apparatus for testing semiconductor integrated circuit and method for testing semiconductor integrated circuit
JP2004037278A (ja) 回路検証装置
CN112017727B (zh) 接口测试方法、装置、处理器和电子设备
EP4113519A2 (en) Apparatus, memory device, and method reducing clock training time
Che FPGA-based memory test system design and test algorithm implementation
US7765424B2 (en) System and method for injecting phase jitter into integrated circuit test signals
US8489943B2 (en) Protocol sequence generator
Lyons et al. The implementation and application of a protocol aware architecture
Wang et al. Research on simulation acceleration method of FPGA design with external memory chip
US12093543B2 (en) Memory training using electronic noise
JP2007024524A (ja) 試験装置、制御方法、および制御プログラム

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