CN111627490A - 同步动态随机存储器测试方法和装置 - Google Patents
同步动态随机存储器测试方法和装置 Download PDFInfo
- Publication number
- CN111627490A CN111627490A CN202010444208.8A CN202010444208A CN111627490A CN 111627490 A CN111627490 A CN 111627490A CN 202010444208 A CN202010444208 A CN 202010444208A CN 111627490 A CN111627490 A CN 111627490A
- Authority
- CN
- China
- Prior art keywords
- data
- test
- result
- sdram
- test data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明公开了一种同步动态随机存储器测试方法和装置。其中,该方法包括:获取预配置的第一测试数据,其中,第一测试数据用于测试同步动态随机存储器SDRAM是否存在连线故障,第一测试数据包括多条测试数据;将第一测试数据写入到SDRAM中,得到第一写入结果;在读取一条第一写入结果,得到一条第一读取结果之后,比对第一读取结果与第一预定输出结果,得到第一统计数据;在第一统计数据大于第一预定阈值的情况下,确定SDRAM出现连线故障。本发明解决了测试SDRAM准确度差的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种同步动态随机存储器测试方法和装置。
背景技术
现有技术中,在测试同步动态随机存储器SDRAM的过程中,通常是写入一个数据后,立即读出该数据,从而测试SDRAM是否有故障。
然而,上述测试方法由于需要每写入一个数据后立即读取该数据,因此,无法准确测试出SDRAM是否存在连接线故障。也就是说,现有的测试SDRAM的方法对SDRAM的测试准确度差。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种同步动态随机存储器测试方法和装置,以至少解决测试SDRAM准确度差的技术问题。
根据本发明实施例的一个方面,提供了一种同步动态随机存储器测试方法,包括:获取预配置的第一测试数据,其中,所述第一测试数据用于测试同步动态随机存储器SDRAM是否存在连线故障,所述第一测试数据包括多条测试数据;将所述第一测试数据写入到所述SDRAM中,得到第一写入结果;在读取一条所述第一写入结果,得到一条第一读取结果之后,比对所述第一读取结果与第一预定输出结果,得到第一统计数据,其中,所述第一预定输出结果为配置的数据,一条所述第一测试数据对应一条所述第一写入结果,一条所述第一写入结果对应一条所述第一读取结果;在所述第一统计数据大于第一预定阈值的情况下,确定所述SDRAM出现所述连线故障。
根据本发明实施例的另一方面,还提供了一种同步动态随机存储器测试装置,包括:第一获取单元,用于获取预配置的第一测试数据,其中,所述第一测试数据用于测试同步动态随机存储器SDRAM是否存在连线故障,所述第一测试数据包括多条测试数据;第一写入单元,用于将所述第一测试数据写入到所述SDRAM中,得到第一写入结果;第一比对单元,用于在读取一条所述第一写入结果,得到一条第一读取结果之后,比对所述第一读取结果与第一预定输出结果,得到第一统计数据,其中,所述第一预定输出结果为配置的数据,一条所述第一测试数据对应一条所述第一写入结果,一条所述第一写入结果对应一条所述第一读取结果;第一确定单元,用于在所述第一统计数据大于第一预定阈值的情况下,确定所述 SDRAM出现所述连线故障。
作为一种可选的实施方式,上述装置还包括:第一记录单元,用于在确定所述SDRAM出现所述连线故障之前,在写入所述第一测试数据时,记录写入时长;第二记录单元,用于在读取所述第一写入结果时,记录读取时长;第二确定单元,用于在所述写入时长大于预定时长,或者在所述读取时长大于所述预定时长的情况下,结束测试,并确定所述SDRAM出现超时故障。
作为一种可选的实施方式,上述装置还包括:第二获取单元,用于在比对所述第一读取结果与所述第一预定输出结果,得到所述第一统计数据之后,在所述第一统计数据小于或等于所述预定阈值的情况下,在确定所述SDRAM未出现所述连线故障的情况下,获取第二测试数据,其中,所述第二测试数据用于测试所述SDRAM是否存在串扰故障,所述第二测试数据包括多条测试数据;第二写入单元,用于将所述第二测试数据写入到所述SDRAM中,得到第二写入结果;第二比对单元,用于在读取一条所述第二写入结果,得到一条第二读取结果之后,比对所述第二读取结果与第二预定输出结果,得到第二统计数据,其中,所述第二预定输出结果为预先产生的数据,一条所述第二测试数据对应一条所述第二写入结果,一条所述第二写入结果对应一条所述第二读取结果;所述第二预定输出结果为配置的数据;第三确定单元,用于在所述第二统计数据大于第二预定阈值的情况下,确定所述SDRAM出现所述串扰故障。
作为一种可选的实施方式,上述第二写入单元包括:写入模块,用于将所述第二测试数据写入到所述SDRAM的目标地址中,得到所述第二写入结果,其中,所述目标地址为从所述SDRAM的所有地址中确定出的待测试的地址。
作为一种可选的实施方式,上述第二写入单元还包括:第一获取模块,用于在将所述第二测试数据写入到所述SDRAM的所述目标地址中之前,获取基地址、测试长度与地址累加偏移量,其中,所述基地址为所述 SDRAM中待测试区域的起始地址,所述测试长度为所述SDRAM中待测试的地址的个数,所述地址累加偏移量为预先配置的参数;确定模块,用于将所述SDRAM中以所述基地址为起始地址,以所述地址累加偏移量为公差的等差数列中,前所述测试长度个地址确定为所述目标地址。
作为一种可选的实施方式,上述第二获取单元包括:第二获取模块,用于从数据库中获取所述第二测试数据;或者第三获取模块,用于预配置第一条所述第二测试数据,并对每一条所述第二测试数据执行取反操作,得到所述每一条所述第二测试数据的后一条所述第二测试数据;或者第四获取模块,用于通过PRBS发生器产生所述第二测试数据;或者第五获取模块,用于预配置第一条所述第二测试数据,并将每一条所述第二测试数据作为data,通过如下公式确定每一条所述第二测试数据的后一条所述第二测试数据:data0=((data+data_offset)<<1)|((data+data_offset)>>31),其中,所述data0为所述data的后一条所述第二测试数据,所述data_offset 为预配置的参数。
在本发明实施例中,采用了获取预配置的第一测试数据,其中,所述第一测试数据用于测试同步动态随机存储器SDRAM是否存在连线故障,所述第一测试数据包括多条测试数据;将所述第一测试数据写入到所述 SDRAM中,得到第一写入结果;在读取一条所述第一写入结果,得到一条第一读取结果之后,比对所述第一读取结果与第一预定输出结果,得到第一统计数据;在所述第一统计数据大于第一预定阈值的情况下,确定所述SDRAM出现所述连线故障的方法,由于在上述方法中,在获取到预配置的第一测试数据之后,可以将多条第一测试数据一次性写入到SDRAM 中,对SDRAM进行测试,不需要写入一条数据读取一条数据,从而实现了准确测试SDRAM是否存在连线故障的效果,进而解决了测试SDRAM 准确度差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的同步动态随机存储器测试方法的流程示意图;
图2是根据本发明实施例的另一种可选的同步动态随机存储器测试方法的流程示意图;
图3是根据本发明实施例的一种可选的同步动态随机存储器测试方法的连接线故障类型示意图;
图4是根据本发明实施例的一种可选的同步动态随机存储器测试方法的信号线的数据变化方向示意图;
图5是根据本发明实施例的一种可选的同步动态随机存储器测试方法的数据到达接收点的结果示意图;
图6是根据本发明实施例的一种可选的同步动态随机存储器测试方法的一条信号线的信号示意图;
图7是根据本发明实施例的一种可选的同步动态随机存储器测试方法的序列发生器示意图;
图8是根据本发明实施例的一种可选的同步动态随机存储器测试方法的测试地址配置示意图;
图9是根据本发明实施例的另一种可选的同步动态随机存储器测试方法的测试地址配置示意图;
图10是根据本发明实施例的又一种可选的同步动态随机存储器测试方法的流程示意图;
图11是根据本发明实施例的一种可选的同步动态随机存储器测试方法的执行模块示意图;
图12是根据本发明实施例的另一种可选的同步动态随机存储器测试方法的执行模块示意图;
图13是根据本发明实施例的一种可选的同步动态随机存储器测试装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种同步动态随机存储器测试方法,可选地,作为一种可选的实施方式,如图1所示,上述方法包括:
S102,获取预配置的第一测试数据,其中,所述第一测试数据用于测试同步动态随机存储器SDRAM是否存在连线故障,所述第一测试数据包括多条测试数据;
S104,将所述第一测试数据写入到所述SDRAM中,得到第一写入结果;
S106,在读取一条所述第一写入结果,得到一条第一读取结果之后,比对所述第一读取结果与第一预定输出结果,得到第一统计数据,其中,所述第一预定输出结果为配置的数据,一条所述第一测试数据对应一条所述第一写入结果,一条所述第一写入结果对应一条所述第一读取结果;
S108,在所述第一统计数据大于第一预定阈值的情况下,确定所述 SDRAM出现所述连线故障。
可选地,上述方法可以但不限于应用于测试同步动态随机存储器 SDRAM的过程中。现有技术中,在测试SDRAM的过程中,通常是输入一个数据就立即读出,从而无法准确测试出SDRAM是否存在连线故障。而本方案中在获取到第一测试数据之后,采用了将第一测试数据一次性写入到SDRAM中,进一步根据比对读取得到的第一读取结果与第一预定输出结果从而确定SDRAM是否存在连线故障,实现了提高测试SDRAM的测试准确度的效果。
可选地,上述第一测试数据的数据位宽可以为N,则第一测试数据可以有N+1条。第一测试数据包括N位数据中任意一位数据为1的数据与N位数据均为0的数据,或者第一测试数据包括N位数据中任意一位数据为0的数据与N位数据均为1的数据。以N为16为例,则第一测试数据包括了17条,每一条的测试数据宽度为16位,其中一条第一测试数据16 位数据均为零,另外16条第一测试数据为15位为0,其中一位为1的数据。17条第一测试数据不重复。或者,17条第一测试数据中,1条第一测试数据16位数据均为1的数据,另外16条第一测试数据为15位为1,其中一位为0的数据。17条第一测试数据不重复。
如下所示,下述17条第一测试数据数据为一条第一测试数据16位数据均为零,另外16条第一测试数据为15位为0,其中一位为1的数据的情况:
第0条:0000_0000_0000_0000
第1条:0000_0000_0000_0001
第2条:0000_0000_0000_0010
…
第15条:0100_0000_0000_0000
第16条:1000_0000_0000_0000
在获取到上述第一测试数据后,将上述第一测试数据输入到同步动态随机存储器SDRAM中,测试SDRAM是否存在连线故障。在写入上述第一测试数据后,得到第一写入结果,读取第一写入结果时,每读取一条第一写入结果得到一条第一读取结果时,比对第一读取结果与第一预定输出结果,得到第一统计数据。第一统计数据为第一读取结果与第一预定输出结果中,不符的数据的条数。可选地,本方案中的第一预定数据结果可以为通过数据产生电路产生的结果。每一条第一测试数据对应一个第一写入结果,每一条第一写入结果对应一条第一读取结果,每一条第一读取结果对应一条第一预定输出结果。第一预定输出结果的值与对应的第一测试数据的值相同。可选地,第一预定输出结果可以通过期望结果产生电路实时产生。
例如,当将17条第一测试数据写入到SDRAM之后,会得到17条第一写入结果,分别与17条第一测试数据对应。当读取第一写入结果后,会得到17条第一读取结果,与17条第一写入结果对应(读取过程可能提前结束,得到小于17条的第一读取结果)。读取过程中,每得到一条第一读取结果,就比对第一读取结果与第一预定输出结果。若是两者不同,则将第一统计数据加1。比对完成之后,若是第一统计数据为零,则说明 SDRAM不存在连线故障。若是第一统计数据超过了第一预定阈值,则确定SDRAM存在故障,结束测试。可选地,在写入第一测试数据与读取第一写入结果的过程中,如果写入了最后一条第一测试数据,并读取了最后一条第一读取结果,则结束测试,最后根据第一统计数据确定SDRAM是否存在连线故障。以及,在写入第一测试数据时,记录写入时长;在读取第一写入结果时,记录读取时长;在写入时长大于预定时长,或者在读取时长大于预定时长的情况下,结束测试,并确定SDRAM出现超时故障。也就是说,本方案中在进行连线测试的过程中,还可以进行超时测试,查看SDRAM是否存在除连线故障之外的超时故障。并不需要额外输入数据,就能在测试连线故障之外再测试超时故障。
可选地,本方案还可以在测试上述连线故障之后,若是确定线路正常,还可以测试SDRAM是否存在串扰故障的情况。在测试串扰故障的时候,可以获取第二测试数据,第二测试数据用于测试SDRAM是否有串扰故障。
可选地,在测试时,将第二测试数据写入到SDRAM中,得到第二写入结果;读取第二写入结果,得到第二读取结果;每读取一条第二写入数据得到一条第二读取结果之后,比对第二读取结果与第二预定输出结果,得到第二统计数据。
可选地,本方案中的第二预定数据结果可以为通过数据产生电路产生的结果。每一条第二测试数据对应一条第二写入结果,每一条第二写入结果对应一条第二读取结果,每一条第二读取结果对应一条第二预定输出结果。第二预定输出结果的值与对应的第二测试数据的值相同。可选地,第二预定输出结果可以通过期望结果产生电路实时产生。
第二统计数据为第二读取结果与第二预定输出结果不符的条数。若是第二统计数据大于了第二预定阈值,则确定SDRAM出现串扰故障。
例如,8条第二测试数据,输入SDRAM中得到8条第二写入结果,读取第二写入结果,每得到一条第二读取结果,就比对第二读取结果与第二预定输出结果。若是两者相同,则第二统计数据不变,若是两者不同,则第二统计数据加1,第二统计数据初始值为零。最后,若是第二统计数据为零,则说明SDRAM不存在串扰问题。
可选地,本方案中在进行串扰测试的过程中,也可以进行上述超时测试。也就是说,在进行串扰测试的同时,进行了超时测试,不需要输入额外的数据,使用额外的步骤进行超时测试。
可选地,在进行串扰测试的过程中,本方案可以选择串扰测试的地址。也就是说,本方案可以从SDRAM的所有地址选择出部分地址作为目标地址,然后对目标地址进行测试,目标地址的测试结果代表了整个SDRAM 的测试结果。
可选地,本方案中在选择目标地址的过程中,可以灵活确定目标地址。可以获取配置的测试长度与地址累加偏移量两个数据,然后,将SDRAM 中以基地址为起始地址,以地址累加偏移量为公差的等差数列中,前测试长度个地址确定为目标地址。
上述基地址为首个测试地址。例如,测试长度为8,则需要对8个地址进行测试。测试偏移量为4,则表示,在基地址以后的每第4n个地址确定为待测试的目标地址。n为正整数。如基地址为0000,则0004作为第二个待测试的目标地址,0008作为第三个待测试的目标地址,以此类推。而0001、0002、0003则可以跳过不进行测试。
可选地,为了保证测试的准确性,本方案在进行测试之前,可以将SDRAM的系统时钟频率与控制器的时钟频率初始化为系统工作时的最高时钟频率。
可选地,本方案中的上述第一测试数据与第二测试数据还可以用于测试静态随机存储器SRAM的过程中。该过程与测试SDRAM的过程相同,使用第一测试数据测试SRAM的连接线故障,使用第二测试数据测试 SRAM的串扰故障,并根据比对预定输出结果与读取结果来确定SRAM 是否存在连接线故障和/或串扰故障,实现对SRAM的测试。具体的测试过程请参见对SDRAM的测试过程,在此不再赘述。
以下结合一个具体示例,解释上述对同步动态随机存储器SDRAM进行测试的过程。
如图2所示,本方案主要的步骤分为步骤S202到步骤S216。首先,S202,系统时钟初始化与S204,控制器初始化。该步骤主要为在测试串扰问题的过程中,连线串扰问题往往与信号的变化频率强相关,同样的电路连接,在低频时钟下可能测试正常,但在高频时钟下其功能往往会出现异常。为了测试出高频下的异常,本方案将SDRAM控制器和SDRAM看做一个整体来进行测试。将系统时钟初始化并将控制器初始化,控制器可以为DDR控制器。初始化时,将SDRAM及其控制器相关时钟频率配置为系统工作时的最高时钟频率。完成时序训练(training),然后进行连接性测试与串扰测试。
S206,连接性测试。
SDRAM与控制器间连线上可能出现的几种主要情况如图3所示,图3中分别显示了设计芯片的控制器与SDRAM颗粒之间的连线关系,分为正确连接的情况与错误连接类型1-5的情况。图3中的错误类型1、4对应stuck at 0的情况,而错误类型2、5对应stuck at 1的情况。在测试过程中,通过在地址/数据线上采用Walking mode(即每次仅有1位的值为0/1,若每次仅有1位的值为1,则称为walking mode 1,若1次仅有1位为0,则称为walking mode 0,对于每一位为1/0的先后顺序没有要求)变化的方式来判断是否存在连接线错误。上述walking mode 1与walking mode 0 即为第一测试数据。
如下表1所示,第6bit信号被固定为0,则在Walking mode 1轮循过程中会有一次写入的数据与第一次冲突,每一次写入的数据均不同,则 16’h0地址第一次写入的值会被后续错误bit位的写操作覆盖,所以在地址线按walking mode轮循写入不同数据后,读出对比可判定是否存在Stuck At 0现象。而DATA[10]出现Stuck At 1的现象。
表1
序号 | DATA | [6]bit Stuck At 0 | [10]bit Stuck At 1 |
0 | 16'b0000000000000000 | 16'b0000000000000000 | 16'b0000010000000000 |
1 | 16'b0000000000000001 | 16'b0000000000000001 | 16'b0000010000000001 |
2 | 16'b0000000000000010 | 16'b0000000000000010 | 16'b0000010000000010 |
3 | 16'b0000000000000100 | 16'b0000000000000100 | 16'b0000010000000100 |
4 | 16'b0000000000001000 | 16'b0000000000001000 | 16'b0000010000001000 |
5 | 16'b0000000000010000 | 16'b0000000000010000 | 16'b0000010000010000 |
6 | 16'b0000000000100000 | 16'b0000000000100000 | 16'b0000010000100000 |
7 | 16'b0000000001000000 | 16'b0000000000000000 | 16'b0000010001000000 |
8 | 16'b0000000010000000 | 16'b0000000010000000 | 16'b0000010010000000 |
9 | 16'b0000000100000000 | 16'b0000000100000000 | 16'b0000010100000000 |
10 | 16'b0000001000000000 | 16'b0000001000000000 | 16'b0000011000000000 |
11 | 16'b0000010000000000 | 16'b0000010000000000 | 16'b0000010000000000 |
12 | 16'b0000100000000000 | 16'b0000100000000000 | 16'b0000110000000000 |
13 | 16'b0001000000000000 | 16'b0001000000000000 | 16'b0001010000000000 |
14 | 16'b0010000000000000 | 16'b0010000000000000 | 16'b0010010000000000 |
15 | 16'b0100000000000000 | 16'b0100000000000000 | 16'b0100010000000000 |
16 | 16'b1000000000000000 | 16'b1000000000000000 | 16'b1000010000000000 |
S208判断连接性测试是否正常。此步骤需要比对在连线测试过程中输出的第一读取结果与第一预定输出结果,得到比对结果。该比对过程结合下文串扰测试的比对过程一同说明。在比对结果指示测试正常的情况下,进行S210,串扰测试。
由于两条平行的信号线之间存在电磁耦合现象,所以信号间会有串扰,如图4所示为两条平行信号线之间可能存在的几种数据的变化情况,根据两条信号线上数据变化的方向可以分为共模、差模和其他类型。图4中的n表示第n根信号线。
在输入端为共模、差模和其他类型的变化情况数据到达接收点的结果如图5所示,从图5可以得出以下结论:
在到达时间上共模的速度慢,差模速度快,其他类型介于两者之间;因为在共模的影响下,两条线的容性最弱,在差模的影响下,两条线的容性最强;类似差分线一样,两线互为参考,因此传输速度快。
在电平幅值上共模的电平偏高,差模的电平幅值偏低,其他类型介于两者中间;因为共模的时候电平两线之间的电平是同向的,互为补充,幅度偏高;差模的时候两线的电平时反向的,互相抵消,幅度偏低。图5中 v代表电平幅度,t代表时间。
当两条平行线上的数据随机变化时,其中一条线的信号如图6所示。其中,v代表电平幅度,t代表时间。
因此,两条线之间的串扰问题会导致信号的时序变差,可能造成 setup/hold违例。
为了测试出串扰问题,本方案的思路为通过特定的数据序列,使数据线间出现共模、差模及其他变化方式,并重复多次。特定数据为第二测试数据。第二测试数据可以通过多种方法获取。以下介绍四种获取第二测试数据的方法。
方法1:预配置多组第二测试数据。例如,如下序列(1)-(8),其中,X和Y分别是8bit可配置的参数,例如可以为0x00、0xFF、0x55、 0xAA、0x5A、0xA5、0xF0、0x0F等。每次测试的数据可以在如下(1)- (8)中选择一个。一旦选中后数据将按照该序列重复输出,地址根据配置的起始地址和步长信息进行累加。
(1)XX=>XX=>XX=>XX
(2)XX=>YY=>XX=>XX
(3)XX=>YY=>XX=>YY
(4)XX=>XX=>YY=>YY
(5)XX=>XY=>XX=>XX
(6)XY=>YX=>XY=>YX
(7)XX=>XY=>YX=>YY
(8)XY=>XX=>YY=>XX
方法2:为了保证进行大地址空间读写操作,相邻两次写操作间的数据变化尽量大,且每个数据都不同,方法2中提出一种方法,使用如下公式产生第二测试数据。
data 0=data^0xFFFF_FFFF (1)
其中,data 0是date之后的一条第二测试数据。也就是说,使用预配置的方法得到第一条第二测试数据,然后对每一条第二测试数据进行取反操作,得到该条第二测试数据的后一条第二测试数据。第一条第二测试数据可配置。
方法3:为了保证进行大地址空间读写操作,相邻两次写操作间的数据变化尽量随机,且每个数据都不同,实现数据的随机性和可对比性,方法3采用伪随机二进制序列(Pseudo-Random Binary Sequence,简写为 PRBS)产生随机码作为第二测试数据。
以PRBS16为例,图7为PRBS16的序列发生器,其多项式为:G(X)=X16+X5+X4+X3+1,测试开始时,配置一个随机种子数据,该伪随机序列发生器即可产生对应的数据序列。其中,Xn是指上一个数据的第n 位,例如X16表示上一个数据的第16位,X5表示上一个数据的第5位, Xn的值为0或者1,表达式中的加为异或操作。PRBS的种子数据可配置。
方法4:为了保证进行大地址空间读写操作,数据进行循环位移,本方案采用循环左移的方法产生第二测试数据。例如数据位宽为32位,通过如下公式产生第二测试数据。
Data0=((data+data_offset)<<1)|((data+data_offset)>>31) (2)
其中,date为每一条第二测试数据,Data0为每一条第二测试数据之后的一条第二测试数据。第一条第二测试数据可以人工配置。支持data 的初始可配置;支持data_offset可配置。
通过上述方法,获取到第二测试数据,使用第二测试数据可以测试 SDRAM的目标地址。
在确定目标地址的过程中,可以首先人工确定出第一个待测试的目标地址。该地址作为基地址Base_addr。然后,可以人工配置测试长度 Test_length和地址累加偏移量Addr_offset。
如图8所示,通过配置测试长度,可以控制测试的时长。测试长度越长,测试所需的时长越长。图8中n为正整数。通过配置基地址可以选择出需要要测试的区域。
如图9所示,通过配置基地址与地址累加偏移量,可以确定出待测试的多个目标地址。目标地址之间可以为非连续的地址。从而可以在一定长度的测试次数下覆盖到的地址范围更广。
在输入第一测试数据测试SDRAM的连接故障,输入第二测试数据测试SDRAM的串扰故障时,还需要根据比对测试结果确定SDRAM是否存在连接性故障与串扰故障。在测试比对的过程中,如果是连接线测试,则比对第一读取数据与第一预定输出结果,根据第一统计数据确定是否存在连接线问题,如果是串扰测试,则比对第二读取数据与第二预定输出结果,根据第二统计数据确定是否存在串扰问题。以连接性测试为例,如图10的步骤S1002到步骤S1020所示,首先在输入数据之后,需要进行数据的写操作。写操作过程中,如果写操作未超时,则比对写操作的次数与配置的次数。配置的次数即为测试过程中,数据的条数。如10条测试数据,则配置次数为10。若是写操作的次数小于10,则说明数据还未写完,继续执行写操作。若是写计数等于配置次数,则进行步骤S1010读操作。读操作同样需要查看是否超时。若是读操作未超时,则比对数据是否错误。若是连接线测试,则比对第一读取数据与第一预定输出结果,如果是串扰测试,则比对第二读取数据与第二预定输出结果。若是数据不同,则错误次数需要增加1。错误次数初始值为零。如果错误次数没有达到错误次数上限,则继续执行读操作。若是比对数据没有错误,则比对读计数,即读的数据的条数是否达到配置次数。若是未达到配置次数,则继续进行读操作。若是在此过程中,读操作或者写操作超时,或者读计数达到配置次数,则测试停止,执行步骤S1020,状态更新。并输出测试结果。
以上即为本方案的测试过程。首先对SDRAM进行连接线测试,然后执行串扰测试,在连接线测试或者串扰测试的过程中,还可以测试出 SDRAM是否存在超时故障与读写故障。实现了提高对SDRAM进行测试的测试准确度的效果。
本方案的模块在系统中的位置可以如图11所示,图11中DDR_TEST 作为总线上的一个主设备,可通过总线经由控制设备(DDR Controller)对 SDRAM进行写/读操作。DDR_TEST有Walking mode 1、Walking mode 0 (第一测试数据)和Linear mode(第二测试数据)三种模式,在Linear mode 下数据序列支持四种类型可配置,分别是用户自定义数据序列、伪随机数据序列、相邻数据取反序列和循环左移序列。图11中总线可以接收 Master0-MasterN控制命令与Slave0-SlaveN控制命令。
本方案中的测试模块DDR_TEST_TOP与总线BUS相连,包括测试核心DDR_TEST_CORE,测试核心包括读数状态Read_Status,其中的各个子模块如图12所示。以下依次说明。
1、超时计数器(Time Counter):在一次读/写操作期间对模块工作时间进行计数(记录写入时长与读取时长),并将时钟计数值输出至Controller 中,在Controller中与配置的超时参数(timeout)进行对比(超时参数为预定时长),若时钟计数值大于等于timeout值,则认为一次读/写操作超时,产生超时错误,并结束测试。
2、测试次数计数器(Test Counter):在测试时分别对写和读操作进行计数,并将写操作计数值(write_counter)和读操作计数值(read_counter)输出至Controller中,在Controller中与配置的测试长度(test_length)进行比较,若writer_counter大于等于test_length,则进行读操作,否则根据模式选择进行下一地址的写操作;若read_counter大于等于test_length,则测试结束,否则根据模式选择进行下一地址的读操作。
3、数据序列发生器(Data Pattern Generator):用于产生测试所需的第一测试数据与第二测试数据数据,根据测试模式,产生不同的数据,具体如下:
第一测试数据:
在walking mode 1的模式下,数据可以按照表所示的序号0~16的序号输出。
表2 walking mode 1数据序列
以16bits数据线、13bits地址线、2bits bank线和2bits DM线为例,如下表3为进行walking mode 1测试时的一种可选测试向量。
表(3)进行walking mode 1测试时的一种可选测试向量
在walking mode 0的模式下,数据可以按照表所示的序号0~16的序号输出。
表(4)walking mode 0数据序列
以16bits数据线、13bits地址线、2bits bank线和2bits DM线了例,如下表5为进行walking mode 0测试时的一种可选测试向量。
表(5)进行walking mode 0测试时的一种可选测试向量
序号 | DATA | ADDR | Data type | 备注 |
0 | 0xFFFEFFFF | 0x01FFFC00 | u32 | 覆盖DATA[0]打线问题 |
1 | 0xFFFBFFFD | 0x01FFF800 | u32 | 覆盖BA[0]、DATA[2:1]打线问题 |
2 | 0xFFEFFFF7 | 0x01FFF400 | u32 | 覆盖BA[1]、DATA[4:3]打线问题 |
3 | 0xFFBFFFDF | 0x01FFEC00 | u32 | 覆盖ADDR[0]、DATA[6:5]打线问题 |
4 | 0xFEFFFF7F | 0x01FFDC00 | u32 | 覆盖ADDR[1]、DATA[8:7]打线问题 |
5 | 0xFBFFFDFF | 0x01FFBC00 | u32 | 覆盖ADDR[2]、DATA[10:9]打线问题 |
6 | 0xEFFFF7FF | 0x01FF7C00 | u32 | 覆盖ADDR[3]、DATA[12:11]打线问题 |
7 | 0xBFFFDFFF | 0x01FEFC00 | u32 | 覆盖ADDR[4]、DATA[14:13]打线问题 |
8 | 0xFFFF7FFF | 0x01FDFC00 | u32 | 覆盖ADDR[5]、DATA[16]打线问题 |
9 | 0xFCF5F3FA | 0x01FBFC00 | u32 | 覆盖ADDR[6]打线问题 |
10 | 0xECE5E3EA | 0x01F7FC00 | u32 | 覆盖ADDR[7]打线问题 |
11 | 0xDCD5D3DA | 0x01EFFC00 | u32 | 覆盖ADDR[8]打线问题 |
12 | 0xCCC5C3CA | 0x01DFFC00 | u32 | 覆盖ADDR[9]打线问题 |
13 | 0xBCB5B3BA | 0x01BFFC00 | u32 | 覆盖ADDR[10]打线问题 |
14 | 0xACA5A3AA | 0x017FFC00 | u32 | 覆盖ADDR[11]打线问题 |
15 | 0x9C95939A | 0x00FFFC00 | u32 | 覆盖ADDR[12]打线问题 |
16 | 0x8C85838A | 0x007FFC01 | u8 | 覆盖DM[0]打线问题 |
17 | 0x7C75737A | 0x019FFC00 | u8 | 覆盖DM[1]打线问题 |
第二测试数据:
第二测试数据可以通过四种方法获取,请参见上述四种方法,在此不再重复发说明。
4、寄存器管理模块(ddr_test_reg):用于管理模块的配置信息、状态信息等寄存器,系统通过本模块的寄存器配置接口可对内部寄存器进行配置,可查询各状态寄存器的值。
5、期望数据发生器(Expected Data Generator):用于产生每次读操作的期望数据(expect_data),并将期望数据输出至数据比较器。上述期望数据即为第一预定输出结果与第二预定输出结果。
6、错误计数器(Error Counter):对一次测试中的数据对比错误进行计数,并将错误计数值(第一统计数据与第二统计数据)(Error_cnt)输出至Controller,在Controller中与配置的最大错误次数(预定阈值)(max_Error)进行对比,若Error_cnt大于等于max_Error时,结束测试。
7、读序列发生&数据比较器(Read Data Compare):产生读操作所需的地址及相关时序,并将读出的数据(read_data)与期望数据(expect_data)进行对比,若数据不一致则产生错误标志,则输出一个数据对比错误脉冲(Data_compare_error_pulse)至错误计数器(Error_counters)。
8、错误计数器(Error_counters):对来自读序列发生&数据比较器(Read DataCompare)的数据对比错误脉冲进行计数,当Error_cnt不为0时,上报数据对比错误状态给寄存器管理模块(ddr_test_reg),同时将第一次对比出错的数据和地址输出至寄存器管理模块(ddr_test_reg);
9、控制器(Controller):根据配置信息、各计数器值、错误状态等信息对测试过程进行控制,若有数据对比错误或者超时错误发生,本模块将输出一错误信号(test_error_out)至芯片引脚上;任何条件导致的测试结束本模块都将输出一结束标志信号(test_done_out)至引脚上;用户在test_done_out 信号有效时对test_error_out信号进行判断,若test_error_out指示没有错误发生,则测试通过,否则测试不通过。
10、总线接口转换桥(bus_master_wrap):完成将DDR_TEST的读写操作接口转换成与系统总线对应的接口类型。
本方案中数据对比出错时将出错的数据和地址存入状态寄存器中,本方案中以一种较节省资源的方式实现,可以仅保留第一次出现对比错误的数据和地址,也可以保留多个或全部错误数据和地址。
测试出现错误后相关错误状态会在状态寄存器中体现,便于主机查询详细信息,同时会有一个总的test_error_out信号输出至引脚上,便于测试者观测。
测试结束后结束状态信息会在状态寄存器中体现,同时会输出 test_done_out信号至引脚上,便于测试者观测。
本方案不仅实现了对SDRAM与设计芯片之间进行连线测试与串扰测试,而且,在此过程中支持多种方法获取第二测试数据(包括伪随机序列、用户自定义序列、相邻数据取反序列和循环移位序列)实现对相邻信号线之间可能的变化情况进行覆盖,结合大地址空间的读写,可达到对信号串扰进行测试的目的。此外,可对SDRAM以其在系统中工作的时钟频率进行测试,通过将SDRAM及其控制器看做一个整体,在系统层面进行时钟配置和控制器初始化,可更加真实的贴近应用场景。以及,测试时间和覆盖率可以灵活控制。通过支持基地址、地址偏移量和测试长度可配置,用户可自由选择所需的测试地址空间范围和测试长度。模块复用性高。通过增加bus_master_wrap电路,可以应用在不同总线架构的系统上。最后,支持系统启动自检应用。通过将DDR_TEST电路集成到系统中,可以在每次系统启动初始化DDR_TEST,使其对SDRAM进行自检,可若存在个别坏地址,应用层可提前避免对该地址进行操作。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述同步动态随机存储器测试方法的同步动态随机存储器测试装置。如图13所示,该装置包括:
(1)第一获取单元1302,用于获取预配置的第一测试数据,其中,所述第一测试数据用于测试同步动态随机存储器SDRAM是否存在连线故障,所述第一测试数据包括多条测试数据;
(2)第一写入单元1304,用于将所述第一测试数据写入到所述 SDRAM中,得到第一写入结果;
(3)第一读取单元1306,用于在读取一条所述第一写入结果,得到一条第一读取结果之后,比对所述第一读取结果与第一预定输出结果,得到第一统计数据,其中,所述第一预定输出结果为配置的数据,一条所述第一测试数据对应一条所述第一写入结果,一条所述第一写入结果对应一条所述第一读取结果;
(4)第一比对单元1308,用于在所述第一统计数据大于第一预定阈值的情况下,确定所述SDRAM出现所述连线故障。
可选地,上述方法可以但不限于应用于测试同步动态随机存储器 SDRAM的过程中。现有技术中,在测试SDRAM的过程中,通常是输入一个数据就立即读出,从而无法准确测试出SDRAM是否存在连线故障。而本方案中在获取到第一测试数据之后,采用了游走轮询模式将第一测试数据写入到SDRAM中,进一步根据比对读取得到的第一读取结果与第一预定输出结果从而确定SDRAM是否存在连线故障,实现了提高测试 SDRAM的测试准确度的效果。
可选地,上述第一测试数据的数据位宽可以为N,则第一测试数据可以有N+1条。第一测试数据包括N位数据中任意一位数据为1的数据与 N位数据均为0的数据,或者第一测试数据包括N位数据中任意一位数据为0的数据与N位数据均为1的数据。以N为16为例,则第一测试数据包括了17条,每一条的测试数据宽度为16位,其中一条第一测试数据16 位数据均为零,另外16条第一测试数据为15位为0,其中一位为1的数据。17条第一测试数据不重复。或者,17条第一测试数据中,1条第一测试数据16位数据均为1的数据,另外16条第一测试数据为15位为1,其中一位为0的数据。17条第一测试数据不重复。如下所示:
第0条:0000_0000_0000_0000
第1条:0000_0000_0000_0001
第2条:0000_0000_0000_0010
…
第15条:0100_0000_0000_0000
第16条:1000_0000_0000_0000
上述第一测试数据为一条第一测试数据16位数据均为零,另外16条第一测试数据为15位为0,其中一位为1的数据的情况。
在获取到上述第一测试数据后,将上述第一测试数据输入到同步动态随机存储器SDRAM中,测试SDRAM是否存在连线故障。在写入上述第一测试数据后,得到第一写入结果,在读取第一写入结果时,得到第一读取结果。比对第一读取结果与第一预定输出结果,得到第一统计数据,其中,第一预定输出结果为在SDRAM正常的情况下,写入第一测试数据得到第一目标写入结果后,读取第一目标写入结果得到的输出结果。第一统计数据为第一读取结果与第一预定输出结果中,不符的数据的条数。可选地,本方案中是在写入所有多条测试数据并读取多条测试数据后,再进行比对的动作。
例如,当将17条第一测试数据写入到SDRAM之后,会得到17条第一写入结果,分别与17条第一测试数据对应。当读取第一写入结果后,会得到17条第一读取结果,与17条第一写入结果对应。而第一预定输出结果也是17条,分别与17条第一测试数据对应。依次比对17条第一读取结果中第i条结果与17条第一预定输出结果中第i条结果,若是两者不同,则将第一统计数据加1。比对完成之后,若是第一统计数据为零,则说明SDRAM不存在连线故障。若是第一统计数据超过了预定阈值,则确定SDRAM存在故障,结束测试。可选地,在写入第一测试数据与读取第一写入结果的过程中,如果写入了最后一条第一测试数据,并读取了最后一条第一读取结果,则结束测试,最后根据第一统计数据确定SDRAM是否存在连线故障。以及,在写入第一测试数据时,记录写入时长;在读取第一写入结果时,记录读取时长;在写入时长大于预定时长,或者在读取时长大于预定时长的情况下,结束测试,并确定SDRAM出现超时故障。也就是说,本方案中在进行连线测试的过程中,还可以进行超时测试,查看SDRAM是否存在除连线故障之外的超时故障。并不需要额外输入数据,才能在测试连线故障之外再测试超时故障。
可选地,本方案还可以在测试上述连线故障之后,若是确定线路正常,还可以测试SDRAM是否存在串扰故障的情况。在测试串扰故障的时候,可以获取第二测试数据。
可选地,在测试时,将第二测试数据写入到SDRAM中,得到第二写入结果;读取第二写入结果,得到第二读取结果;比对第二读取结果与第二预定输出结果,得到第二统计数据,其中,第二预定输出结果为预先产生的数据,第二预定输出结果的值与写入到SDRAM中的第二测试数据的值一致;在第二统计数据指示第二读取结果与第二预定输出结果不一致情况下,确定SDRAM出现串扰故障。上述第二统计数据为第二读取结果中与第二预定输出结果中,不匹配的数据的条数。
例如,8条第二测试数据,输入SDRAM中得到8条第二写入结果,读取第二写入结果得到8条第二读取结果,每一条第二读取结果均与一条第二写入结果对应,每一条第二写入结果均与一条第二测试数据对应。而若是SDRAM正常,则输入8条第二测试数据后,会得到8条第二预定输出结果,每一条第二预定输出结果均与一条第二测试数据对应。在测试之后,比对8条第二读取结果中第i条结果与8条第二预定输出结果中第i 条结果,若是两者不同,则将第二统计数据加1。最后,若是第二统计数据为零,则说明SDRAM不存在串扰问题。
可选地,本方案中在进行串扰测试的过程中,也可以进行上述超时测试。也就是说,在进行串扰测试的同时,进行了超时测试,不需要输入额外的数据,使用额外的步骤进行超时测试。
可选地,在进行串扰测试的过程中,本方案可以选择串扰测试的地址。也就是说,本方案可以从SDRAM的所有地址选择出部分地址作为目标地址,然后对目标地址进行测试,目标地址的测试结果代表了整个SDRAM 的测试结果。
可选地,本方案中在选择目标地址的过程中,可以灵活确定目标地址。可以获取配置的测试长度与地址累加偏移量两个数据,然后,将SDRAM 中以基地址为起始地址,以地址累加偏移量为公差的等差数列中,前测试长度个地址确定为目标地址。
上述基地址为首个测试地址。例如,测试长度为8,则需要对8个地址进行测试。测试偏移量为4,则表示,在基地址以后的每第4n个地址确定为待测试的目标地址。n为正整数。如基地址为0000,则0004作为第二个待测试的目标地址,0008作为第三个待测试的目标地址,以此类推。而0001、0002、0003则可以跳过不进行测试。
可选地,为了保证测试的准确性,本方案在进行测试之前,可以将 SDRAM的系统时钟频率与控制器的时钟频率初始化为系统工作时的最高时钟频率。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种同步动态随机存储器测试方法,其特征在于,包括:
获取预配置的第一测试数据,其中,所述第一测试数据用于测试同步动态随机存储器SDRAM是否存在连线故障,所述第一测试数据包括多条测试数据;
将所述第一测试数据写入到所述SDRAM中,得到第一写入结果;
在读取一条所述第一写入结果,得到一条第一读取结果之后,比对所述第一读取结果与第一预定输出结果,得到第一统计数据,其中,所述第一预定输出结果为配置的数据,一条所述第一测试数据对应一条所述第一写入结果,一条所述第一写入结果对应一条所述第一读取结果;
在所述第一统计数据大于第一预定阈值的情况下,确定所述SDRAM出现所述连线故障。
2.根据权利要求1所述的方法,其特征在于,所述在读取一条所述第一写入结果,得到一条第一读取结果之后,比对所述第一读取结果与第一预定输出结果,得到第一统计数据包括:
在所述第一读取结果与所述第一预定输出结果不同的情况下,将所述第一统计数据加1,其中,所述第一统计数据为自然数,所述第一统计数据初始值为0。
3.根据权利要求1所述的方法,其特征在于,在确定所述SDRAM出现所述连线故障之前,所述方法还包括:
在写入所述第一测试数据时,记录写入时长;
在读取所述第一写入结果时,记录读取时长;
在所述写入时长大于预定时长,或者在所述读取时长大于所述预定时长的情况下,结束测试,并确定所述SDRAM出现超时故障。
4.根据权利要求1至3任意一项所述的方法,其特征在于,在比对所述第一读取结果与所述第一预定输出结果,得到所述第一统计数据之后,所述方法还包括:
在所述第一统计数据小于或等于所述预定阈值的情况下,在确定所述SDRAM未出现所述连线故障的情况下,获取第二测试数据,其中,所述第二测试数据用于测试所述SDRAM是否存在串扰故障,所述第二测试数据包括多条测试数据;
将所述第二测试数据写入到所述SDRAM中,得到第二写入结果;
在读取一条所述第二写入结果,得到一条第二读取结果之后,比对所述第二读取结果与第二预定输出结果,得到第二统计数据,其中,所述第二预定输出结果为配置的数据,一条所述第二测试数据对应一条所述第二写入结果,一条所述第二写入结果对应一条所述第二读取结果;所述第二预定输出结果为预先产生的数据;
在所述第二统计数据大于第二预定阈值的情况下,确定所述SDRAM出现所述串扰故障。
5.根据权利要求4所述的方法,其特征在于,所述将所述第二测试数据写入到所述SDRAM中,得到第二写入结果包括:
将所述第二测试数据写入到所述SDRAM的目标地址中,得到所述第二写入结果,其中,所述目标地址为从所述SDRAM的所有地址中确定出的待测试的地址。
6.根据权利要求5所述的方法,其特征在于,在将所述第二测试数据写入到所述SDRAM的所述目标地址中之前,所述方法还包括:
获取基地址、测试长度与地址累加偏移量,其中,所述基地址为所述SDRAM中待测试区域的起始地址,所述测试长度为所述SDRAM中待测试的地址的个数,所述地址累加偏移量为预先配置的参数;
将所述SDRAM中以所述基地址为起始地址,以所述地址累加偏移量为公差的等差数列中,前所述测试长度个地址确定为所述目标地址。
7.根据权利要求5至6任意一项所述的方法,其特征在于,所述获取第二测试数据包括:
从数据库中获取所述第二测试数据;或者
预配置第一条所述第二测试数据,并对每一条所述第二测试数据执行取反操作,得到所述每一条所述第二测试数据的后一条所述第二测试数据;或者
通过PRBS发生器产生所述第二测试数据;或者
预配置第一条所述第二测试数据,并将每一条所述第二测试数据作为data,通过如下公式确定每一条所述第二测试数据的后一条所述第二测试数据:data0=((data+data_offset)<<1)|((data+data_offset)>>31),其中,所述data0为所述data的后一条所述第二测试数据,所述data_offset为预配置的参数。
8.根据权利要求5至6任意一项所述的方法,其特征在于,在获取所述第一测试数据之前,所述方法还包括:
将所述SDRAM的系统时钟频率与SDRAM控制器的时钟频率配置为系统工作时的最高时钟频率。
9.一种同步动态随机存储器测试装置,其特征在于,包括:
第一获取单元,用于获取预配置的第一测试数据,其中,所述第一测试数据用于测试同步动态随机存储器SDRAM是否存在连线故障,所述第一测试数据包括多条测试数据;
第一写入单元,用于将所述第一测试数据写入到所述SDRAM中,得到第一写入结果;
第一比对单元,用于在读取一条所述第一写入结果,得到一条第一读取结果之后,比对所述第一读取结果与第一预定输出结果,得到第一统计数据,其中,所述第一预定输出结果为预先产生的数据,一条所述第一测试数据对应一条所述第一写入结果,一条所述第一写入结果对应一条所述第一读取结果;
第一确定单元,用于在所述第一统计数据大于第一预定阈值的情况下,确定所述SDRAM出现所述连线故障。
10.根据权利要求9所述的装置,其特征在于,所述第一比对单元包括:
统计模块,用于在所述第一读取结果与所述第一预定输出结果不同的情况下,将所述第一统计数据加1,其中,所述第一统计数据为自然数,所述第一统计数据初始值为0。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010444208.8A CN111627490A (zh) | 2020-05-22 | 2020-05-22 | 同步动态随机存储器测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010444208.8A CN111627490A (zh) | 2020-05-22 | 2020-05-22 | 同步动态随机存储器测试方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111627490A true CN111627490A (zh) | 2020-09-04 |
Family
ID=72261264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010444208.8A Pending CN111627490A (zh) | 2020-05-22 | 2020-05-22 | 同步动态随机存储器测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111627490A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112331256A (zh) * | 2020-11-13 | 2021-02-05 | 深圳佰维存储科技股份有限公司 | Dram测试方法、装置、可读存储介质及电子设备 |
CN112420115A (zh) * | 2020-11-05 | 2021-02-26 | 深圳市宏旺微电子有限公司 | 一种动态随机存取存储器的故障检测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1276085A (zh) * | 1997-11-03 | 2000-12-06 | 因菲尼奥恩技术股份公司 | 测试可读写的集成电子电路,尤其是存储器组件的总线接线的方法 |
JP2001243121A (ja) * | 2000-02-28 | 2001-09-07 | Hitachi Ltd | メモリを搭載したボードにおける回路の不良発見方法 |
CN101197194A (zh) * | 2007-02-27 | 2008-06-11 | 深圳市同洲电子股份有限公司 | 一种存储器检测方法 |
CN105469834A (zh) * | 2014-09-12 | 2016-04-06 | 上海华虹宏力半导体制造有限公司 | 嵌入式闪存的测试方法 |
CN105824730A (zh) * | 2016-03-16 | 2016-08-03 | 北京珠穆朗玛移动通信有限公司 | 一种硬件诊断修复方法及装置 |
CN108039190A (zh) * | 2017-12-15 | 2018-05-15 | 北京京存技术有限公司 | 一种测试方法及装置 |
CN108335721A (zh) * | 2018-03-14 | 2018-07-27 | 烽火通信科技股份有限公司 | 一种实时检测随机存取存储器地址线故障的方法及系统 |
-
2020
- 2020-05-22 CN CN202010444208.8A patent/CN111627490A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1276085A (zh) * | 1997-11-03 | 2000-12-06 | 因菲尼奥恩技术股份公司 | 测试可读写的集成电子电路,尤其是存储器组件的总线接线的方法 |
US6345372B1 (en) * | 1997-11-03 | 2002-02-05 | Infineon Technologies | Method for testing bus connections of writable and readable integrated electronic circuits, in particular memory components |
JP2001243121A (ja) * | 2000-02-28 | 2001-09-07 | Hitachi Ltd | メモリを搭載したボードにおける回路の不良発見方法 |
CN101197194A (zh) * | 2007-02-27 | 2008-06-11 | 深圳市同洲电子股份有限公司 | 一种存储器检测方法 |
CN105469834A (zh) * | 2014-09-12 | 2016-04-06 | 上海华虹宏力半导体制造有限公司 | 嵌入式闪存的测试方法 |
CN105824730A (zh) * | 2016-03-16 | 2016-08-03 | 北京珠穆朗玛移动通信有限公司 | 一种硬件诊断修复方法及装置 |
CN108039190A (zh) * | 2017-12-15 | 2018-05-15 | 北京京存技术有限公司 | 一种测试方法及装置 |
CN108335721A (zh) * | 2018-03-14 | 2018-07-27 | 烽火通信科技股份有限公司 | 一种实时检测随机存取存储器地址线故障的方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112420115A (zh) * | 2020-11-05 | 2021-02-26 | 深圳市宏旺微电子有限公司 | 一种动态随机存取存储器的故障检测方法 |
CN112420115B (zh) * | 2020-11-05 | 2024-05-10 | 深圳市宏旺微电子有限公司 | 一种动态随机存取存储器的故障检测方法 |
CN112331256A (zh) * | 2020-11-13 | 2021-02-05 | 深圳佰维存储科技股份有限公司 | Dram测试方法、装置、可读存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7461312B2 (en) | Digital signature generation for hardware functional test | |
CN101482843A (zh) | 用于总线验证的片上电路 | |
JP6594309B2 (ja) | チャネル回路と自動試験システム | |
US10001999B2 (en) | System and method for configuring a plurality of registers with soft error detection and low wiring complexity | |
CN111627490A (zh) | 同步动态随机存储器测试方法和装置 | |
US8843539B2 (en) | Generation of seed value for pseudo random number generator | |
CN109582494A (zh) | 使用内部存储器设备代码的存储器控制器错误校验过程 | |
KR20010014619A (ko) | 데이터 기입 장치, 데이터 기입 방법 및 시험 장치 | |
US9293226B2 (en) | Memory test device and operating method thereof | |
US5418931A (en) | Method and apparatus for detecting timing errors in digital circuit designs | |
US20030154426A1 (en) | Method and apparatus for programmable BIST and an optional error counter | |
CN112395144A (zh) | 一种测试方法、系统、终端设备及可读存储介质 | |
US8612663B1 (en) | Integrated circuit devices, systems and methods having automatic configurable mapping of input and/or output data connections | |
US8782475B2 (en) | PRBS test memory interface considering DDR burst operation | |
US11515860B2 (en) | Deterministic jitter generator with controllable probability distribution | |
KR102272750B1 (ko) | 비밀 정보 생성 장치 및 그것의 동작 방법 | |
KR20120062247A (ko) | 오류코드 패턴 형성 회로 및 이를 포함하는 메모리 장치 | |
US6983437B2 (en) | Timing verification, automated multicycle generation and verification | |
US20210295939A1 (en) | A digital circuit testing and analysis module, system and method thereof | |
US10192634B2 (en) | Wire order testing method and associated apparatus | |
CN101187692A (zh) | 半导体集成电路 | |
CN110321574B (zh) | 一种打印波形的方法和装置 | |
US20220416771A1 (en) | Embedded pattern generator | |
CN111044887B (zh) | 一种ddr2/3 phy bist命令通道测试向量生成方法 | |
US20050262402A1 (en) | Noisy channel emulator for high speed data |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200904 |