CN116256621A - 芯粒的测试方法、装置、电子设备及存储介质 - Google Patents

芯粒的测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116256621A
CN116256621A CN202310538214.3A CN202310538214A CN116256621A CN 116256621 A CN116256621 A CN 116256621A CN 202310538214 A CN202310538214 A CN 202310538214A CN 116256621 A CN116256621 A CN 116256621A
Authority
CN
China
Prior art keywords
core particle
register
type
current
core
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.)
Granted
Application number
CN202310538214.3A
Other languages
English (en)
Other versions
CN116256621B (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.)
Zhongcheng Hualong Computer Technology Co Ltd
Original Assignee
Zhongcheng Hualong Computer Technology 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 Zhongcheng Hualong Computer Technology Co Ltd filed Critical Zhongcheng Hualong Computer Technology Co Ltd
Priority to CN202310538214.3A priority Critical patent/CN116256621B/zh
Publication of CN116256621A publication Critical patent/CN116256621A/zh
Application granted granted Critical
Publication of CN116256621B publication Critical patent/CN116256621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • 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

Abstract

本发明实施例涉及集成电路技术领域,特别涉及一种芯粒的测试方法、装置、电子设备及存储介质。其中,方法包括:将目标集成芯片中的芯粒分为若干个芯粒组;针对每一个芯粒组,均执行:向当前芯粒组中的第一个芯粒输入测试信号,对当前芯粒组中最后一个芯粒的输出信号进行检测,确定当前芯粒组是否存在故障;分别对存在故障的芯粒组中的每一个芯粒进行检测,以确定故障芯粒;确定故障芯粒中包含的第一类寄存器、第二类寄存器和微控制单元,并分别对第一类寄存器、第二类寄存器和微控制单元进行校验,以根据校验结果确定故障芯粒的故障区域。本发明提供的技术方案不仅可以提高测试效率,还可以提高故障区域的位置精度。

Description

