CN1322423C - 芯片故障的检测方法 - Google Patents
芯片故障的检测方法 Download PDFInfo
- Publication number
- CN1322423C CN1322423C CNB2004100708219A CN200410070821A CN1322423C CN 1322423 C CN1322423 C CN 1322423C CN B2004100708219 A CNB2004100708219 A CN B2004100708219A CN 200410070821 A CN200410070821 A CN 200410070821A CN 1322423 C CN1322423 C CN 1322423C
- Authority
- CN
- China
- Prior art keywords
- register
- detect
- needs
- chip
- image 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种芯片故障的检测方法,包括:在系统内存中分别建立所有芯片内寄存器的镜像数据;设定第一检测周期;当所述第一检测周期开始时,随机确定所述系统中每个芯片需要检测的寄存器;根据需要检测的寄存器中的数据及所述镜像数据判断所述芯片是否出现故障。利用本发明,可以减少对系统CPU资源的占用,提高芯片故障检测的覆盖率及灵敏度。
Description
技术领域
本发明涉及电子或通信领域的测试技术,具体涉及一种芯片故障的检测方法。
背景技术
随着芯片制造技术、嵌入式微处理器技术和软件技术的发展,在电子及通信产品的设计中,越来越多的ASIC(专用集成电路)/VISI(超大规模的集成电路)被应用,随着芯片集成度的提高,单个芯片的功能越来越强,甚至发展到整个一块板卡中只有一块完成主要功能的ASIC和其他辅助电路。因此,为了保证产品的正常运行,对这类芯片的故障检测和诊断非常重要。
实际中,通过验证和统计发现,如果芯片供电电源失效或者供电电源电压低于门限值、芯片出现烧坏、短路等原因导致芯片功能失效,芯片中的寄存器值会发生变化。对于这类故障,通常采用“寄存器巡检”的方法对芯片进行检测,即通过定时检测判断芯片的寄存器是否变化来检测芯片的好坏。
具体操作是:在系统启动时将需要写入到ASIC/VISI内寄存器的控制、配置等数据先写到系统中保留一份作为镜像,芯片数据镜像备份示意如图1所示,然后再写入到ASIC/VISI中,在正常的运行过程中为了判断芯片的工作是否正常,定时读取芯片中的相关寄存器中的数据,并与内存中保留的镜像数据进行比较,如果两者不一致则认为芯片失效。然后通过启动系统预先设计好的诊断、恢复、重启等程序,使系统恢复正常运行。
通常,对于一个结构复杂的芯片,当其内部的寄存器数量较大时,为了保证故障检测的覆盖率,每次都要对所有的寄存器进行巡检,这样就会占用较多的CPU资源,而且当寄存器数量较大时,每巡检一次会耗用较长的时间,会影响系统的实时业务处理。为了减少对系统正常业务处理的影响,在设计时也会采用只对部分寄存器进行巡检或延长巡检周期的方式。
对部分寄存器进行巡检的方式是指:根据每个寄存器完成的功能不同,选取一些重要的寄存器作为代表进行定时巡检。而芯片失效后寄存器错乱或被修改的可能性是不确定的,有可能是一个寄存器被修改,也有可能是大量被修改,因此,这种选取部分寄存器作为代表的检测方法只能检测芯片的部分失效,检测的覆盖率较低。
延长巡检周期的方式虽然能相对减少对CPU资源的占用,但巡检周期太长就会影响故障检测的灵敏度,导致故障发生后需要较长的时间才能检测到。另外,虽然延长了巡检周期,但是在一个巡检周期内,对所有寄存器巡检的时间是固定的,如果在此段时间内需要及时处理其他业务,则系统业务的实时处理能力会受到严重影响,并且可能导致巡检结果的异常。
发明内容
本发明的目的是提供一种芯片故障的检测方法,以克服现有技术中芯片故障检测时检测覆盖率及灵敏度低的缺点。
本发明的目的是通过以下技术方案实现的:
一种芯片故障的检测方法,包括:
A、建立所有芯片内寄存器的镜像数据;
B、设定第一检测周期;
C、当所述第一检测周期开始时,随机确定所述芯片需要检测的寄存器或者选择每个芯片中固定或重要的寄存器作为需要检测的寄存器;
D、判断所述需要检测的寄存器中的数据与所述镜像数据是否相同并根据判断结果确定所述需要检测的寄存器所对应的芯片是否出现故障。
所述随机确定所述芯片需要检测的寄存器的步骤具体包括:
C1、为寄存器排序并设定其序列号;
C2、从寄存器序列中随机确定需要检测的寄存器。
所述选择每个芯片中固定或重要的寄存器作为需要检测的寄存器的步骤具体包括:
C1、为寄存器排序并设定其序列号;
C2′、从C1步骤中的寄存器中选择每个芯片中固定或重要的寄存器作为需要检测的寄存器。
所述步骤C2具体包括:
C21、产生所述寄存器序列号范围内的第一随机数;
C22、根据所述第一随机数确定需要检测的寄存器。
所述步骤C22具体为:
将序列号为所述第一随机数至需要检测的寄存器序列号最大值范围内的全部寄存器作为需要检测的寄存器;或者
将序列号为所述第一随机数至需要检测的寄存器序列号最小值范围内的全部寄存器作为需要检测的寄存器。
所述步骤C22具体为:
将序列号为所述第一随机数至需要检测的寄存器序列号最大值范围内预定数目的寄存器作为需要检测的寄存器;或者
将序列号为所述第一随机数至需要检测的寄存器序列号最小值范围内预定数目的寄存器作为需要检测的寄存器。
所述步骤C22具体为:
产生所述需要检测的寄存器序列号范围内的第二随机数;
以序列号为所述第一随机数的寄存器为起始位置,按照升序方式循环选定数目为所述第二随机数个寄存器作为需要检测的寄存器;或者
以序列号为所述第一随机数的寄存器为起始位置,按照降序方式循环选定数目为所述第二随机数个寄存器作为需要检测的寄存器。
所述步骤C22具体为:
产生所述待检寄存器序列号范围内的第二随机数;
以序列号为所述第一随机数的寄存器为起始位置,按照升序方式循环选定数目为所述第二随机数个寄存器作为需要检测的寄存器;或者
以序列号为所述第一随机数的寄存器为起始位置,按照降序方式循环选定数目为所述第二随机数个寄存器作为需要检测的寄存器。
所述步骤A还包括:建立寄存器镜像数据索引表;
所述步骤D具体包括:
D1、读取所述需要检测的寄存器中的数据;
D2、根据所述寄存器镜像数据索引表获取内存中对应于所述需要检测的寄存器的镜像数据;
D3、比较所述读取的寄存器中的数据与所述获取的寄存器中的镜像数据,根据比较结果判断所述寄存器所在的芯片是否出现故障。
所述寄存器镜像数据索引表包括:寄存器在芯片中的地址、寄存器镜像数据起始地址、寄存器镜像数据长度。
所述方法还包括:
E、将所有芯片内寄存器分成预定个数的寄存器组;
F、设定第二检测周期;
G、依次在每个所述第二周期开始时,分别获取所述寄存器组中的数据;
H、根据所述寄存器组中的数据及所述镜像数据判断所述芯片是否出现故障。
由以上本发明提供的技术方案可以看出,本发明方法通过在每个检测周期随机选取每个芯片中需要检测的寄存器进行芯片故障检测,相对于遍历检测全部寄存器来说,缩短了检测周期,减少了对系统资源的占用,通过随机选取每个芯片中重要的寄存器进行检测,可以进一步提高故障检测的灵敏度,及时、快速地检测出芯片的主要故障;相对于固定选取芯片中部分寄存器作为代表进行检测的方式,提高了故障检测的覆盖率。本发明方法还通过附加在一定周期内通过采用分批任务遍历检测全部寄存器的检测任务,进一步提高了故障检测的覆盖率。
附图说明
图1是芯片数据镜像备份示意图;
图2是本发明第一实施例的流程图;
图3是定时分批遍历检测任务中检测周期关系示意图;
图4是本发明方法中定时分批遍历检测任务的流程图;
图5是本发明第二实施例的流程图。
具体实施方式
本发明的核心在于在现有技术基础上,将现有技术中固定选取芯片内部分寄存器进行检测改为随机选取芯片内部分寄存器进行检测,也就是说建立随机检测任务来确定发生故障的芯片;设定每个检测周期要检测的寄存器的数目,可以是固定数目,也可以是随机数目;为了进一步保证检测的覆盖率,建立循环检测任务,即同时进行在一定周期内分批遍历检测全部寄存器的检测任务,根据对全部寄存器的检测来确定所有发生故障的芯片。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明作进一步的详细说明。
参照图2,图2是本发明第一实施例的流程图:
首先,在步骤201:随机检测任务初始化,包括以下内容:
(1)在系统内存中分别建立所有芯片内寄存器的镜像数据,并建立寄存器镜像数据索引表,可参见图1。
在一个系统中,比如一个板卡系统,可能会有多个芯片,而每个芯片中又可能会有多个存储不同功能数据的寄存器,有时某个寄存器的故障并不能导致芯片所有功能的失效,同样,某个寄存器正常也不能保证芯片所有功能有效,因此在系统内存中分别建立所有芯片内寄存器的镜像数据。在实际运行中检测任务需要检测哪些寄存器,从内存中选取对应该寄存器的镜像数据进行比较即可。
寄存器镜像数据索引表包括:寄存器在芯片中的地址、寄存器镜像数据起始地址、寄存器镜像数据长度。如表1所示:
表1:
寄存器在芯片中的地址 | 寄存器镜像数据起始地址 |
1F20H | F120H |
1F30H | F130H |
2F20H | F250H |
2F30H | F260H |
… | … |
其中,寄存器在芯片中的地址表示寄存器所在位置;寄存器镜像数据起始地址表示内存中存放的对应该寄存器的镜像数据的起始地址;
(2)设置随机检测任务定时器。该定时器的定时时间(第一检测周期)可根据系统中寄存器的数量及系统功能等来确定。
随机检测任务初始化完成后,启动随机检测任务定时器,当该定时器的定时时间到达后,进到步骤202:启动随机检测任务。
进到步骤203:选定每个芯片中的待检寄存器。可以根据每个芯片中寄存器的数量、大小及功能的不同,对寄存器进行分类和分析,对于寄存器失效或者改变后对系统产生严重故障的要放在重要的位置。这样就可以根据重要性将寄存器分为几类,选取影响最重要的寄存器作为随机选择的基本寄存器,然后再在这些基本寄存器中随机选择一部分作为每次随机检测的寄存器。当然,也可以选择芯片中的全部寄存器作为待检寄存器。
步骤204:为待检寄存器排序并设定其序列号。选定的待检寄存器可能是全部寄存器、也可能是部分寄存器,为了简化检测任务的实现并保持这些待检测寄存器编号的连续性,对这些选定的待检寄存器进行排序,并设定其序列号。
为了能够根据序列号查找到该寄存器所在的芯片,以便判断是判断个芯片出现故障,还需要建立寄存器序列号与寄存器镜像数据索引表中的寄存器在芯片中的地址的对应关系,可以有多种方式,比如:建立一个序列号转换表,该表包括所有待检寄存器的序列号及与其对应的寄存器在芯片中的地址,根据寄存器的序列号检索该转换表即可方便地查找到需要巡检的寄存器;还可以将待检寄存器的序列号添加到上述寄存器镜像数据索引表中,在未选中作为待检寄存器的对应位置上填充无效位,比如“NN”,在查找寄存器所在的芯片时,以寄存器序列号作为索引即可。如表2所示:
表2:
寄存器在芯片中的地址 | 寄存器镜像数据起始地址 | 待检寄存器序列号 |
1F20H | F120H | NN |
1F30H | F130H | 1 |
2F20H | F250H | 10 |
2F30H | F260H | 7 |
… | … | … |
然后,进到步骤205:从待检寄存器序列中随机确定需要检测的寄存器。这样就能保证对每个芯片都定时检测,并且每次检测的是重要的、有代表性的、随机的寄存器。
随机确定需要检测的寄存器后,进到步骤206:依次读取需要检测的寄存器中的数据。因为需要检测的寄存器可能有多个,需要逐个进行检测。
步骤207:根据寄存器镜像数据索引表获取内存中对应于需要检测的寄存器的镜像数据。
在上述步骤205中确定了需要检测的寄存器后,也就知道了该寄存器的序列号,在前面已经提到,可以有多种方式建立寄存器序列号与寄存器镜像数据索引表中的寄存器在芯片中的地址的对应关系,根据寄存器序列号能够获知寄存器在芯片中的地址,再根据寄存器镜像数据索引表获知该寄存器镜像数据起始地址及长度,根据这些信息从内存中获取对应于该寄存器的镜像数据。
然后,进到步骤208:判断寄存器中的数据与内存中的镜像数据是否相同。
如果相同,则表明寄存器所在芯片正常,进到步骤209:等待下一个检测周期。也就是说等待随机检测任务定时器再次到达定时时间后,重新启动随机检测任务,按照上述过程进行芯片故障检测。
如果不相同,则表明寄存器所在芯片出现故障,进到步骤210:进行故障处理。
在上述步骤205中指出了从待检寄存器序列中随机确定需要检测的寄存器,其过程如下:
首先,产生待检寄存器序列号范围内的一个随机数(第一随机数)。本技术领域人员知道,随机数有多种产生方式,可以根据系统实际情况,选取合适的方式,在此不再详细描述。
然后,根据该随机数从待检寄存器序列中选出需要检测的寄存器。每次检测任务选定的寄存器的数量可以相同、也可以不同。
假设待检寄存器共有1000个,可以根据寄存器的地址大小,对寄存器进行排序,序号为1~1000。
(1)假设每次巡检100个,每次需要检测时通过程序产生一个1~1000之间的随机整数N,将序列号与该随机整数相同的寄存器作为检测的第一个寄存器,每次巡检其后面的100个寄存器,即序列号为N至N+100的寄存器;或者每次巡检其前面的100个寄存器N-100至N的寄存器。
如果N+100的值超出寄存器的最大序列号1000时,则可从序号N向后只检测到序列号为1000的寄存器;也可从待检寄存器序列中作升序循环选择,也就是说检测到1000后,再从1开始,总共选择100个寄存器作为检测对象。
同样,如果N-100的值小于寄存器的最小序列号1时,则可从序号N向前只检测到序号为1的寄存器;也可从待检寄存器序列中作降序循环选择,也就是说检测到1后,再从1000开始,总共选择100个寄存器作为检测对象。
(2)假设每次巡检的寄存器数量不同,较简单的方式是:每次需要检测时通过程序产生一个1~1000之间的随机整数N,将序列号与该随机整数相同的寄存器作为检测的第一个寄存器,每次巡检序列号为N~1000的寄存器;或者每次巡检序列号为0~N的寄存器。按照寄存器序列号由小到大或由大到小的顺序检测。
(3)如果每次巡检的寄存器数量不同时,在产生第一个随机整数N后,还可以产生一个待检寄存器序列号范围内的第二随机数M,作为每次巡检寄存器的数量。
将序列号与第一随机整数N相同的寄存器作为检测的第一个寄存器,每次巡检其后面的M个寄存器,即序列号为N至N+M的寄存器;或者每次巡检其前面的M个寄存器N-M至N的寄存器。
同样,如果N+M的值超出寄存器的最大序列号1000,或者N-100的值小于寄存器的最小序列号1时,选择N~1000或者1~N的寄存器进行检测;也可对待检寄存器作循环选择,选出M个寄存器进行检测。
当然,还有很多其他的随机选择方式,其选择过程与上述类似,在此不再详细描述。
为了减少对系统资源的占用,尽可能选择各芯片中最重要的、有代表性的寄存器进行检测;
为了提高故障检测的灵敏度,可在系统允许的范围内,尽量缩短巡检周期,也就是设置随机检测任务定时器的定时时间为较小的值。
如果全部巡检占用10ms的CPU资源,那么每次抽样检测10%的寄存器则只需要1ms的CPU资源。同样的从整个资源占用率上看,如采用100ms的定时巡检任务,如果选择全部寄存器巡检任务的资源占用率达到10%;如果每次抽样检测10%的,则巡检任务的资源占用率只有1%。
为了更好地保障故障检测的覆盖率,在上述随机检测任务的基础上,附加一个定时分批遍历检测任务。其基本思想是将所有芯片内寄存器分成预定个数(S)的寄存器组,然后通过定时任务依次巡检每个数据块,假设此定时任务的周期为t,那么在S个定时任务周期t内就能完成对所有芯片寄存器的巡检。巡检完所有寄存器所花时间为T=S*t。
图3示出了他们之间的关系:
在每个检测周期开始(0、t、2t、...)后,选择一个寄存器组,依次对该寄存器组内的每个寄存器进行检测,直到检测完该寄存器组内的所有寄存器。每个寄存器组的检测时间只占用一个检测周期t的很小一段。在下一个检测周期开始后,选择下一个寄存器组进行检测。以此来减少对CPU资源的占用,提高故障检测覆盖率。
参照图4,图4示出上述定时分批遍历检测任务的流程:
步骤401:定时分批遍历检测任务初始化,包括设置遍历检测定时器,该定时器的定时时间(第二检测周期)可根据系统中寄存器的数量及系统功能等来确定;并初始化寄存器组X,通常从第一个寄存器组开始检测,即X=0。当然,也可以任意选取一个寄存器组开始。
步骤402:启动定时分批遍历检测任务。
步骤403:将所有芯片内寄存器分成S个寄存器组。每个寄存器组可以包含相同数量的寄存器,也可包含不同数量的寄存器。假设寄存器组从0开始编号,则有0~S-1个寄存器组。
步骤404:启动遍历检测定时器。
步骤405:获取第X个寄存器组。
步骤406:依次读取需要检测的寄存器中的数据。
步骤407:判断寄存器中的数据与内存中对应的镜像数据是否相同。
如果寄存器中的数据与内存中对应的镜像数据不同,则进到步骤411:进行故障处理。
如果相同,则进到步骤408:将X的值加1,也就是说选取下一个寄存器组。
然后,进到步骤409:判断X的值是否等于S,也就是说是否已检测到最后一个寄存器组。
如果X等于S,则进到步骤410:将X的值重置为0,即选择第一个寄存器组进行检测。如果X是从0开始,则此时表明已分时检测完一遍系统内的全部寄存器。
然后,返回步骤404:启动遍历检测定时器,进行下一个周期的检测。
如果X不等于S,则直接返回到步骤404,等待下一个周期的检测。
上述定时分批遍历检测任务可以在系统内独立运行,其优点是占用CPU资源较少,能够完成对所有寄存器的遍历检测,使故障检测覆盖率达到最大;缺点是故障检测灵敏度较低,不能及时地检测出整个系统中芯片的故障。
为了保障检测的灵敏度和覆盖率,在本发明方法中,将上述定时分批遍历检测任务与前面所述的随机检测任务相结合,充分发挥各自的优点,两个检测任务独立运行,完成各自的检测,任何一个检测任务检测到芯片故障都认为是系统的异常情况。
参照图5,图5是本发明第二实施例的流程图:
在该实施例中,两个检测任务相互独立运行,完成各自的检测。
首先,在步骤51:系统初始化,包括以下内容:
(1)在系统内存中分别建立所有芯片内寄存器的镜像数据,并建立寄存器镜像数据索引表。对于寄存器镜像数据索引表前面已有说明,在此不再赘述。
(2)将所有芯片内寄存器分成预定个数的寄存器组,并建立寄存器组序列表。根据寄存器的大小及系统实际需要,每个寄存器组包括相同个数的寄存器或者多个不同个数的寄存器。一个较佳的分组方式是每组中都包含有各芯片的部分寄存器,这样,就使一个检测周期内能够检测到每个芯片的部分寄存器,有利于提高检测覆盖率。
寄存器组序列表包括寄存器组序号、寄存器在芯片中的地址,如下表3所示。
表3:
寄存器组序号 | 寄存器在芯片中的地址 |
1 | 1F20H |
1 | 2F30H |
2 | 2F20H |
3 | 1F30H |
3 | 3F20H |
… | … |
为了简化程序处理,也可以不单独建立寄存器组序列表,而是将寄存器组序号添加到上述寄存器镜像数据索引表中,即将前面表2所示的寄存器镜像数据索表改为表4:
表4:
寄存器在芯片中的地址 | 寄存器镜像数据起始地址 | 待检寄存器序列号 | 寄存器组序号 |
1F20H | 1F20H | NN | 1 |
1F30H | 1F30H | 1 | 3 |
2F20H | 2F50H | 10 | 2 |
2F30H | 2F60H | 7 | 1 |
… | … | … |
(3)设置随机检测任务定时器和遍历检测定时器,其中,随机检测任务定时器的定时时间(第一检测周期)为执行随机检测任务的时间间隔;遍历检测定时器的定时时间(第二检测周期)为执行分批遍历检测任务的时间间隔。
系统初始化完成后,进到步骤52:启动随机检测任务定时器和遍历检测定时器。
当随机检测任务定时器的定时时间到达后,
进到步骤511:启动随机检测任务。
然后,进到步骤512:随机确定系统中每个芯片需要检测的寄存器。随机确定系统中每个芯片需要检测的寄存器的详细过程可参照前面的描述。
进到步骤513:根据寄存器镜像数据索引表获取需要检测的寄存器对应的内存中的镜像数据。
步骤514:根据需要检测的寄存器中的数据及对应的内存中的镜像数据判断芯片是否出现故障。
当遍历检测定时器的定时时间到达后,
进到步骤521:启动定时分批遍历检测任务。
然后,进到步骤522:从寄存器组序列表中选取一个寄存器组。可以从第一个寄存器组开始,也可以任选一个寄存器组开始。
步骤523:分别获取寄存器组中不同寄存器的数据。
然后,进到步骤524:根据寄存器镜像数据索引表获取寄存器对应的内存中的镜像数据。
步骤525:根据寄存器中的数据及对应的内存中的镜像数据判断芯片是否出现故障。
当下一个随机检测任务周期开始后,按照上述随机检测任务的检测方式继续进行。
当下一个定时分批遍历检测任务周期开始后,按照上述分批遍历检测任务的检测方式继续进行。在此需要注意的是,在每一个检测周期,只遍历检测一个寄存器组。为了保证检测的覆盖率,需要按照寄存器组序列表逐一检测,以便在固定周期内全部检测到每一个芯片中的所有寄存器。
在上述实施例的实际应用中,为了减少软件实现时的复杂度,可以将随机检测任务改为只检测固定的、重要的寄存器。这样,既能减少软件的复杂度,又通过对固定的、重要的寄存器的检测保障了检测的灵敏度,同时通过分批遍历检测任务保证了故障检测的覆盖率。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
Claims (11)
1、一种芯片故障的检测方法,其特征在于,包括:
A、建立所有芯片内寄存器的镜像数据;
B、设定第一检测周期;
C、当所述第一检测周期开始时,随机确定所述芯片需要检测的寄存器或者选择每个芯片中固定或重要的寄存器作为需要检测的寄存器;
D、判断所述需要检测的寄存器中的数据与所述镜像数据是否相同并根据判断结果确定所述需要检测的寄存器所对应的芯片是否出现故障。
2、根据权利要求1所述的方法,其特征在于,所述随机确定所述芯片需要检测的寄存器的步骤具体包括:
C1、为寄存器排序并设定其序列号;
C2、从寄存器序列中随机确定需要检测的寄存器。
3、根据权利要求1所述的方法,其特征在于,所述选择每个芯片中固定或重要的寄存器作为需要检测的寄存器的步骤具体包括:
C1、为寄存器排序并设定其序列号;
C2′、从C1步骤中的寄存器中选择每个芯片中固定或重要的寄存器作为需要检测的寄存器。
4、根据权利要求2所述的方法,其特征在于,所述步骤C2具体包括:
C21、产生所述寄存器序列号范围内的第一随机数;
C22、根据所述第一随机数确定需要检测的寄存器。
5、根据权利要求4所述的方法,其特征在于,所述步骤C22具体为:
将序列号为所述第一随机数至需要检测的寄存器序列号最大值范围内的全部寄存器作为需要检测的寄存器;或者
将序列号为所述第一随机数至需要检测的寄存器序列号最小值范围内的全部寄存器作为需要检测的寄存器。
6、根据权利要求4所述的方法,其特征在于,所述步骤C22具体为:
将序列号为所述第一随机数至需要检测的寄存器序列号最大值范围内预定数目的寄存器作为需要检测的寄存器;或者
将序列号为所述第一随机数至需要检测的寄存器序列号最小值范围内预定数目的寄存器作为需要检测的寄存器。
7、根据权利要求4所述的方法,其特征在于,所述步骤C22具体为:
产生所述需要检测的寄存器序列号范围内的第二随机数;
以序列号为所述第一随机数的寄存器为起始位置,按照升序方式循环选定数目为所述第二随机数个寄存器作为需要检测的寄存器;或者
以序列号为所述第一随机数的寄存器为起始位置,按照降序方式循环选定数目为所述第二随机数个寄存器作为需要检测的寄存器。
8、根据权利要求1所述的方法,其特征在于,所述步骤A还包括:建立寄存器镜像数据索引表。
9、根据权利要求8所述的方法,其特征在于,所述步骤D具体包括:
D1、读取所述需要检测的寄存器中的数据;
D2、根据所述寄存器镜像数据索引表获取内存中对应于所述需要检测的寄存器的镜像数据;
D3、比较所述读取的寄存器中的数据与所述获取的寄存器中的镜像数据,根据比较结果判断所述寄存器所在的芯片是否出现故障。
10、根据权利要求8或9所述的方法,其特征在于,所述寄存器镜像数据索引表包括:寄存器在芯片中的地址、寄存器镜像数据起始地址、寄存器镜像数据长度。
11、根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
E、将所有芯片内寄存器分成预定个数的寄存器组;
F、设定第二检测周期;
G、依次在每个所述第二周期开始时,分别获取所述寄存器组中的数据;
H、根据所述寄存器组中的数据及所述镜像数据判断所述芯片是否出现故障。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100708219A CN1322423C (zh) | 2004-07-20 | 2004-07-20 | 芯片故障的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100708219A CN1322423C (zh) | 2004-07-20 | 2004-07-20 | 芯片故障的检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1725189A CN1725189A (zh) | 2006-01-25 |
CN1322423C true CN1322423C (zh) | 2007-06-20 |
Family
ID=35924671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100708219A Expired - Fee Related CN1322423C (zh) | 2004-07-20 | 2004-07-20 | 芯片故障的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1322423C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100359864C (zh) * | 2006-02-23 | 2008-01-02 | 烽火通信科技股份有限公司 | 信号处理单元cpu故障的检测方法及装置 |
CN102360325B (zh) * | 2011-09-26 | 2017-06-23 | 青岛海信电器股份有限公司 | 寄存器调试方法及装置 |
CN105320583A (zh) * | 2014-07-31 | 2016-02-10 | 上海华虹集成电路有限责任公司 | 基于uvm验证方法学的只写寄存器验证测试平台及验证方法 |
CN105446844A (zh) * | 2014-09-01 | 2016-03-30 | 上海华虹集成电路有限责任公司 | 基于uvm验证方法学的只读寄存器验证测试平台及验证方法 |
CN105373458A (zh) * | 2014-09-01 | 2016-03-02 | 上海华虹集成电路有限责任公司 | Uvm验证平台的内部信号检测方法及应用 |
CN108875415A (zh) * | 2018-06-28 | 2018-11-23 | 福建超瑞创原信息技术有限公司 | 一种随机检测的安全方法及装置 |
CN110793639A (zh) * | 2019-11-18 | 2020-02-14 | 北京和普威视科技股份有限公司 | 一种判断红外热成像机芯健康状态的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1145972C (zh) * | 2000-03-30 | 2004-04-14 | 华为技术有限公司 | 随机存储器的自动检测方法及其检测电路 |
CN1230830C (zh) * | 2001-12-20 | 2005-12-07 | 华为技术有限公司 | Ram高速测试控制电路及其测试方法 |
CN1266481C (zh) * | 2002-09-17 | 2006-07-26 | 松下电器产业株式会社 | 用于半导体集成电路的故障检测方法 |
-
2004
- 2004-07-20 CN CNB2004100708219A patent/CN1322423C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1145972C (zh) * | 2000-03-30 | 2004-04-14 | 华为技术有限公司 | 随机存储器的自动检测方法及其检测电路 |
CN1230830C (zh) * | 2001-12-20 | 2005-12-07 | 华为技术有限公司 | Ram高速测试控制电路及其测试方法 |
CN1266481C (zh) * | 2002-09-17 | 2006-07-26 | 松下电器产业株式会社 | 用于半导体集成电路的故障检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1725189A (zh) | 2006-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6122762A (en) | Memory interface device and method for supporting debugging | |
CN1543604B (zh) | 带有片上后台调试系统的数据处理系统和相关方法 | |
US8817930B2 (en) | Clock and mode signals for header and data communications | |
US4783785A (en) | Method and apparatus for diagnosis of logical circuits | |
CN101464114B (zh) | 电子雷管起爆网路的上线注册方法 | |
US5717694A (en) | Fail analysis device for semiconductor memory test system | |
CN1322423C (zh) | 芯片故障的检测方法 | |
JPH0249599B2 (zh) | ||
CN115203092B (zh) | 一种单主多从的单线通信方法、装置及设备 | |
US6784686B2 (en) | Semiconductor testing device | |
Garcia et al. | Exploiting partially reconfigurable FPGAs for situation-based reconfiguration in wireless sensor networks | |
CN116226025A (zh) | 数据包传输方法、调度管理单元、芯片和显卡 | |
KR920007349A (ko) | 디지틀 펄스 처리장치 | |
CN202404912U (zh) | 智能卡芯片存储器的神经网络测试模块及测试系统 | |
EP0628913A1 (en) | Interrupt signal detection circuit | |
JP2945193B2 (ja) | Icカードのテスト方法ならびにこの方法の実施に適したicカードおよびテスト装置 | |
US20020079917A1 (en) | IC measuring device | |
CN214122448U (zh) | 一种控制电路及激光雷达 | |
SU1681304A1 (ru) | Устройство дл автоматического поиска дефектов в логических блоках | |
JP2541301B2 (ja) | 故障検出方法 | |
JP4038663B2 (ja) | Ic試験システム及び最小アドレスの選出方法 | |
JP3028079B2 (ja) | 同時動作制御装置 | |
JPH0317755A (ja) | マイクロプロセツサ応用回路 | |
SU1485313A1 (ru) | Устройство для контроля блоков памяти | |
US7149830B2 (en) | Semiconductor device and microcontroller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070620 |