CN110750406B - 一种检测方法、装置和soc芯片 - Google Patents

一种检测方法、装置和soc芯片 Download PDF

Info

Publication number
CN110750406B
CN110750406B CN201911038091.7A CN201911038091A CN110750406B CN 110750406 B CN110750406 B CN 110750406B CN 201911038091 A CN201911038091 A CN 201911038091A CN 110750406 B CN110750406 B CN 110750406B
Authority
CN
China
Prior art keywords
target
data
test
read
ddr
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
CN201911038091.7A
Other languages
English (en)
Other versions
CN110750406A (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.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics 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 Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201911038091.7A priority Critical patent/CN110750406B/zh
Publication of CN110750406A publication Critical patent/CN110750406A/zh
Application granted granted Critical
Publication of CN110750406B publication Critical patent/CN110750406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F11/2236Detection 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 to test CPU or processors
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种检测方法、装置和SOC芯片,该方法包括:寄存器模块接收检测指令,并根据检测指令开启环回测试,确定测试位数;测试dm激励处理模块根据测试位数确定多个目标写指令,向ddr控制器发送目标写指令,以便将与目标写指令对应的目标数据存储在ddr颗粒的目标地址中,向ddr控制器发送目标读指令,以便ddr控制器根据目标读指令从ddr颗粒中的目标地址中得到读数据,获取ddr控制器发送的读数据,将目标数据与读数据进行比较,得到比较结果,若比较结果是比较成功,则向ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果;寄存器模块根据最终比较结果确定测试结果。能够简化测试过程,提高ddr数据掩码信号线测试效率。

Description

一种检测方法、装置和SOC芯片
技术领域
本申请涉及检测技术领域,特别涉及一种检测方法、检测装置和SOC芯片。
背景技术
当前,芯片内ddr模块运行频率越来越高,增加了定位问题的难度与示波器设备成本。很多芯片存储器的高速接口物理层(ddr phy)内覆盖不到dm信号线(数据掩码信号线)对应的dm通路,因读操作时读通路没有dm通路,无法通过写后再通过ddr phy内读通路返回后与预期值比较来获得dm通路是否正常,并且,Asic芯片中当ddr颗粒与芯片合封时,无法通过抓线来查ddr dm信号线的值。相关技术是通过软件辅助loopback来完成芯片测试的任务,在通过初始化ddr后,利用软件通过特定激励访问ddr颗粒,通过读写对比的结果来完成dm信号线的测试,但是整个过程依靠软件执行,测试时间长,进而导致测试效率低。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本申请的目的是提供一种检测方法、检测装置和SOC芯片,能够简化测试过程,提高ddr数据掩码信号线测试效率。其具体方案如下:
本申请提供了一种检测方法,包括:
寄存器模块接收检测指令,并根据所述检测指令开启环回测试,确定测试位数;
测试dm激励处理模块根据所述测试位数确定多个目标写指令;
所述测试dm激励处理模块向ddr控制器发送所述目标写指令,以便将与所述目标写指令对应的目标数据存储在ddr颗粒的目标地址中,所述测试dm激励处理模块向所述ddr控制器发送目标读指令,以便所述ddr控制器根据目标读指令从所述ddr颗粒中的所述目标地址中得到读数据,获取所述ddr控制器发送的所述读数据,将所述目标数据与所述读数据进行比较,得到比较结果,若所述比较结果是比较成功,则向所述ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果;
所述寄存器模块根据所述最终比较结果确定测试结果。
可选的,所述测试dm激励处理模块向ddr控制器发送所述目标写指令,以便将与所述目标写指令对应的目标数据存储在ddr颗粒的目标地址中,所述测试dm激励处理模块向所述ddr控制器发送目标读指令,以便所述ddr控制器根据目标读指令从所述ddr颗粒中的所述目标地址中得到读数据,获取所述ddr控制器发送的所述读数据,将所述目标数据与所述读数据进行比较,得到比较结果,若所述比较结果是比较成功,则向所述ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果,包括:
所述测试dm激励处理模块向所述ddr控制器发送无掩码写数据指令,以便将与所述无掩码写数据指令对应的无掩码数据存储在所述ddr颗粒中的所述目标地址;
向所述ddr控制器发送读指令,以便所述ddr控制器根据所述读指令从所述ddr颗粒中的所述目标地址中得到读无掩码数据,获取所述ddr控制器发送的所述读无掩码数据;
将所述无掩码数据与所述读无掩码数据进行比较,得到第一比较结果;
若所述第一比较结果是比较失败,则所述最终比较结果确定为比较失败;
若所述第一比较结果是比较成功,则向所述ddr控制器发送第0byte有效写指令,以便将与所述第0byte有效写指令对应的第0byte数据存储在所述ddr颗粒中的所述目标地址,向所述ddr控制器发送byte读指令,以便所述ddr控制器根据所述byte读指令从所述ddr颗粒中的所述目标地址中得到读第0byte有效数据、其他byte实际数据,获取所述ddr控制器发送的所述读第0byte有效数据、所述其他byte实际数据,将所述第0byte有效数据与所述读第0byte有效数据进行比较,且将所述其他byte实际数据与对应的标准byte数据进行比较,得到第二比较结果;
若所述第二比较结果是比较失败,则所述最终比较结果是比较失败;
若所述第二比较结果是比较成功,则向所述ddr控制器发送下一个byte有效写指令直至得到所述最终比较结果。
可选的,所述测试dm激励处理模块向ddr控制器发送所述目标写指令之前,还包括:
所述测试dm激励处理模块向所述ddr控制器发送无掩码写参考指令,以便将与所述无掩码写参考指令对应的参考数据存储在所述ddr颗粒中的所述目标地址;
向所述ddr控制器发送无掩码读参考指令,以便所述ddr控制器根据所述无掩码读参考指令从所述ddr颗粒中的所述目标地址中得到读参考数据,获取所述ddr控制器发送的所述读参考数据,将所述参考数据与所述读参考数据进行比较,得到第三比较结果;
若所述第三比较结果是比较成功时,则执行所述向所述ddr控制器发送无掩码写数据指令的步骤。
可选的,寄存器模块接收检测指令,包括:
利用系统apb总线接收应用端发送的所述检测指令;
或,利用debug口接收所述应用端发送的所述检测指令。
可选的,所述测试dm激励处理模块向ddr控制器发送目标写指令,包括:
所述测试dm激励处理模块根据利用系统axi总线将所述目标写指令发送至所述ddr控制器;
或,所述测试dm激励处理模块根据利用标准ahb总线将所述目标写指令发送至所述ddr控制器。
可选的,测试dm激励处理模块所述测试位数确定多个目标写指令,包括:
所述测试dm激励处理模块根据所述测试位数得到写命令,根据所述写命令产生与所述系统axi总线对应的写激励,根据所述写激励得到多个所述目标写指令;
或,所述测试dm激励处理模块根据所述测试位数得到写命令,根据所述写命令产生与所述标准ahb总线对应的写激励,根据所述写激励得到多个所述目标写指令;
对应的,所述测试dm激励处理模块向所述ddr控制器发送目标读指令,包括:
所述测试dm激励处理模块根据所述测试位数得到读命令,根据所述读命令产生与所述系统axi总线对应的读激励,根据所述读激励得到所述目标读指令;
或,所述测试dm激励处理模块根据所述测试位数得到读命令,根据所述读命令产生与所述标准ahb总线对应的读激励,根据所述读激励得到所述目标读指令。
可选的,所述寄存器模块根据所述最终比较结果确定测试结果之后,还包括:
所述寄存器模块清除所有测试数据。
本申请提供一种检测装置,包括:
寄存器模块,用于接收检测指令,并根据所述检测指令开启环回测试,确定测试位数;用于根据最终比较结果确定测试结果;
测试dm激励处理模块,用于所述测试dm激励处理模块向ddr控制器发送所述目标写指令,以便将与所述目标写指令对应的目标数据存储在ddr颗粒的目标地址中,所述测试dm激励处理模块向所述ddr控制器发送目标读指令,以便所述ddr控制器根据目标读指令从所述ddr颗粒中的所述目标地址中得到读数据,获取所述ddr控制器发送的所述读数据,将所述目标数据与所述读数据进行比较,得到比较结果,若所述比较结果是比较成功,则向所述ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果。
可选的,还包括:
Axi或ahb总线对接处理模块,用于访问所述ddr控制器。
本申请提供一种SOC芯片,包括如上述的检测装置、ddr控制器。
本申请提供一种检测方法,包括:寄存器模块接收检测指令,并根据检测指令开启环回测试,确定测试位数;测试dm激励处理模块根据测试位数确定多个目标写指令;测试dm激励处理模块向ddr控制器发送目标写指令,以便将与目标写指令对应的目标数据存储在ddr颗粒的目标地址中,测试dm激励处理模块向ddr控制器发送目标读指令,以便ddr控制器根据目标读指令从ddr颗粒中的目标地址中得到读数据,获取ddr控制器发送的读数据,将目标数据与读数据进行比较,得到比较结果,若比较结果是比较成功,则向ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果;寄存器模块根据最终比较结果确定测试结果。
可见,本申请通过配置寄存器模块启动环回测试,测试完成后再通过寄存器模块得到测试结果,测试dm激励处理模块实现与的ddr控制器的交互,以便实现测试dm激励处理模块与ddr颗粒完成读写对比,得到最终比较结果,以便完成对ddr颗粒的数据掩码信号线(dm信号线)的测试,整个测试过程不需要其他的辅助设备如示波器等,简化的测试过程,并且,针对相关的ddr phy内读通道无dm通路时,可以实现覆盖dm信号线的测试,能够简化测试过程,提高ddr数据掩码信号线测试效率。本申请同时还提供了一种检测装置和SOC芯片,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种检测方法的流程图;
图2为本申请实施例提供的一种检测装置的结构示意图;
图3为本申请实施例提供的另一种检测装置的结构示意图;
图4为本申请实施例提供的一种SOC芯片的结构示意图;
图5为本申请实施例提供的另一种SOC芯片的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术是通过软件辅助loopback来完成芯片测试的任务,在通过初始化ddr后,利用软件通过特定激励访问ddr颗粒,通过读写对比的结果来完成dm信号线的测试,但是整个过程依靠软件执行,测试时间长,进而导致测试效率低。为解决上述技术问题,本实施例提供一种检测方法,能够简化测试过程,提高ddr数据掩码信号线测试效率,请参考图1,图1为本申请实施例所提供的一种检测方法的流程图,包括:
S110、寄存器模块接收检测指令,并根据检测指令开启环回测试,确定测试位数。
寄存器模块通过系统apb总线或者debug口来接收应用端发送的检测指令后,开启环回测试。可以理解的是,检测指令中包括对应的寄存器模块的配置信息,通过利用配置信息配置寄存器模块实现开启环回测试,配置启动测试位数,确定得到测试位数,其中测试位数可以是32bit或者64bit或者128bit或者256bit。
其中,系统apb总线(Advanced Peripheral Bus,外围总线):APB主要用于低带宽的周边外设之间的连接,无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。其中,debug具体配置形式包括但不限于通过uart,spi与jtag接口方式。可知,本实施例中无需采用其他辅助设备,如示波器等设备,简化了测试过程,进一步的提高了测试效率。
S120、测试dm激励处理模块根据测试位数确定多个目标写指令。
测试dm激励处理模块能够产生写激励,进而将写激励转化为标准的写访问,而生成对应的目标写指令,可以理解的是,目标写指令包括目标数据、目标地址,不同的测试位数,得到的目标写指令的数量不同,目标指令不同。
S130、测试dm激励处理模块向ddr控制器发送目标写指令,以便将与目标写指令对应的目标数据存储在ddr颗粒的目标地址中,测试dm激励处理模块向ddr控制器发送目标读指令,以便ddr控制器根据目标读指令从ddr颗粒中的目标地址中得到读数据,获取ddr控制器发送的读数据,将目标数据与读数据进行比较,得到比较结果,若比较结果是比较成功,则向ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果。
可以理解的是测试dm激励处理模块的主频率与ddr控制器频率相同,因此,完成一次测试的时间短,测试效率高。测试dm激励处理模块通过ddr控制器实现与ddr颗粒的交互。本实施例中不对ddr颗粒进行限定,可以是ddr1、ddr2、ddr3中的任意一种。
测试dm激励处理模块向ddr控制器发送目标写指令,ddr控制器将该目标写指令发送至ddr颗粒,ddr颗粒根据目标写指令将对应的目标数据存储在目标地址中。测试dm激励处理模块向ddr控制器发送目标读指令,ddr控制器将目标读指令转发至ddr颗粒,ddr颗粒根据目标读指令将目标地址中的读数据发送至ddr控制器,ddr控制器将读数据发送至测试dm激励处理模块,测试dm激励处理模块获取读数据。测试dm激励处理模块将目标数据与读数据进行比较,得到比较结果。若比较结果是比较失败时,则得到最终比较结果即测试失败。若比较结果是比较成功时,则向ddr控制器发送下一个目标写指令,直至完成所有的测试,得到最终比较结果。
S140、寄存器模块根据最终比较结果确定测试结果。
最终比较结果是比较成功或者比较失败,当比较结果是比较成功时,此时测试结果是测试成功,当比较结果是比较失败时,此时测试结果是测试失败,此时寄存器模块存储状态位的形式保存测试结果,例如,测试成功时状态位是1,测试失败时状态位是0。进一步的,与寄存器模块连接的应用端,可以通过系统apb总线或者debug口来得到测试结果,本实施例不对应用端进行限定,可以是计算机可以是应用机,只要是能够实现本实施例的目的即可。
基于上述技术方案,本实施例通过配置寄存器模块启动环回测试,测试完成后再通过寄存器模块得到测试结果,测试dm激励处理模块实现与的ddr控制器的交互,以便实现测试dm激励处理模块与ddr颗粒完成读写对比,得到最终比较结果,以便完成对ddr颗粒的数据掩码信号线(dm信号线)的测试,整个测试过程不需要其他的辅助设备如示波器等,简化的测试过程,并且,针对相关的ddr phy内读通道无dm通路时,可以实现覆盖dm信号线的测试,能够简化测试过程,提高ddr数据掩码信号线测试效率。
在一种可实现的实施方式中,针对S120进行进一步阐述,S120具体包括:
步骤121、测试dm激励处理模块向ddr控制器发送无掩码写数据指令,以便将与无掩码写数据指令对应的无掩码数据存储在ddr颗粒中的目标地址,向ddr控制器发送读指令,以便ddr控制器根据读指令从ddr颗粒中的目标地址中得到读无掩码数据,获取ddr控制器发送的读无掩码数据。
具体的,测试dm激励处理模块产生的第一写激励,第一写激励对应无掩码写数据指令,其中,无掩码写数据指令包括在ddr颗粒的存储空间addr即目标地址中无掩码的写目标数据,例如,目标数据为32’h55555555;向ddr控制器发送读指令,以便ddr控制器根据读指令从ddr颗粒中的目标地址中得到读无掩码数据,获取ddr控制器发送的读无掩码数据;将无掩码数据与读无掩码数据进行比较,得到第一比较结果,若第一比较结果是比较失败,则测试结束,最终比较结果确定为测试失败。若第一比较结果是比较成功,则至少证明dm通路的dm3~0无掩码功能是正确的,除非dm通路的dm3~0被固定掩码状态。
进一步的,测试dm激励处理模块向ddr控制器发送目标写指令之前,还包括:测试dm激励处理模块向ddr控制器发送无掩码写参考指令,以便将与无掩码写参考指令对应的参考数据存储在ddr颗粒中的目标地址,向ddr控制器发送无掩码读参考指令,以便ddr控制器根据无掩码读参考指令从ddr颗粒中的目标地址中得到读参考数据,获取ddr控制器发送的读参考数据,将参考数据与读参考数据进行比较,得到第三比较结果,若第三比较结果是比较成功时,则执行向ddr控制器发送无掩码写数据指令的步骤。
具体的,测试dm激励处理模块向ddr控制器发送无掩码写参考指令,其中,无掩码写参考指令是无掩码的在ddr颗粒的目标地址写入参考数据。ddr控制器接收到无掩码写参考指令,并转发至ddr颗粒,ddr颗粒根据无掩码写参考指令将参考数据写入目标地址中,向ddr控制器发送无掩码读参考指令,以便ddr控制器根据无掩码读参考指令从ddr颗粒中的目标地址中得到读参考数据;测试dm激励处理模块获取读参考数据,具体可以包括测试dm激励处理模块发送无掩码读参考指令至ddr控制器,ddr控制器转发至ddr颗粒,ddr颗粒根据无掩码读参考指令中的目标地址读取到读参考数据,并发送至ddr控制器,ddr控制器转发至测试dm激励处理模块。测试dm激励处理模块将参考数据与读参考数据进行比较,得到第三比较结果。若第三比较结果是比较失败,则测试结束,最终比较结果确定为测试失败。若第三比较结果是比较成功,则可执行步骤121。本步骤的目的是为了保证在执行步骤121时,确定无掩码数据写入至ddr颗粒中的目标地址中。例如,测试dm激励处理模块产生参考写激励,参考写激励对应无掩码写参考指令,无掩码的写参考数据32’h00000000至ddr颗粒中的目标地址;读ddr颗粒中的目标地址的读参考数据回来进行对比;若第三比较结果是比较失败,则测试结束,最终比较结果确定为测试失败。若第三比较结果是比较成功则执行步骤S121。此处用于将目标地址中的数据写为32’h0,当后面再写对此地址写32’h55555555时就可以确定数据是否写进该目标地址了,如果没有此步,目标地址中数据本来就是32’h55555555,那么对目标地址写32’h55555555,就不能确定是否写进去。
步骤122、若第一比较结果是比较失败,则最终比较结果确定为比较失败。
步骤123、若第一比较结果是比较成功,则向ddr控制器发送第0byte有效写指令,以便将与第0byte有效写指令对应的第0byte数据存储在ddr颗粒中的目标地址,向ddr控制器发送byte读指令,以便ddr控制器根据byte读指令从ddr颗粒中的目标地址中得到读第0byte有效数据、其他byte实际数据,获取ddr控制器发送的读第0byte有效数据、其他byte实际数据,将第0byte有效数据与读第0byte有效数据进行比较,且将其他byte实际数据与对应的标准byte数据进行比较,得到第二比较结果。
测试dm激励处理模块构造dm激励使得只对目标地址写数据,得到对应的第0byte有效写指令,其中,第0byte有效写指令是通过测试dm激励处理模块写数据仅第0byte即[7:0]bit位有效,即对第0byte无掩码的写入,对其他byte数据有掩码的写,其中,所有写入的byte数据均与当前目标地址中对应的数据不同,优选的,所有byte数据相同。例如,针对测试位数可以是32bit,写进的第0byte有效数据为8’h5a,第1~3byte写的值为8’h5a,向ddr控制器发送byte读指令,ddr控制器根据byte读指令从ddr颗粒中的目标地址中得到读第0byte有效数据、其他byte实际数据,其中,其他byte实际数据包括第1byte实际数据、第2byte实际数据、第3byte实际数据。将第0byte有效数据与读第0byte有效数据进行比较,且将其他byte实际数据与对应的标准byte数据进行比较,得到第二比较结果,此时,当读第0byte有效数据与第0byte数据一致,且其他byte实际数据与对应的标准byte数据一致时,则第二比较结果是比较成功,否则,比较失败。例如,当第0byte有效数据为8’h5a,读第0byte有效数据为8’h5a,他byte实际数据为8’h55,标准byte数据为8’h55,其中对应的标准byte数据是当第一比较结果是比较成功时,对应的读无掩码数据中的对应byte数据。若第二比较结果是比较失败,则测试结束,最终比较结果确定为测试失败。若第二比较结果是比较成功则执行步骤S125。本步骤证明了dm通路的dm0无掩码功能正确,dm1~3掩码功能正确,排除dm0接错到dm1~3以及dm1~3固定为非掩码状态的情况。
步骤124、若第二比较结果是比较失败,则最终比较结果是比较失败。
步骤125、若第二比较结果是比较成功,则向ddr控制器发送下一个byte有效写指令直至得到最终比较结果。
若第二比较结果是比较成功,则向ddr控制器发送下一个byte有效写指令直至得到最终比较结果。具体的,针对32bit,再依次执行第1byte有效写指令、第2byte有效写指令、第3byte有效写指令,完成测试。
具体的,测试dm激励处理模块构造dm激励使得只对目标地址写数据,得到对应的第1byte有效写指令,其中第1byte有效写指令是通过测试dm激励处理模块写数据仅第1byte位有效即无掩码的写,其他byte有掩码的写,其中,所有写入的byte数据均与当前目标地址中对应的数据不同,优选的,第1-3byte数据相同,第0byte数据与第1-3byte数据互斥,例如,写进的第1-3byte数据为8’h5a,第0byte数据写的值为8’ha5,读目标地址的值得到读第1byte有效数据和其他byte实际数据,将读第1byte有效数据与第1byte数据比较、其他byte实际数据与对应的标准byte数据进行比较,得到第四比较结果,得到第四比较结果。若读第1byte有效数据与第1byte数据一致,且其他byte实际数据与对应的标准byte数据一致,则第四比较结果是比较成功,否则为比较失败。若第四比较结果是比较失败,则测试结束,最终比较结果确定为测试失败。若第四比较结果是比较成功则执行第2byte有效写指令。此时,证明dm1无掩码功能正确,dm0、dm2~3掩码可以;排除dm1接错到dm0、2~3以及dm0、2~3固定为非掩码状态。
测试dm激励处理模块构造dm激励使得只对目标地址写数据,得到对应的第2byte有效写指令,其中第2byte有效写指令是通过测试dm激励处理模块写数据仅第2byte位有效即无掩码的写,其他byte有掩码的写,其中,所有写入的byte数据均与当前目标地址中对应的数据不同,优选的,第2-3byte数据相同,第0-1byte数据与第2-3byte数据互斥,例如,写进的第2-3byte数据为8’h5a,第0-1byte数据写的值为8’ha5,读目标地址的值得到读第2byte有效数据和其他byte实际数据,将读第2byte有效数据与第2byte数据比较、其他byte实际数据与对应的标准byte数据进行比较,得到第五比较结果,得到第五比较结果。若读第2byte有效数据与第2byte数据一致,且其他byte实际数据与对应的标准byte数据一致,则第五比较结果是比较成功,否则为比较失败。若第五比较结果是比较失败,则测试结束,最终比较结果确定为测试失败。若第五比较结果是比较成功则执行第3byte有效写指令。此时,证明dm2无掩码功能正确,dm0-1、dm3掩码可以;排除dm2接错到dm0-1、3以及dm0-1、3固定为非掩码状态。
测试dm激励处理模块构造dm激励使得只对目标地址写数据,得到对应的第3byte有效写指令,其中第3byte有效写指令是通过测试dm激励处理模块写数据仅第3byte位有效即无掩码的写,其他byte有掩码的写,其中,所有写入的byte数据均与当前目标地址中对应的数据不同,优选的,第0-2byte数据与第3byte数据互斥,例如,写进的第3byte数据为8’h5a,第0-2byte数据写的值为8’ha5,读目标地址的值得到读第3byte有效数据和其他byte实际数据,将读第3byte有效数据与第3byte数据比较、其他byte实际数据与对应的标准byte数据进行比较,得到第六比较结果,得到第六比较结果。若读第3byte有效数据与第3byte数据一致,且其他byte实际数据与对应的标准byte数据一致,则第六比较结果是比较成功,否则为比较失败。若第六比较结果是比较失败,则测试结束,最终比较结果确定为测试失败。若第六比较结果是比较成功则执行第3byte有效写指令。此时,证明dm3无掩码功能正确,dm0-2掩码可以;排除dm3接错到dm0-2以及dm0-2固定为非掩码状态。
以上构造的数据也可以是其它式样,其中,8’h5a与8’ha5代表bit位值互斥的特性,构造其它式样时保持该特性。通过以上方法可以检测dm线封装是否存在虚焊,漏焊,搭锡,短路以及ddr phy内dm是否存在错误,方法简单,测试效率高。可以理解的是,针对dp位宽为64bit时,可以执行第0byte有效写指令、第1byte有效写指令、第2byte有效写指令、第3byte有效写指令、第4byte有效写指令、第5byte有效写指令、第6byte有效写指令、第7byte有效写指令,具体的过程,请参考上述方式,本实施例不再进行赘述。
进一步的,测试dm激励处理模块向ddr控制器发送目标写指令,包括:测试dm激励处理模块根据利用系统axi总线将目标写指令发送至ddr控制器;或,测试dm激励处理模块根据利用标准ahb总线将目标写指令发送至ddr控制器。其中,系统axi总线是一种基于burst的传输总线,高性能、高带宽、低延迟,系统axi总线能够使SOC以更小的面积、更低的功耗,获得更加优异的性能。其中,标准ahb总线(Advanced High Performance Bus,高级高性能总线)作为SoC的片上系统总线,控制逻辑简单。
进一步的,测试dm激励处理模块测试位数确定多个目标写指令,包括:测试dm激励处理模块根据测试位数得到写命令,根据写命令产生与系统axi总线对应的写激励,根据写激励得到多个目标写指令;或,测试dm激励处理模块根据测试位数得到写命令,根据写命令产生与标准ahb总线对应的写激励,根据写激励得到多个目标写指令;对应的,测试dm激励处理模块向ddr控制器发送目标读指令,包括:测试dm激励处理模块根据测试位数得到读命令,根据读命令产生与系统axi总线对应的读激励,根据读激励得到目标读指令;或,测试dm激励处理模块根据测试位数得到读命令,根据读命令产生与标准ahb总线对应的读激励,根据读激励得到目标读指令。
进一步的,寄存器模块根据最终比较结果确定测试结果之后,还包括:寄存器模块清除所有测试数据。即测试结束后清除寄存器模块中的启动测试bit位。
下面对本申请实施例提供的一种检测装置进行介绍,下文描述的检测装置与上文描述的检测方法可相互对应参照,请参考图2,图2为本申请实施例提供的一种检测装置200的结构示意图,包括:
寄存器模块210,用于接收检测指令,并根据检测指令开启环回测试,确定测试位数;用于根据最终比较结果确定测试结果;
测试dm激励处理模块220,用于根据测试位数确定多个目标写指令;向ddr控制器发送目标写指令,以便将与目标写指令对应的目标数据存储在ddr颗粒的目标地址中,测试dm激励处理模块向ddr控制器发送目标读指令,以便ddr控制器根据目标读指令从ddr颗粒中的目标地址中得到读数据,获取ddr控制器发送的读数据,将目标数据与读数据进行比较,得到比较结果,若比较结果是比较成功,则向ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果。
进一步的,测试dm激励处理模块,还用于:
测试dm激励处理模块向ddr控制器发送无掩码写数据指令,以便将与无掩码写数据指令对应的无掩码数据存储在ddr颗粒中的目标地址,向ddr控制器发送读指令,以便ddr控制器根据读指令从ddr颗粒中的目标地址中得到读无掩码数据,获取ddr控制器发送的读无掩码数据;
将无掩码数据与读无掩码数据进行比较,得到第一比较结果;
若第一比较结果是比较失败,则最终比较结果确定为比较失败;
若第一比较结果是比较成功,则向ddr控制器发送第0byte有效写指令,以便将与第0byte有效写指令对应的第0byte数据存储在ddr颗粒中的目标地址,向ddr控制器发送byte读指令,以便ddr控制器根据byte读指令从ddr颗粒中的目标地址中得到读第0byte有效数据、其他byte实际数据;获取ddr控制器发送的读第0byte有效数据、其他byte实际数据,将第0byte有效数据与读第0byte有效数据进行比较,且将其他byte实际数据与对应的标准byte数据进行比较,得到第二比较结果;
若第二比较结果是比较失败,则最终比较结果是比较失败;
若第二比较结果是比较成功,则向ddr控制器发送下一个byte有效写指令直至得到最终比较结果。
进一步的,测试dm激励处理模块,还用于:
测试dm激励处理模块向ddr控制器发送无掩码写参考指令,以便将与无掩码写参考指令对应的参考数据存储在ddr颗粒中的目标地址;
向ddr控制器发送无掩码读参考指令,以便ddr控制器根据无掩码读参考指令从ddr颗粒中的目标地址中得到读参考数据,获取ddr控制器发送的读参考数据,将参考数据与读参考数据进行比较,得到第三比较结果;
若第三比较结果是比较成功时,则执行向ddr控制器发送无掩码写数据指令的步骤。
进一步的,寄存器模块,还用于:
利用系统apb总线接收应用端发送的检测指令;
或,利用debug口接收应用端发送的检测指令。
进一步的,测试dm激励处理模块,还用于:
测试dm激励处理模块根据利用系统axi总线将目标写指令发送至ddr控制器;
或,测试dm激励处理模块根据利用标准ahb总线将目标写指令发送至ddr控制器。
进一步的,测试dm激励处理模块,还用于:根据测试位数得到写命令,根据写命令产生与系统axi总线对应的写激励,根据写激励得到多个目标写指令;
或,测试dm激励处理模块根据测试位数得到写命令,根据写命令产生与标准ahb总线对应的写激励,根据写激励得到多个目标写指令;
对应的,测试dm激励处理模块向ddr控制器发送目标读指令,包括:
测试dm激励处理模块根据测试位数得到读命令,根据读命令产生与系统axi总线对应的读激励,根据读激励得到目标读指令;
或,测试dm激励处理模块根据测试位数得到读命令,根据读命令产生与标准ahb总线对应的读激励,根据读激励得到目标读指令。
进一步的,寄存器模块还用于,清除所有测试数据。
在另一种可实现的实时方式中,请参考图3,图3为本申请实施例提供的一种检测装置的结构示意图,还包括:Axi或ahb总线对接处理模块230,用于访问ddr控制器。
由于检测装置部分的实施例与检测方法部分的实施例相互对应,因此检测装置部分的实施例请参见检测方法部分的实施例的描述,这里暂不赘述。
下面对本申请实施例提供的一种SOC芯片进行介绍,下文描述的SOC芯片与上文描述的检测装置可相互对应参照,请参考图4,图4为本申请实施例提供的一种SOC芯片的结构示意图,包括如上述的检测装置200、ddr控制器100。
请参考图5,图5为本申请实施例提供的另一种SOC芯片的结构示意图,该SOC芯片还可以包括系统apb总线400、debug口500、系统axi总线300。
由于SOC芯片部分的实施例与检测装置部分的实施例相互对应,因此SOC芯片部分的实施例请参见检测装置部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种检测方法、检测装置和SOC芯片进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (9)

1.一种检测方法,其特征在于,包括:
寄存器模块接收检测指令,并根据所述检测指令开启环回测试,确定测试位数;
测试dm激励处理模块根据所述测试位数确定多个目标写指令;
所述测试dm激励处理模块向ddr控制器发送所述目标写指令,以便将与所述目标写指令对应的目标数据存储在ddr颗粒的目标地址中,所述测试dm激励处理模块向所述ddr控制器发送目标读指令,以便所述ddr控制器根据目标读指令从所述ddr颗粒中的所述目标地址中得到读数据,获取所述ddr控制器发送的所述读数据,将所述目标数据与所述读数据进行比较,得到比较结果,若所述比较结果是比较成功,则向所述ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果;
所述寄存器模块根据所述最终比较结果确定测试结果;
其中,寄存器模块接收检测指令,包括:利用系统apb总线接收应用端发送的所述检测指令;或,利用debug口接收所述应用端发送的所述检测指令。
2.根据权利要求1所述的检测方法,其特征在于,所述测试dm激励处理模块向ddr控制器发送所述目标写指令,以便将与所述目标写指令对应的目标数据存储在ddr颗粒的目标地址中,所述测试dm激励处理模块向所述ddr控制器发送目标读指令,以便所述ddr控制器根据目标读指令从所述ddr颗粒中的所述目标地址中得到读数据,获取所述ddr控制器发送的所述读数据,将所述目标数据与所述读数据进行比较,得到比较结果,若所述比较结果是比较成功,则向所述ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果,包括:
所述测试dm激励处理模块向所述ddr控制器发送无掩码写数据指令,以便将与所述无掩码写数据指令对应的无掩码数据存储在所述ddr颗粒中的所述目标地址,向所述ddr控制器发送读指令,以便所述ddr控制器根据所述读指令从所述ddr颗粒中的所述目标地址中得到读无掩码数据,获取所述ddr控制器发送的所述读无掩码数据;
将所述无掩码数据与所述读无掩码数据进行比较,得到第一比较结果;
若所述第一比较结果是比较失败,则所述最终比较结果确定为比较失败;
若所述第一比较结果是比较成功,则向所述ddr控制器发送第0byte有效写指令,以便将与所述第0byte有效写指令对应的第0byte数据存储在所述ddr颗粒中的所述目标地址,向所述ddr控制器发送byte读指令,以便所述ddr控制器根据所述byte读指令从所述ddr颗粒中的所述目标地址中得到读第0byte有效数据、其他byte实际数据,获取所述ddr控制器发送的所述读第0byte有效数据、所述其他byte实际数据,将所述第0byte有效数据与所述读第0byte有效数据进行比较,且将所述其他byte实际数据与对应的标准byte数据进行比较,得到第二比较结果;
若所述第二比较结果是比较失败,则所述最终比较结果是比较失败;
若所述第二比较结果是比较成功,则向所述ddr控制器发送下一个byte有效写指令直至得到所述最终比较结果。
3.根据权利要求2所述的检测方法,其特征在于,所述测试dm激励处理模块向ddr控制器发送所述目标写指令之前,还包括:
所述测试dm激励处理模块向所述ddr控制器发送无掩码写参考指令,以便将与所述无掩码写参考指令对应的参考数据存储在所述ddr颗粒中的所述目标地址;
向所述ddr控制器发送无掩码读参考指令,以便所述ddr控制器根据所述无掩码读参考指令从所述ddr颗粒中的所述目标地址中得到读参考数据;获取所述ddr控制器发送的所述读参考数据,将所述参考数据与所述读参考数据进行比较,得到第三比较结果;
若所述第三比较结果是比较成功时,则执行所述向所述ddr控制器发送无掩码写数据指令的步骤。
4.根据权利要求1所述的检测方法,其特征在于,所述测试dm激励处理模块向ddr控制器发送目标写指令,包括:
所述测试dm激励处理模块根据利用系统axi总线将所述目标写指令发送至所述ddr控制器;
或,所述测试dm激励处理模块根据利用标准ahb总线将所述目标写指令发送至所述ddr控制器。
5.根据权利要求4所述的检测方法,其特征在于,测试dm激励处理模块所述测试位数确定多个目标写指令,包括:
所述测试dm激励处理模块根据所述测试位数得到写命令,根据所述写命令产生与所述系统axi总线对应的写激励,根据所述写激励得到多个所述目标写指令;
或,所述测试dm激励处理模块根据所述测试位数得到写命令,根据所述写命令产生与所述标准ahb总线对应的写激励,根据所述写激励得到多个所述目标写指令;
对应的,所述测试dm激励处理模块向所述ddr控制器发送目标读指令,包括:
所述测试dm激励处理模块根据所述测试位数得到读命令,根据所述读命令产生与所述系统axi总线对应的读激励,根据所述读激励得到所述目标读指令;
或,所述测试dm激励处理模块根据所述测试位数得到读命令,根据所述读命令产生与所述标准ahb总线对应的读激励,根据所述读激励得到所述目标读指令。
6.根据权利要求1至5任一项所述的检测方法,其特征在于,所述寄存器模块根据所述最终比较结果确定测试结果之后,还包括:
所述寄存器模块清除所有测试数据。
7.一种检测装置,其特征在于,包括:
寄存器模块,用于接收检测指令,并根据所述检测指令开启环回测试,确定测试位数;用于根据最终比较结果确定测试结果;
测试dm激励处理模块,用于根据所述测试位数确定多个目标写指令,向ddr控制器发送所述目标写指令,以便将与所述目标写指令对应的目标数据存储在ddr颗粒的目标地址中,所述测试dm激励处理模块向所述ddr控制器发送目标读指令,以便所述ddr控制器根据目标读指令从所述ddr颗粒中的所述目标地址中得到读数据,获取所述ddr控制器发送的所述读数据,将所述目标数据与所述读数据进行比较,得到比较结果,若所述比较结果是比较成功,则向所述ddr控制器发送下一个目标写指令直至完成所有的测试,得到最终比较结果;
其中,所述寄存器模块,具体用于利用系统apb总线接收应用端发送的所述检测指令;或,利用debug口接收所述应用端发送的所述检测指令。
8.根据权利要求7所述的检测装置,其特征在于,还包括:
Axi或ahb总线对接处理模块,用于访问所述ddr控制器。
9.一种SOC芯片,其特征在于,包括如权利要求7或8所述的检测装置、ddr控制器。
CN201911038091.7A 2019-10-29 2019-10-29 一种检测方法、装置和soc芯片 Active CN110750406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911038091.7A CN110750406B (zh) 2019-10-29 2019-10-29 一种检测方法、装置和soc芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911038091.7A CN110750406B (zh) 2019-10-29 2019-10-29 一种检测方法、装置和soc芯片

Publications (2)

Publication Number Publication Date
CN110750406A CN110750406A (zh) 2020-02-04
CN110750406B true CN110750406B (zh) 2023-10-31

Family

ID=69280845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911038091.7A Active CN110750406B (zh) 2019-10-29 2019-10-29 一种检测方法、装置和soc芯片

Country Status (1)

Country Link
CN (1) CN110750406B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112363875B (zh) * 2020-10-21 2023-04-07 海光信息技术股份有限公司 一种系统缺陷检测方法、设备、电子设备和存储介质
CN116597886B (zh) * 2023-07-18 2023-10-24 深圳中安辰鸿技术有限公司 对npu中的lsu进行验证的方法及相关设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793175B1 (en) * 2007-01-10 2010-09-07 Marvell International Ltd. Automated scan testing of DDR SDRAM
WO2014205590A1 (en) * 2013-06-24 2014-12-31 Micron Technology, Inc. Circuits, apparatuses, and methods for correcting data errors
CN107239374A (zh) * 2017-06-06 2017-10-10 烽火通信科技股份有限公司 基于fpga实现ddr接口自动化读写测试的装置及方法
CN107820606A (zh) * 2015-06-30 2018-03-20 高通股份有限公司 低功率存储器子系统中的存储器阵列和链路纠错
CN109643257A (zh) * 2016-08-26 2019-04-16 高通股份有限公司 存储器系统中的链路纠错
CN110083502A (zh) * 2018-01-26 2019-08-02 三星电子株式会社 用于实时地监测存储器模块的信息的方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7325178B2 (en) * 2003-12-05 2008-01-29 Texas Instruments Incorporated Programmable built in self test of memory
US8619452B2 (en) * 2005-09-02 2013-12-31 Google Inc. Methods and apparatus of stacking DRAMs
US8902693B2 (en) * 2013-04-25 2014-12-02 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for per-bit de-skew for datamask in a double data-rate memory device interface
US10580476B2 (en) * 2018-01-11 2020-03-03 International Business Machines Corporation Simulating a single data rate (SDR) mode on a dual data rate (DDR) memory controller for calibrating DDR memory coarse alignment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793175B1 (en) * 2007-01-10 2010-09-07 Marvell International Ltd. Automated scan testing of DDR SDRAM
WO2014205590A1 (en) * 2013-06-24 2014-12-31 Micron Technology, Inc. Circuits, apparatuses, and methods for correcting data errors
CN107820606A (zh) * 2015-06-30 2018-03-20 高通股份有限公司 低功率存储器子系统中的存储器阵列和链路纠错
CN109643257A (zh) * 2016-08-26 2019-04-16 高通股份有限公司 存储器系统中的链路纠错
CN107239374A (zh) * 2017-06-06 2017-10-10 烽火通信科技股份有限公司 基于fpga实现ddr接口自动化读写测试的装置及方法
CN110083502A (zh) * 2018-01-26 2019-08-02 三星电子株式会社 用于实时地监测存储器模块的信息的方法和系统

Also Published As

Publication number Publication date
CN110750406A (zh) 2020-02-04

Similar Documents

Publication Publication Date Title
CN109918303B (zh) 一种芯片、芯片调试方法及装置、设备、介质
CN110362512B (zh) 一种面向sca和sdr的快速系统重构方法
EP3965110A1 (en) Circuit and method for capturing and transporting data errors
US5925141A (en) Semiconductor memory device with data scramble circuit
US7911861B2 (en) Semiconductor memory device and method of testing semiconductor memory device
CN110750406B (zh) 一种检测方法、装置和soc芯片
JP2001508223A (ja) メモリ素子のための高速テストシステム
JP2002538464A (ja) 既知の良品デバイスを使用して期待する応答を生成するための集積回路デバイスの効率的な同時テスト
US20050138302A1 (en) Method and apparatus for logic analyzer observability of buffered memory module links
JPH10283274A (ja) メモリをテストするための方法および装置
US20130151796A1 (en) System and method for calibration of serial links using a serial-to-parallel loopback
TW201137604A (en) Multi-site testing of computer memory devices and serial IO ports
US7596730B2 (en) Test method, test system and assist board
US20020162055A1 (en) Trace circuit
US7765442B2 (en) Memory device testable without using data and dataless test method
US20080100335A1 (en) Apparatus and method for determining on die termination modes in memory device
US20030198185A1 (en) Use of SMBus to provide JTAG support
CN109690511B (zh) 总线控制电路、半导体集成电路、电路基板、信息处理装置以及总线控制方法
CN115016997B (zh) 慢时钟域lockstep模块中寄存器的快速诊断系统及方法
US9036718B2 (en) Low speed access to DRAM
CN109522194B (zh) 针对axi协议从设备接口的自动化压力测试系统及方法
JP2001184225A (ja) エミュレータ及びエミュレート方法
US5673419A (en) Parity bit emulator with write parity bit checking
CN110737552A (zh) 一种基于fpga的sfc接口测试设备与方法
CN104572515B (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