芯粒的测试方法、装置、电子设备及存储介质
技术领域
本发明实施例涉及集成电路技术领域,特别涉及一种芯粒的测试方法、装置、电子设备及存储介质。
背景技术
芯粒是将不同功能的小芯片封装在一起,通过D2D(Die To Die,裸片到裸片)高速串行接口连接,成为一个异构集成芯片。
在芯片出现故障后或使用前,需要对芯粒进行检测,且芯粒是由多个小芯片组成。现有的测试方式是先对所有芯粒组成的集成芯片进行检测,然后再对每个芯粒都单独进行检测,这种检测方式效率较低。
因此,亟需一种新的芯粒测试方法。
发明内容
为了解决现有的芯粒测试方法效率较低的问题,本发明实施例提供了一种芯粒的测试方法、装置、电子设备及存储介质。
第一方面,本发明实施例提供了一种芯粒的测试方法,包括:
将目标集成芯片中的芯粒分为若干个芯粒组;
针对每一个芯粒组,均执行:向当前芯粒组中的第一个芯粒输入测试信号,对当前芯粒组中最后一个芯粒的输出信号进行检测,确定当前芯粒组是否存在故障;其中,当前芯粒组中的各芯粒依次串联连接;
分别对存在故障的芯粒组中的每一个芯粒进行检测,以确定故障芯粒;
确定所述故障芯粒中包含的第一类寄存器、第二类寄存器和微控制单元,并分别对所述第一类寄存器、所述第二类寄存器和所述微控制单元进行测试校验,以根据校验结果确定所述故障芯粒的故障区域;其中,所述第一类寄存器为在芯片运行过程中不会进行翻转的寄存器,所述第二类寄存器为可读可写寄存器。
第二方面,本发明实施例还提供了一种芯粒的测试装置,包括:
分组单元,用于将目标集成芯片中的芯粒分为若干个芯粒组;
第一检测单元,用于针对每一个芯粒组,均执行:向当前芯粒组中的第一个芯粒输入测试信号,对当前芯粒组中最后一个芯粒的输出信号进行检测,确定当前芯粒组是否存在故障;其中,当前芯粒组中的各芯粒依次串联连接;
第二检测单元,用于分别对存在故障的芯粒组中的每一个芯粒进行检测,以确定故障芯粒;
校验单元,用于确定所述故障芯粒中包含的第一类寄存器、第二类寄存器和微控制单元,并分别对所述第一类寄存器、所述第二类寄存器和所述微控制单元进行测试校验,以根据校验结果确定所述故障芯粒的故障区域;其中,所述第一类寄存器为在芯片运行过程中不会进行翻转的寄存器,所述第二类寄存器为可读可写寄存器。
第三方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现本说明书任一实施例所述的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
本发明实施例提供了一种芯粒的测试方法、装置、电子设备及存储介质,首先将目标集成芯片中的芯粒分为若干个芯粒组;针对每一个芯粒组,均向当前芯粒组中的第一个芯粒输入测试信号,对当前芯粒组中最后一个芯粒的输出信号进行检测,以确定当前芯粒组是否存在故障;将存在故障的芯粒组确定出之后,分别对存在故障的芯粒组中的每一个芯粒进行检测,以确定故障芯粒;最后,在确定出故障芯粒后,可以确定故障芯粒中包含的第一类寄存器、第二类寄存器和微控制单元,并分别对第一类寄存器、第二类寄存器和微控制单元进行测试校验,以根据校验结果确定故障芯粒的故障区域。可见,本方案不仅可以高测试效率,还可以提高故障区域的位置精度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种芯粒的测试方法流程图;
图2是本发明一实施例提供的一种电子设备的硬件架构图;
图3是本发明一实施例提供的一种芯粒的测试装置结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如前所述,在芯片出现故障后或使用前,都需要对芯粒进行检测,且芯粒是由多个小芯片组成。现有的测试方式是先对所有芯粒组成的集成芯片进行检测,然后再对每个芯粒都单独进行检测,这种检测方式效率较低。
为了解决上述技术问题,发明人可以考虑先对目标集成芯片中的芯粒进行分组,然后将每个芯粒组中的芯粒连接起来,以对每一个芯粒组进行检测,以此来提高检测效率,相较于对每个芯粒都单独进行检测的方式,可以大大提高检测效率;另外,在确定了故障芯粒后,可以对故障芯粒中包含的每一个第一类寄存器、每一个第二类寄存器和每一个微控制单元分别进行校验,以根据校验结果确定故障芯粒的故障区域,可见,本方案利用对第一类寄存器和第二类寄存器进行校验,可以提高检测出的故障区域的位置精度。
下面描述以上构思的具体实现方式。
请参考图1,本发明实施例提供了一种芯粒的测试方法,该方法包括:
步骤100:将目标集成芯片中的芯粒分为若干个芯粒组;
步骤102:针对每一个芯粒组,均执行:向当前芯粒组中的第一个芯粒输入测试信号,对当前芯粒组中最后一个芯粒的输出信号进行检测,确定当前芯粒组是否存在故障;其中,当前芯粒组中的各芯粒互相电连接;
步骤104:分别对存在故障的芯粒组中的每一个芯粒进行检测,以确定故障芯粒;
步骤106:确定故障芯粒中包含的第一类寄存器、第二类寄存器和微控制单元,并分别对第一类寄存器、第二类寄存器和微控制单元进行测试校验,以根据校验结果确定故障芯粒的故障区域;其中,第一类寄存器为在芯片运行过程中不会进行翻转的寄存器,第二类寄存器为可读可写寄存器。
本发明实施例中,首先将目标集成芯片中的芯粒分为若干个芯粒组;针对每一个芯粒组,均向当前芯粒组中的第一个芯粒输入测试信号,对当前芯粒组中最后一个芯粒的输出信号进行检测,以确定当前芯粒组是否存在故障;将存在故障的芯粒组确定出之后,分别对存在故障的芯粒组中的每一个芯粒进行检测,以确定故障芯粒;最后,在确定出故障芯粒后,可以确定故障芯粒中包含的第一类寄存器、第二类寄存器和微控制单元,并分别对第一类寄存器、第二类寄存器和微控制单元进行检测校验,以根据校验结果确定故障芯粒的故障区域,可见本方案不仅可以高测试效率,还可以提高故障区域的位置精度。
下面描述图1所示的各个步骤的执行方式。
针对步骤100:
在一些实施方式中,步骤100可以包括:
确定目标集成芯片中每一个芯粒的故障指数;
将故障指数大于第一阈值的芯粒单独作为一个芯粒组;
根据故障指数大于第一阈值的芯粒位于目标集成芯片中的位置,对剩余的芯粒进行分区;
针对每一个区域,均执行:将当前区域中故障指数小于第二阈值的芯粒分为一个芯粒组,计算剩余的未分组芯粒的相关性,以根据相关性对剩余的未分组芯粒进行分组;其中,第二阈值小于第一阈值。
在一些实施方式中,故障指数可以通过如下公式计算:
Figure SMS_1
式中,F为当前芯粒的故障指数,
Figure SMS_4
为当前芯粒的重要等级,/>
Figure SMS_6
为当前芯粒的故障概率,/>
Figure SMS_7
为第一类寄存器的影响系数,/>
Figure SMS_3
为第一类寄存器的数量,/>
Figure SMS_5
为第二类寄存器的影响系数,/>
Figure SMS_8
为第二类寄存器的数量,/>
Figure SMS_9
为微控制单元的影响系数,/>
Figure SMS_2
为当前芯粒中内置的微控制单元的数量。
在本发明实施例中,可以预先确定目标集成芯片中每一个芯粒的重要等级,分为第一等级(比较重要)、第二等级(中等重要)、第三等级(一般重要),那么若某一个芯粒的重要等级为第一等级,那么该芯粒的重要等级
Figure SMS_10
则为1,可以理解,第二等级时/>
Figure SMS_15
为2,第三等级时/>
Figure SMS_17
为3,可以看出芯粒越重要,故障指数越大,那么会尽量将重要的芯粒单独作为一个芯粒组或减少芯粒组内的芯粒数量。/>
Figure SMS_12
、/>
Figure SMS_13
和/>
Figure SMS_16
分别为第一类寄存器、第二类寄存器和微控制单元对该芯粒运行的影响系数,可以根据经验设定。在本实施例中,需要考虑第一类寄存器、第二类寄存器和微控制单元的数量,数量很多时,故障排查也会比较困难,尽量将数量很多的芯粒单独作为一个芯粒组或减少芯粒组内的芯粒数量,因此,设置了/>
Figure SMS_18
、/>
Figure SMS_11
和/>
Figure SMS_14
。因此,通过该公式计算故障指数,可以根据该芯粒是否容易故障、重要等级、含有的第一类寄存器、第二类寄存器和微控制单元的数量来综合考量进行分组,可以大大提高后续的故障排查效率。
接着,将故障指数大于第一阈值的芯粒单独作为一个芯粒组,那么以单芯粒组在目标集成芯片中的位置为划分线,对剩下的芯粒按位置进行分区,这样可以将相距较近、且有数据直接交互的芯粒划分为一组,这样可以提高后续的故障检测的效率和准确性,而且相近的芯粒间在检测时进行串联也比较方便,数据直接交互的芯粒原来可能已经连接好了,可以大大节省时间。
在本实施例中,虽然已经分区好了,但是可能每个区域内芯粒的数量较多,直接划分为一组芯粒组出现故障的几率太大,会给后续故障芯粒的排查增加难度。因此,可以将每个区域中故障指数小于第二阈值的芯粒分为一个芯粒组,计算剩余的未分组芯粒的相关性,以根据相关性对剩余的未分组芯粒进行分组,以此来提高后续检测的效率和准确度。
本实施例中,剩余的未分组芯粒的相关性可以基于芯粒之间的距离、是否有数据交互、数据交互频率和数据交互流量确定,以将相距较近、且有数据直接交互的芯粒划分为一组,这样可以提高后续的故障检测的效率和准确性,而且相近的芯粒间在检测时进行串联也比较方便,数据直接交互的芯粒原来可能已经连接好了,可以大大节省时间。
针对步骤102:
在本步骤中,将各芯粒组中的芯粒互相电连接,向每个芯粒组中的第一个芯粒输入测试信号,那么只需对每个芯粒组中最后一个芯粒的输出信号进行检测,就可以确定当前芯粒组是否存在故障。这样可以省略对其他芯粒的单独检测,可以简化检测步骤,并且可以大大提高检测效率。
针对步骤104:
在步骤102确定出存在故障的芯粒组后,那么就可以对存在故障的芯粒组中的每一个芯粒进行单独检测,以确定故障芯粒。
针对步骤106:
在确定了故障芯粒后,就需要对故障芯粒的各个小芯片进行故障排查,以确定故障区域。
芯片中的普通配置寄存器主要有两种,第一类寄存器为在配置后在芯片运行过程中数值不会进行改变的寄存器,第二类寄存器就是在专门的wr_en写使能信号有效时数值会被改写的寄存器,因此,可以通过对故障芯粒中包含的第一类寄存器、第二类寄存器进行校验,来确定故障区域。
在一些实施方式中,第一类寄存器是通过如下校验方式进行校验的:
读取设定时钟周期内每一个第一类寄存器的数值;
在每一个时钟周期内,均将每一个第一类寄存器的数值与预先获取的每一个第一类寄存器的初始配置值进行比较;
若在设定时钟周期内,比较结果均为相同,则确定该第一类寄存器无故障;
若在设定时钟周期内,比较结果存在不同,则确定该第一类寄存器故障。
在本实施例中,由于第一类寄存器在配置后数值不会改变,那么可以比较设定时钟周期内每一个时钟周期时每一个第一类寄存器的数值与之前的初始配置值是否相同,若每一个时钟周期都相同,则认为该第一类寄存器无故障,若在设定时钟周期内有至少一个时钟周期不同,则确定该第一类寄存器故障。
在一些实施方式中,第二类寄存器是通过如下校验方式进行校验的:
获取第二类寄存器的校验标准表;其中,校验标准表中包括每一个第二类寄存器的初始配置值,以及在每一个目标时钟周期下每一个第二类寄存器的理论值;
在每一个目标时钟周期内,均执行:
读取当前目标时钟周期下每一个第二类寄存器的实际值,并将实际值写入至校验标准表中;
确定故障芯片在当前时钟周期内是否产生有效的写使能信号;
基于当前目标时钟周期下每一个第二类寄存器的实际值、写使能信号的产生结果、校验标准表中在当前目标时钟周期下每一个第二类寄存器的理论值和上一个目标时钟周期时每一个第二类寄存器的实际值,确定每一个第二类寄存器的校验结果。
在本实施例中,可以预先确定出校验标准表,表中有在该故障芯粒运行过程中,每一个第二类寄存器的初始配置值,以及在每一个目标时钟周期下每一个第二类寄存器的理论值;那么,在对每一个第二类寄存器的进行配置后,开始校验,那么先读取第一个目标时钟周期下每一个第二类寄存器的实际值,并将每一个第二类寄存器的实际值均写入至校验标准表中;然后,确定故障芯片在当前时钟周期内是否产生有效的写使能信号;那么,可以对第一个目标时钟周期下每一个第二类寄存器的实际值、写使能信号的产生结果、校验标准表中在当前目标时钟周期下每一个第二类寄存器的理论值和上一个目标时钟周期时每一个第二类寄存器的实际值(即每一个第二类寄存器的初始配置值),来确定每一个第二类寄存器在第一个目标时钟周期下的校验结果;接着读取第二个目标时钟周期下每一个第二类寄存器的实际值,并将每一个第二类寄存器的实际值均写入至校验标准表中;然后,确定故障芯片在当前时钟周期内是否产生有效的写使能信号;然后,可以对第二个目标时钟周期下每一个第二类寄存器的实际值、写使能信号的产生结果、校验标准表中在当前目标时钟周期下每一个第二类寄存器的理论值和上一个目标时钟周期时每一个第二类寄存器的实际值(即第一个目标时钟周期下每一个第二类寄存器的初始配置值),确定每一个第二类寄存器在第二个目标时钟周期下的校验结果,以此类推,可以确定出每一个第二类寄存器在设定时钟周期内的所有校验结果。
在一些实施方式中,步骤“基于当前目标时钟周期下每一个第二类寄存器的实际值、写使能信号的产生结果、校验标准表中在当前目标时钟周期下每一个第二类寄存器的理论值和上一个目标时钟周期时每一个第二类寄存器的实际值,确定每一个第二类寄存器的校验结果”,可以包括:
针对每一个第二类寄存器,均执行:
判断当前目标时钟周期下该第二类寄存器的实际值与校验标准表中该第二类寄存器在当前目标时钟周期下的理论值是否一致;
若一致,则该第二类寄存器在当前目标时钟周期内无故障;
若不一致,且该第二类寄存器在当前目标时钟周期下的实际值与上一个目标时钟周期的实际值不同,并且未产生写使能信号时,则确定该第二类寄存器在当前目标时钟周期内疑似故障;否则,则确定该第二类寄存器在当前目标时钟周期内故障。
在本实施例中,针对每一个第二类寄存器,均执行:确定当前目标时钟周期下该第二类寄存器的实际值与校验标准表中该第二类寄存器在当前目标时钟周期下的理论值是否一致,若一致,说明该第二类寄存器在当前目标时钟周期内无故障;若不一致,则需要确定第二类寄存器在当前目标时钟周期下的实际值与上一个目标时钟周期的实际值是否相同,并且有没有产生有效写使能信号,若该第二类寄存器在当前目标时钟周期下的实际值与上一个目标时钟周期的实际值不同,且当前目标时钟周期未产生有效写使能信号,说明该第二类寄存器在当前目标时钟周期下发生了异常翻转,且不是由于写使能信号,这种情况下,可能是由于异常放电导致的第二类寄存器异常翻转,只需要重启芯片或重新配置就可以恢复,因此校验结果为疑似故障;其他的情况下,就确定为在当前目标时钟周期内故障。其他情况包括,1)需要确定第二类寄存器在当前目标时钟周期下的实际值与上一个目标时钟周期的实际值相同,且产生有效写使能信号;2)需要确定第二类寄存器在当前目标时钟周期下的实际值与上一个目标时钟周期的实际值相同,且未产生有效写使能信号;3)需要确定第二类寄存器在当前目标时钟周期下的实际值与上一个目标时钟周期的实际值不同,且产生了有效写使能信号;4)需要确定第二类寄存器在当前目标时钟周期下的实际值与上一个目标时钟周期的实际值不同,且未产生有效写使能信号。
在一些实施方式中,微控制单元是通过如下方式进行检测检验的:
针对每一个含有微控制单元的小芯片,均执行:利用中间模块从含有当前微控制单元的小芯片的串行外设接口SPI接收当前微控制单元的测试数据,并利用中间模块对测试数据进行协议转换;其中,中间模块的一端连接小芯片的SPI主设备接口,另一端连接PC机的USB接口;
利用PC机接收中间模块输出的协议转换后的测试数据,以根据协议转换后的测试数据,确定该微控制单元是否故障。
在本实施例中,含有微控制单元的小芯片通常会设置专用仿真器来进行测试,但是专用仿真器的设计十分费时费力,因此可以考虑将小芯片连接至PC机进行测试,但小芯片并不具备USB接口,这样就无法直接连接PC机来进行检测,可以设置中间模块来将小芯片的微控制单元的测试数据进行协议转换发送至PC机,以确定微控制单元是否故障。
然而,在传统方式中,含有微控制单元的小芯片会通过串行口RS232来打印MCU测试数据,但是该串行口的传输速率较低,并不能满足实时处理;而小芯片的SPI接口(SerialPeripheral Interface,串行外设接口)通常用连接flash存储器,以对小芯片进行配置和芯片初始化,在配置和初始化完成后,SPI接口通常处于空闲状态,故可以使用SPI接口来连接中间模块,以此来保证传输速率。
因此,针对故障芯粒中每一个含有微控制单元的小芯片,均执行:将当前小芯片的SPI主设备接口连接中间模块,且中间模块的另一端连接PC机的USB接口,以利用中间模块将当前小芯片的微控制单元的测试数据进行协议转换发送至PC机,以利用PC机确定微控制单元是否故障,以确定故障区域。
在本发明实施例中,中间模块至少可以包括如下两种结构:
结构一、中间模块包括FPGA芯片。
结构二、中间模块包括FPGA芯片和CYUSB3014芯片。
下面对上述两种结构分别进行说明。
首先对结构一进行说明。
在该结构一中,FPGA芯片包括:SPI解析单元、USB转换单元和缓冲区,通过SPI解析单元模拟来模拟SPI从设备接口,以使FPGA芯片模拟一个SPI从设备,再利用USB转换单元将SPI解析单元解析后的MCU测试数据转换为USB协议,以此来直接利用一片FPGA芯片完成SPI从设备接口到USB接口的协议转换工作。FPGA芯片模拟的SPI从设备与一片flash芯片共同连接在小芯片的SPI接口上。在FPGA芯片的另一端,FPGA芯片通过USB接口与PC机相连。而且,由于USB接口与SPI接口的速率不同,因此需要设置缓存区,用于在SPI解析单元和USB转换单元之间进行数据缓存。
在结构二中,中间模块是通过如下方式进行协议转换的:
利用FPGA芯片接收MCU测试数据,并将MCU测试数据从SPI协议数据转换为GPIF II协议数据;
利用CYUSB3014芯片接收协议转换后的MCU测试数据,并且将协议转换后的MCU测试数据进行二次协议转换,转换为USB协议数据。
在本实施例中,通过一片FPGA芯片模拟一个SPI从设备,与一片flash芯片共同连接在小芯片的SPI接口上。因为PC机没有SPI接口,不能直接连接SPI接口设备,本实施例使用了一片CYUSB3014芯片,以提供USB端口连接PC机。FPGA与CYUSB3014芯片之间使用CYUSB3014提供的GPIF II可编程并行接口连接。GPIF II是并行总线接口标准,专门为CYUSB3014芯片与FPGA芯片连接使用,总线宽度最大为32bit,运行频率最高为100MHz,最大带宽为3.2Gbps。CYUSB3014芯片自带SPI接口,但它自带的是SPI主设备(Master)接口,没有办法直接与小芯片的SPI主设备(Master)接口直接连接。因此,本发明使用了一片FPGA芯片模拟一个SPI从设备与小芯片相连。FPGA芯片一端模拟一个SPI从设备与小芯片相连,另一端通过GPIF II可编程并行接口与CYUSB3014芯片相连。因此,FPGA芯片内部软件需进行SPI接口与GPIF II接口的协议转换工作。而且,由于SPI接口与GPIF II接口的传输速率不同,因此需要设置缓存区,用于在SPI解析单元和GPIF II转换单元之间进行数据缓存。
在确定了每一个第二类寄存器的校验结果之后,若存在疑似故障的第二类寄存器,那么需要重启后重新配置后,再单独检测一遍该第二类寄存器,以确定该第二类寄存器是否真的故障了,再对每一个第一类寄存器和微控制单元进行检测校验,那么,就可以根据故障的第一类寄存器、第二类寄存器和微控制单元,确定出故障区域。
如图2、图3所示,本发明实施例提供了一种芯粒的测试装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图2所示,为本发明实施例提供的一种芯粒的测试装置所在电子设备的一种硬件架构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图3所示,作为一个逻辑意义上的装置,是通过其所在电子设备的CPU将非易失性存储器中对应的计算机程序读取到内存中运行形成的。
如图3所示,本实施例提供的一种芯粒的测试装置,包括:
分组单元301,用于将目标集成芯片中的芯粒分为若干个芯粒组;
第一检测单元302,用于针对每一个芯粒组,均执行:向当前芯粒组中的第一个芯粒输入测试信号,对当前芯粒组中最后一个芯粒的输出信号进行检测,确定当前芯粒组是否存在故障;其中,当前芯粒组中的各芯粒互相电连接;
第二检测单元303,用于分别对存在故障的芯粒组中的每一个芯粒进行检测,以确定故障芯粒;
校验单元304,用于确定故障芯粒中包含的第一类寄存器、第二类寄存器和微控制单元,并分别对第一类寄存器、第二类寄存器和微控制单元进行检测校验,以根据校验结果确定故障芯粒的故障区域;其中,第一类寄存器为在芯片运行过程中不会进行翻转的寄存器,第二类寄存器为可读可写寄存器。
在本发明的一个实施例中,分组单元301用于执行:
确定目标集成芯片中每一个芯粒的故障指数;
将故障指数大于第一阈值的芯粒单独作为一个芯粒组;
根据故障指数大于第一阈值的芯粒位于目标集成芯片中的位置,对剩余的芯粒进行分区;
针对每一个区域,均执行:将当前区域中故障指数小于第二阈值的芯粒分为一个芯粒组,计算剩余的未分组芯粒的相关性,以根据相关性对剩余的未分组芯粒进行分组;其中,第二阈值小于第一阈值。
在本发明的一个实施例中,分组单元301中,故障指数是通过如下公式计算的:
Figure SMS_19
式中,F为当前芯粒的故障指数,
Figure SMS_21
为当前芯粒的重要等级,/>
Figure SMS_23
为当前芯粒的故障概率,/>
Figure SMS_25
为第一类寄存器的影响系数,/>
Figure SMS_22
为第一类寄存器的数量,/>
Figure SMS_24
为第二类寄存器的影响系数,/>
Figure SMS_26
为第二类寄存器的数量,/>
Figure SMS_27
为微控制单元的影响系数,/>
Figure SMS_20
为当前芯粒中内置的微控制单元的数量。
在本发明的一个实施例中,校验单元304中第一类寄存器是通过如下校验方式进行校验的:
读取设定时钟周期内每一个第一类寄存器的数值;
在每一个时钟周期内,均将每一个第一类寄存器的数值与预先获取的每一个第一类寄存器的初始配置值进行比较;
若在设定时钟周期内,比较结果均为相同,则确定该第一类寄存器无故障;
若在设定时钟周期内,比较结果存在不同,则确定该第一类寄存器故障。
在本发明的一个实施例中,校验单元304中第二类寄存器是通过如下校验方式进行校验的:
获取第二类寄存器的校验标准表;其中,校验标准表中包括每一个第二类寄存器的初始配置值,以及在每一个目标时钟周期下每一个第二类寄存器的理论值;
在每一个目标时钟周期内,均执行:
读取当前目标时钟周期下每一个第二类寄存器的实际值,并将实际值写入至校验标准表中;
确定故障芯片在当前时钟周期内是否产生有效的写使能信号;
基于当前目标时钟周期下每一个第二类寄存器的实际值、写使能信号的产生结果、校验标准表中在当前目标时钟周期下每一个第二类寄存器的理论值和上一个目标时钟周期时每一个第二类寄存器的实际值,确定每一个第二类寄存器的校验结果。
在本发明的一个实施例中,校验单元304在执行基于当前目标时钟周期下每一个第二类寄存器的实际值、写使能信号的产生结果、校验标准表中在当前目标时钟周期下每一个第二类寄存器的理论值和上一个目标时钟周期时每一个第二类寄存器的实际值,确定每一个第二类寄存器的校验结果时,用于:
针对每一个第二类寄存器,均执行:
判断当前目标时钟周期下该第二类寄存器的实际值与校验标准表中该第二类寄存器在当前目标时钟周期下的理论值是否一致;
若一致,则该第二类寄存器在当前目标时钟周期内无故障;
若不一致,且该第二类寄存器在当前目标时钟周期下的实际值与上一个目标时钟周期的实际值不同,并且未产生写使能信号时,则确定该第二类寄存器在当前目标时钟周期内疑似故障;否则,则确定该第二类寄存器在当前目标时钟周期内故障。
在本发明的一个实施例中,校验单元304中,微控制单元是通过如下方式进行测试的:
针对每一个含有微控制单元的小芯片,均执行:利用中间模块从含有当前微控制单元的小芯片的串行外设接口SPI接收当前微控制单元的测试数据,并利用中间模块对测试数据进行协议转换;其中,中间模块的一端连接小芯片的SPI主设备接口,另一端连接PC机的USB接口;
利用PC机接收中间模块输出的协议转换后的测试数据,以根据协议转换后的测试数据,确定该微控制单元是否故障。
可以理解的是,本发明实施例示意的结构并不构成对一种芯粒的测试装置的具体限定。在本发明的另一些实施例中,一种芯粒的测试装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序时,实现本发明任一实施例中的一种芯粒的测试方法。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在被处理器执行时,使处理器执行本发明任一实施例中的一种芯粒的测试方法。
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种芯粒的测试方法,其特征在于,包括:
将目标集成芯片中的芯粒分为若干个芯粒组;
针对每一个芯粒组,均执行:向当前芯粒组中的第一个芯粒输入测试信号,对当前芯粒组中最后一个芯粒的输出信号进行检测,确定当前芯粒组是否存在故障;其中,当前芯粒组中的各芯粒互相电连接;
分别对存在故障的芯粒组中的每一个芯粒进行检测,以确定故障芯粒;
确定所述故障芯粒中包含的第一类寄存器、第二类寄存器和微控制单元,并分别对所述第一类寄存器、所述第二类寄存器和所述微控制单元进行测试校验,以根据校验结果确定所述故障芯粒的故障区域;其中,所述第一类寄存器为在芯片运行过程中不会进行翻转的寄存器,所述第二类寄存器为可读可写寄存器。
2.根据权利要求1所述的方法,其特征在于,所述将目标集成芯片中的芯粒分为若干芯粒组,包括:
确定所述目标集成芯片中每一个芯粒的故障指数;
将故障指数大于第一阈值的芯粒单独作为一个芯粒组;
根据所述故障指数大于第一阈值的芯粒位于所述目标集成芯片中的位置,对剩余的芯粒进行分区;
针对每一个区域,均执行:将当前区域中所述故障指数小于第二阈值的芯粒分为一个芯粒组,计算剩余的未分组芯粒的相关性,以根据所述相关性对剩余的未分组芯粒进行分组;其中,所述第二阈值小于所述第一阈值。
3.根据权利要求2所述的方法,其特征在于,所述故障指数是通过如下公式计算的:
Figure QLYQS_1
式中,F为当前芯粒的故障指数,
Figure QLYQS_3
为当前芯粒的重要等级,/>
Figure QLYQS_6
为当前芯粒的故障概率,
Figure QLYQS_7
为所述第一类寄存器的影响系数,/>
Figure QLYQS_4
为所述第一类寄存器的数量,/>
Figure QLYQS_5
为所述第二类寄存器的影响系数,/>
Figure QLYQS_8
为所述第二类寄存器的数量,/>
Figure QLYQS_9
为微控制单元的影响系数,/>
Figure QLYQS_2
为当前芯粒中内置的微控制单元的数量。
4.根据权利要求1所述的方法,其特征在于,所述第一类寄存器是通过如下校验方式进行校验的:
读取设定时钟周期内每一个第一类寄存器的数值;
在每一个时钟周期内,均将每一个第一类寄存器的数值与预先获取的每一个第一类寄存器的初始配置值进行比较;
若在设定时钟周期内,比较结果均为相同,则确定该第一类寄存器无故障;
若在设定时钟周期内,比较结果存在不同,则确定该第一类寄存器故障。
5.根据权利要求1所述的方法,其特征在于,所述第二类寄存器是通过如下校验方式进行校验的:
获取所述第二类寄存器的校验标准表;其中,所述校验标准表中包括每一个第二类寄存器的初始配置值,以及在每一个目标时钟周期下每一个第二类寄存器的理论值;
在每一个目标时钟周期内,均执行:
读取当前目标时钟周期下每一个第二类寄存器的实际值,并将所述实际值写入至所述校验标准表中;
确定所述故障芯片在当前时钟周期内是否产生有效的写使能信号;
基于当前目标时钟周期下每一个第二类寄存器的实际值、写使能信号的产生结果、所述校验标准表中在当前目标时钟周期下每一个第二类寄存器的理论值和上一个目标时钟周期时每一个第二类寄存器的实际值,确定每一个第二类寄存器的校验结果。
6.根据权利要求5所述的方法,其特征在于,所述基于当前目标时钟周期下每一个第二类寄存器的实际值、写使能信号的产生结果、所述校验标准表中在当前目标时钟周期下每一个第二类寄存器的理论值和上一个目标时钟周期时每一个第二类寄存器的实际值,确定每一个第二类寄存器的校验结果,包括:
针对每一个第二类寄存器,均执行:
判断当前目标时钟周期下该第二类寄存器的实际值与所述校验标准表中该第二类寄存器在当前目标时钟周期下的理论值是否一致;
若一致,则该第二类寄存器在当前目标时钟周期内无故障;
若不一致,且该第二类寄存器在当前目标时钟周期下的实际值与上一个目标时钟周期的实际值不同,并且未产生写使能信号时,则确定该第二类寄存器在当前目标时钟周期内疑似故障;否则,则确定该第二类寄存器在当前目标时钟周期内故障。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述微控制单元是通过如下方式进行测试的:
针对每一个含有微控制单元的小芯片,均执行:利用中间模块从含有当前微控制单元的小芯片的串行外设接口SPI接收当前微控制单元的测试数据,并利用所述中间模块对所述测试数据进行协议转换;其中,所述中间模块的一端连接小芯片的SPI主设备接口,另一端连接PC机的USB接口;
利用PC机接收所述中间模块输出的协议转换后的测试数据,以根据协议转换后的测试数据,确定该微控制单元是否故障。
8.一种芯粒的测试装置,其特征在于,包括:
分组单元,用于将目标集成芯片中的芯粒分为若干个芯粒组;
第一检测单元,用于针对每一个芯粒组,均执行:向当前芯粒组中的第一个芯粒输入测试信号,对当前芯粒组中最后一个芯粒的输出信号进行检测,确定当前芯粒组是否存在故障;其中,当前芯粒组中的各芯粒依次串联连接;
第二检测单元,用于分别对存在故障的芯粒组中的每一个芯粒进行检测,以确定故障芯粒;
校验单元,用于确定所述故障芯粒中包含的第一类寄存器、第二类寄存器和微控制单元,并分别对所述第一类寄存器、所述第二类寄存器和所述微控制单元进行测试校验,以根据校验结果确定所述故障芯粒的故障区域;其中,所述第一类寄存器为在芯片运行过程中不会进行翻转的寄存器,所述第二类寄存器为可读可写寄存器。
9.一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项所述的方法。
CN202310538214.3A 2023-05-15 2023-05-15 芯粒的测试方法、装置、电子设备及存储介质 Active CN116256621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310538214.3A CN116256621B (zh) 2023-05-15 2023-05-15 芯粒的测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310538214.3A CN116256621B (zh) 2023-05-15 2023-05-15 芯粒的测试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116256621A true CN116256621A (zh) 2023-06-13
CN116256621B CN116256621B (zh) 2023-07-21

Family

ID=86682868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310538214.3A Active CN116256621B (zh) 2023-05-15 2023-05-15 芯粒的测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116256621B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290898A (zh) * 2023-10-18 2023-12-26 中诚华隆计算机技术有限公司 一种用于Chiplet芯片系统的安全保护方法
CN117316253A (zh) * 2023-11-29 2023-12-29 蓝芯存储技术(赣州)有限公司 一种芯片测试方法、测试系统、处理器和内存介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346821A1 (en) * 2012-06-26 2013-12-26 Silicon Touch Technology Inc. Chip applied to serial transmission system and associated fail safe method
CN112559236A (zh) * 2021-02-07 2021-03-26 浙江地芯引力科技有限公司 加密运算处理器芯片的故障报文检测方法及装置
CN113832663A (zh) * 2021-09-18 2021-12-24 珠海格力电器股份有限公司 控制芯片故障记录方法、装置以及控制芯片故障读取方法
CN114843250A (zh) * 2022-07-06 2022-08-02 之江实验室 一种晶圆级集成系统的测试结构及测试方法
CN115629300A (zh) * 2022-12-22 2023-01-20 北京怀美科技有限公司 芯片检测方法及芯片检测系统
WO2023023975A1 (zh) * 2021-08-25 2023-03-02 华为技术有限公司 一种芯片、芯片制造方法、以及相关装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130346821A1 (en) * 2012-06-26 2013-12-26 Silicon Touch Technology Inc. Chip applied to serial transmission system and associated fail safe method
CN112559236A (zh) * 2021-02-07 2021-03-26 浙江地芯引力科技有限公司 加密运算处理器芯片的故障报文检测方法及装置
WO2023023975A1 (zh) * 2021-08-25 2023-03-02 华为技术有限公司 一种芯片、芯片制造方法、以及相关装置
CN113832663A (zh) * 2021-09-18 2021-12-24 珠海格力电器股份有限公司 控制芯片故障记录方法、装置以及控制芯片故障读取方法
CN114843250A (zh) * 2022-07-06 2022-08-02 之江实验室 一种晶圆级集成系统的测试结构及测试方法
CN115629300A (zh) * 2022-12-22 2023-01-20 北京怀美科技有限公司 芯片检测方法及芯片检测系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李宗宝: "《电子测量技术与仪器分析》", 天津科学技术出版社, pages: 190 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117290898A (zh) * 2023-10-18 2023-12-26 中诚华隆计算机技术有限公司 一种用于Chiplet芯片系统的安全保护方法
CN117290898B (zh) * 2023-10-18 2024-05-03 中诚华隆计算机技术有限公司 一种用于Chiplet芯片系统的安全保护方法
CN117316253A (zh) * 2023-11-29 2023-12-29 蓝芯存储技术(赣州)有限公司 一种芯片测试方法、测试系统、处理器和内存介质
CN117316253B (zh) * 2023-11-29 2024-01-26 蓝芯存储技术(赣州)有限公司 一种芯片测试方法、测试系统、处理器和内存介质

Also Published As

Publication number Publication date
CN116256621B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
CN116256621B (zh) 芯粒的测试方法、装置、电子设备及存储介质
CN111931445A (zh) 用于调试逻辑系统设计的方法、仿真器及存储介质
CN112417798B (zh) 一种时序测试方法、装置、电子设备及存储介质
US8271252B2 (en) Automatic verification of device models
CN110321260B (zh) 一种基于uvm的axi总线接口读写数据比较方法和uvm验证平台
CN116774016B (zh) 芯片测试方法、装置、设备及存储介质
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
CN116227398B (zh) 一种自动化生成ip核测试激励的方法及系统
CN108120917B (zh) 测试时钟电路确定方法及装置
KR101544649B1 (ko) SoC에서의 오류율 분석 방법
CN116256620B (zh) Chiplet集成芯片的检测方法、装置、电子设备及存储介质
CN115684895B (zh) 芯片可测性设计测试方法、测试平台及其生成方法及装置
US11176018B1 (en) Inline hardware compression subsystem for emulation trace data
US10747601B2 (en) Failure estimation in circuits
CN112651199B (zh) 质量验证平台和质量验证方法
CN108363567B (zh) 一种基于数据库的验证平台激励器自动化生成方法
CN112613257A (zh) 验证方法、装置、电子设备和计算机可读存储介质
US20020126581A1 (en) Method of analyzing clock skew between signals
CN115983172B (zh) 用于后仿真的方法和仿真平台
CN112380127B (zh) 测试用例回归方法、装置、设备和存储介质
CN110321574B (zh) 一种打印波形的方法和装置
JP6138666B2 (ja) 車載用制御装置のロギングシステム
CN116340046B (zh) 一种芯粒故障检测方法和装置
US11386251B2 (en) Logic simulation verification system, logic simulation verification method, and program

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