本申请涉及芯片领域,具体地涉及一种芯片io引脚自动验证系统及方法。
背景技术:
在芯片设计过程中,越晚发现,所浪费的成本就越高,特别是流片后,严重的问题可能需要重新流片,造成高额的费用支出,也会导致项目严重延期。芯片中包含的io(input/output,输入输出)引脚类接口众多,快速且高覆盖率地完成验证有利于芯片及时发现缺陷,提升芯片质量。
目前,芯片io引脚验证主要有以下方案:
方案1:人工随机抽取部分管脚直接配置寄存器,验证内容非常有限。
方案2:通过工具生成部分配置项,借助专用的辅助板进行全部芯片io引脚的验证。
现有方案存在的缺点:
方案1:纯手工测试,无法覆盖到所有芯片io引脚。
方案2:需要借助专用的辅助板,辅助板控制逻辑较为复杂,实现流程较多,容易出错造成异常。
技术实现要素:
有鉴于此,本申请提供一种芯片io引脚自动验证系统及方法,以利于解决现有技术中芯片的io引脚验证的覆盖率,实现复杂的问题。
第一方面,本申请实施例提供了一种芯片io引脚自动验证系统,包括:内置有待检验芯片程序的待测芯片模块及与所述待测芯片模块连接的辅助验证模块;其中,
所述待测芯片模块包含有多个io引脚,所述辅助验证模块包含有多个辅助引脚,且每个io引脚分别与一个所述辅助引脚对应连接,且一个io引脚仅与一个所述辅助引脚对应连接;
所述辅助验证模块,用于获取并根据信号输入指令控制相应的辅助引脚输出第一电平信号,将所述第一电平信号通过相应的辅助引脚传输至所述待测芯片模块的待检验的io引脚;其中,所述第一电平信号是用于所述待测芯片模块检测其io引脚是否正常所需的电平信号;
所述待测芯片模块,用于运行所述待检验芯片程序确定待检验的io引脚,并根据待检验的io引脚向所述辅助验证模块发送所述信号输入指令,并根据所述待检验的io引脚接收的电平信号检测所述待检验的io引脚是否正常。
优选地,所述待测芯片模块包括:内置有待检验芯片程序,且包含有多个io引脚的待测芯片子模块及与所述待测芯片子模块连接的第一处理器;所述辅助验证模块包括:包含有多个辅助引脚的辅助验证子模块及与所述辅助验证子模块连接的第二处理器;
所述待测芯片模块与所述辅助验证模块连接包括:
所述第一处理器与所述第二处理器连接,所述待测芯片子模块的io引脚与所述辅助验证子模块的辅助引脚对应连接;
所述待测芯片子模块,用于运行所述待检验芯片程序确定待检验的io引脚,并根据待检验的io引脚向所述第一处理器发送引脚输入信号的请求信息;
所述第一处理器,用于接收所述引脚输入信号的请求信息,并根据所述引脚输入信号的请求信息向所述第二处理器发送信号输入指令的请求信息;所述信号输入指令的请求信息用以请求辅助验证子模块对应的辅助引脚输出第一电平信号的信息;
所述第二处理器,用于获取信号输入指令的请求信息,并根据所述信号输入指令的请求信息向所述辅助验证子模块发送信号输入指令;
所述辅助验证子模块,用于接收并根据所述信号输入指令控制相应的辅助引脚输出第一电平信号,并将所述第一电平信号传输至所述待测芯片子模块的待检验的io引脚;
所述待测芯片子模块,还用于通过所述待检验的io引脚接收所述辅助验证子模块通过辅助引脚输出的所述第一电平信号;
所述第一处理器,还用于根据所述待检验的io引脚接收的电平信号检测所述待检验的io引脚是否正常。
优选地,所述待测芯片子模块基于fpga配置实现;所述辅助验证子模块基于fpga配置实现。
优选地,所述第一处理器,具体用于在所述待测芯片子模块的所述待检验io引脚接收到所述第一电平信号时,确定所述待检验的io引脚正常;在所述待测芯片子模块的所述待检验io引脚未接收到所述第一电平信号时,确定所述待检验的io引脚异常。
优选地,所述辅助验证子模块,还用于在通过相应的所述辅助引脚输出第一电平信号时,向所述第二处理器发送信号输出反馈信号;
所述第二处理器,还用于接收所述信号输出反馈信号,并将所述信号输出反馈信号传输至所述第一处理器;
所述第一处理器,还用于获取所述信号输出反馈信号,根据所述信号输出反馈信号生成引脚信号输入完成信息,并将所述引脚信号输入完成信息发送至所述待测芯片子模块;
所述待测芯片子模块,还用于接收所述引脚信号输入完成信息,以获知所述辅助验证子模块的相应辅助引脚输出第一电平信号。
优选地,所述待测芯片子模块,还用于在接收到所述引脚信号输入完成信息,且待检验的io引脚接收到所述第一电平信号时,向所述第一处理器发送下一个待检验的io引脚对应的待输入信号的请求信息;
所述第一处理器,具体用于在预设时间段内再次接收到所述待测芯片子模块发送的待输入信号的请求信息时,确定所述待测芯片子模块的所述待检验的io引脚接收到所述第一电平信号。
优选地,所述第二处理器,具体用于在获取信号输入指令的请求信息时,确定所述辅助验证子模块的辅助引脚中是否存在输出第一电平信号的辅助引脚;若存在,则向所述辅助验证子模块发送信号中止指令,以使得所述辅助验证子模块将输出第一电平信号的辅助引脚的输出信号变更为输出第二电平信号;在所述辅助验证子模块的辅助引脚均未输出第一电平信号时,向所述辅助验证子模块发送信号输入指令;所述第二电平信号是不能触发所述待检测芯片模块检测其io引脚是否正常的电平信号;
所述辅助验证子模块,还用于在接收到信号中止指令时,将每个辅助引脚的输出信号变更为第二电平信号。
优选地,还包括:服务器设备;
所述第一处理器与所述第二处理器连接包括:
所述第一处理器与所述服务器设备连接,所述第二处理器与所述服务器设备连接;
所述第一处理器,具体用于将所述信号输入指令的请求信息存储至所述服务器设备中;
所述第二处理器,具体用于从所述服务器设备中获取所述信号输入指令的请求信息。
优选地,所述第一处理器与所述待测芯片子模块通过通用异步收发传输器uart连接;
所述第二处理器与所述辅助验证子模块通过所述uart连接。
第二方面,本申请实施例提供了芯片io引脚自动验证方法,应用于上述第一方面任一项所述的芯片io引脚自动验证系统,所述方法包括:
待测芯片模块运行所述待检验芯片程序,并根据所述待检验芯片程序,确定待检验的io引脚;根据所述待检验的io引脚向辅助验证模块发送信号输入指令;
所述辅助验证模块获取信号输入指令,并根据所述信号输入指令控制相应的辅助引脚输出第一电平信号,将所述第一电平信号通过相应的辅助引脚传输至所述待测芯片模块的待检验的io引脚;
所述待测芯片模块根据所述待检验的io引脚接收的电平信号检测所述待检验的io引脚是否正常。
优选地,在所述待测芯片模块包括待测芯片子模块及第一处理器,所述辅助验证模块包括辅助验证子模块及第二处理器时,所述待测芯片模块根据所述待检验的io引脚接收的电平信号检测所述待检验的io引脚是否正常包括:
在所述待测芯片子模块的所述待检验io引脚接收到所述第一电平信号时,所述第一处理器确定所述待检验的io引脚正常;在所述待测芯片子模块的所述待检验io引脚未接收到所述第一电平信号时,所述第一处理器确定所述待检验的io引脚异常。
优选地,还包括:
所述辅助验证子模块在通过相应的辅助引脚输出第一电平信号时,向所述第二处理器发送信号输出反馈信号;
所述第二处理器接收所述信号输出反馈信号,并将所述信号输出反馈信号传输至所述第一处理器;
所述第一处理器获取所述信号输出反馈信号,根据所述信号输出反馈信号生产引脚信号输入完成信息,并将所述引脚信号输入完成信息发送至所述待测芯片子模块;
所述待测芯片子模块接收所述引脚信号输入完成信息,以获知所述辅助验证子模块的相应辅助引脚输出第一电平信号。
优选地,所述辅助验证模块根据所述信号输入指令控制相应的辅助引脚输出第一电平信号包括:
所述第二处理器在获取信号输入指令的请求信息时,确定所述辅助验证子模块的辅助引脚中是否存在输出第一电平信号的辅助引脚;若存在,则向所述辅助验证子模块发送信号中止指令,以使得所述辅助验证子模块将输出第一电平信号的辅助引脚的输出信号变更为输出第二电平信号;在所述辅助验证子模块的辅助引脚均未输出第一电平信号时,向所述辅助验证子模块发送信号输入指令;
所述方法,还包括:
所述辅助验证子模块在接收到信号中止指令时,将每个辅助引脚的输出信号变更为第二电平信号。
采用本申请实施例所提供的方案,芯片io引脚自动验证系统包括内有待检验芯片程序的待测芯片模块及与待测芯片模块连接的辅助验证模块,其中,待测芯片模块包含有多个io引脚,辅助验证模块包含有多个辅助引脚,且每个io引脚与一个辅助引脚对应连接。这样一来,通过辅助验证模块的辅助引脚与待测芯片模块的每个io引脚连接,在对io引脚进行检测时,控制辅助验证模块的对应辅助引脚输出第一电平信号至待检验的io引脚,进而根据待检验的io引脚接收的电平信号检测待检验的io引脚是否正常,完成io引脚的自动验证。在上述过程中,针对每个io引脚均可以通过进行自动验证,无需人工参与,保证了芯片io引脚的全覆盖,且降低了自动验证的复杂度,解决了现有技术中芯片的io引脚验证的覆盖率,实现复杂的问题。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种芯片io引脚自动验证系统的结构示意图;
图2为本申请实施例提供的另一种芯片io引脚自动验证系统的结构示意图;
图3为本申请实施例提供的另一种芯片io引脚自动验证系统的结构示意图;
图4为本申请实施例提供的一种芯片io引脚自动验证方法的流程示意图;
图5为本申请实施例提供的另一种芯片io引脚自动验证方法的流程示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在对本申请实施例进行具体介绍之前,首先对本申请实施例应用或可能应用的术语进行解释。
io(inputoutput,输入输出)引脚是芯片的输入输出管脚。
电平信号是指用电平值表示的信号,电平值分为高电平值“1”和低电平值“0”.
uart(universalasynchronousreceiver/transmitter,通用异步收发传输器),用以将要传输的资料在串行通信与并行通信之间加以转换。
相关技术中,芯片io引脚验证主要通过两个方案实现。方案一是人工随机抽取部分管脚直接配置寄存器,验证内容非常有限。方案二是通过工具生成部分配置项,借助专用的辅助板进行全部芯片io引脚的验证。但是,上述方案中,方案一是纯手工测试,无法覆盖到所有芯片io引脚。方案二需要借助专用的辅助板,辅助板控制逻辑较为复杂,实现流程较多,容易出错造成异常。
针对上述问题,本申请实施例提供了一种芯片io引脚自动验证系统,芯片io引脚自动验证系统包括内有待检验芯片程序的待测芯片模块及与待测芯片模块连接的辅助验证模块,其中,待测芯片模块包含有多个io引脚,辅助验证模块包含有多个辅助引脚,且每个io引脚与一个辅助引脚对应连接。这样一来,通过辅助验证模块的辅助引脚与待测芯片模块的每个io引脚连接,在对io引脚进行检测时,控制辅助验证模块的对应辅助引脚输出第一电平信号至待检验的io引脚,进而根据待检验的io引脚接收的电平信号检测待检验的io引脚是否正常,完成io引脚的自动验证。在上述过程中,针对每个io引脚均可以通过进行自动验证,无需人工参与,保证了芯片io引脚的全覆盖,且降低了自动验证的复杂度,解决了现有技术中芯片的io引脚验证的覆盖率,实现复杂的问题。以下进行详细说明。
参见图1,为本申请实施例提供的一种芯片io引脚自动验证系统的结构示意图。该系统包括:内置有待检验芯片程序的待测芯片模块10及与待测芯片模块10连接的辅助验证模块20。其中,待测芯片模块包10含有多个io引脚,所述辅助验证模块20包含有多个辅助引脚,且每个io引脚分别与一个辅助引脚对应连接,且一个io引脚仅与一个辅助引脚对应连接。
辅助验证模块20,用于获取并根据信号输入指令控制相应的辅助引脚输出第一电平信号,将第一电平信号通过相应的辅助引脚传输至待测芯片模块10的待检验的io引脚。
其中,第一电平信号是用于待测芯片模块10检测其io引脚是否正常所需的电平信号。
待测芯片模块10,用于运行待检验芯片程序确定待检验的io引脚,并根据待检验的io引脚向辅助验证模块20发送信号输入指令,并根据待检验的io引脚接收的电平信号检测待检验的io引脚是否正常。
具体的,芯片io引脚自动验证系统包含有待测芯片模块10及辅助验证模块20。此待测芯片模块10内置有待检验芯片程序,这样待测芯片模块10可以运行待检测芯片程序实现待检测芯片的功能,通过验证待测芯片模块10实现验证待检测芯片的目的,以便及时发现待测芯片存在的问题,提升芯片质量。由于本申请是为了对芯片的io引脚进行检验,因此待测芯片模块10中包含有多个io引脚,辅助验证模块20用于辅助验证待测芯片模块10的io引脚是否正常。为了对待测芯片模块10的每个io引脚进行检验,辅助验证模块20中包含有多个辅助引脚,将每个io引脚分别与第一个辅助引脚对应连接,且一个io引脚仅连接一个辅助引脚,不同的io引脚连接的辅助引脚不同。
待测芯片模块10内置有待检验芯片程序,在进行io引脚自动验证的过程中,运行待检验芯片程序,通过运行待测检验芯片程序可以确定出待检验的io引脚。在确定出待检验的io引脚后,根据待检验的io引脚生成信号输入指令,信号输入指令用以表征待检验的io引脚所需的输入信号。待测芯片模块10生成信号输入指令后,将信号输入指令发送至辅助验证模块20。辅助验证模块20接收到信号输入指令后,解析此信号输入指令,从而可以获知待测芯片模块10的待检验的io引脚是哪个,进而确定出其对应的辅助引脚。在确定出待检验的io引脚对应的辅助引脚后,控制此辅助引脚输出第一电平信号。由于此辅助引脚与待检测芯片模块10的待检验的io引脚连接,因此辅助引脚输出第一电平信号后,会传输至待测芯片模块10的待检验的io引脚。待测芯片模块10可以获取通过待检验的io引脚接收的电平信号,进而根据此接收的电平信号检测此待检验io引脚是否正常。在检测出当前待检验的io引脚正常时,待测芯片模块10运行待检验芯片程序继续确定出下一个待检验的io引脚,重复执行上述过程,直至将全部的io引脚检测完成,或者直至检测出异常的io引脚。
需要说明的是,待测芯片模块10根据接收的电平信号检测待检验io引脚是否正常的具体实现方式可以是检测待检验的io引脚接收的电平信号是否为第一电平信号,如果是则可以认为待检验的io引脚正常,如果不是,则可以认为待检验的io引脚异常,可以生成异常报告反馈至用户。当然,还可以是现有技术中的其他方式,本申请对此不作限制。
需要说明的是,第一电平信号可以是高电平信号,此时辅助验证模块20在待检验的io引脚对应的辅助引脚输出高电平信号时,其他辅助引脚需要输出低电平信号。第一电平信号也可以是低电平信号,此时辅助验证模块20在待检验的io引脚对应的辅助引脚输出低电平信号时,其他辅助引脚需要输出高电平信号。第一电平信号可以根据实际需求设置为高电平信号,或者低电平信号,本申请对此不作限制。
需要说明的是,待测检验芯片程序中记录了其io引脚检验的顺序,在执行此程序时,可以按照程序中记录的检验io引脚的顺序依次将io引脚确定为待检验的io引脚。
这样一来,通过辅助验证模块的辅助引脚与待测芯片模块的每个io引脚连接,在对io引脚进行检测时,控制辅助验证模块的对应辅助引脚输出第一电平信号至待检验的io引脚,进而根据待检验的io引脚接收的电平信号检测待检验的io引脚是否正常,完成io引脚的自动验证。在上述过程中,针对每个io引脚均可以通过进行自动验证,无需人工参与,保证了芯片io引脚的全覆盖,且降低了自动验证的复杂度,解决了现有技术中芯片的io引脚验证的覆盖率,实现复杂的问题。
进一步地,为了方便实现,如图2所示,待测芯片模块10包括:内置有待检验芯片程序,且包含有多个io引脚的待测芯片子模块101及与待测芯片子模块101连接的第一处理器102。辅助验证模块20包括:包含有多个辅助引脚的辅助验证子模块201及与辅助验证子模块201连接的第二处理器202。
此时,待测芯片模块10与辅助验证模块20连接包括:
第一处理器102与第二处理器202连接,待测芯片子模块101的io引脚与辅助验证子模块201的辅助引脚对应连接。
待测芯片子模块101,用于运行待检验芯片程序确定待检验的io引脚,并根据待检验的io引脚向第一处理器102发送引脚输入信号的请求信息。
第一处理器102,用于接收引脚输入信号的请求信息,并根据引脚输入信号的请求信息向第二处理器202发送信号输入指令的请求信息。
其中,信号输入指令的请求信息用以请求辅助验证子模块对应的辅助引脚输出第一电平信号的信息。
第二处理器202,用于获取信号输入指令的请求信息,并根据信号输入指令的请求信息向辅助验证子模块201发送信号输入指令。
辅助验证子模块201,用于接收并根据信号输入指令控制相应的辅助引脚输出第一电平信号,并将第一电平信号传输至待测芯片子模块101的待检验的io引脚。
待测芯片子模块101,还用于通过待检验的io引脚接收辅助验证子模块201通过辅助引脚输出的第一电平信号。
第一处理器102,还用于根据待检验的io引脚接收的电平信号检测待检验的io引脚是否正常。
具体的,待测芯片模块10包括:待测芯片子模块101及第一处理器102。待测芯片子模块101内置有待检验芯片程序,且待测芯片子模块101内包含有io引脚。此时,待测芯片子模块101用以实现待检测芯片的功能。第一处理器102与待测芯片子模块101连接,用以与待测芯片子模块101及辅助验证模块20间进行通信。
待测芯片子模块101运行其内的待检验芯片程序,确定出待检验的io引脚。根据待检验的io引脚生成引脚输入信号的请求信息,将引脚输入信号的请求信息发送至第一处理器102。第一处理器102接收引脚输入信号的请求信息,并解析此请求消息,获知待检验的io引脚,根据此待检验的io引脚生成用于请求输入待检验的io引脚的电平信号的信号输入指令的请求信息。将此信号输入指令的请求信息发送至第二处理器202。
辅助验证模块20包括:辅助验证子模块201及第二处理器202。辅助验证子模块201包含有多个辅助引脚,辅助验证子模块201的辅助引脚与待测芯片子模块101的io引脚连接。第二处理器202与第一处理器102连接,辅助验证子模块201与第二处理器202连接。
第二处理器202获取第一处理器102发送的信号输入指令的请求信息,并解析出信号输入指令,将此信号输入指令,将此信号输入指令发送至辅助验证子模块201。
辅助验证子模块201接收到信号输入指令后,通过解析信号输入指令获知待检验的io引脚,进而可以确定出待检验的io引脚对应的辅助引脚,通过待检验的io引脚对应的辅助引脚输出第一电平信号,并将第一电平信号传输至待测芯片子模块101的待检验的io引脚。
待测芯片子模块101通过待检验的io引脚接收电平信号,并将其接收的电平信号反馈至第一处理器102,第一处理器102根据待测芯片子模块101接收的电平信号确定待检验的io引脚是否正常。
进一步地,第一处理器102,具体用于在待测芯片子模块101的待检验io引脚接收到第一电平信号时,确定待检验的io引脚正常。在待测芯片子模块101的待检验io引脚未接收到第一电平信号时,确定待检验的io引脚异常。
即为,第一处理器102在根据待检验的io引脚接收的电平信号是否正常时,可以检测待检验的io引脚是否接收到第一电平信号,在检测到待检验的io引脚接收到第一电平信号时,确定待检验的io引脚的相关电路正常工作,则确定待检验的io引脚正常。在检测到待检验的io引脚未接收到第一电平信号时,说明待检验的io引脚的相关电路无法正常工作,则确定待检验的io引脚异常,可以生成异常信息,反馈至用户。
进一步地,待测芯片子模块101基于fpga(fieldprogrammablegatearray,现场可编程门阵列)配置实现。辅助验证子模块201基于fpga配置实现。可选地,待测芯片子模块101是haps上的一台fpga,将其作为检测待测芯片的验证平台。
进一步地,为了防止待测芯片子模块101一直处于等待通过待检验的io引脚接收第一电平信号的状态,可以在辅助验证子模块201通过相应的辅助引脚输出第一电平信号后,向待测芯片子模块101发送一个第一电平信号已输出的反馈信号,以便待测芯片子模块101获知辅助验证子模块201通过相应的辅助引脚已输出第一电平信号。具体如下:
辅助验证子模块201,还用于在通过相应的所述辅助引脚输出第一电平信号时,向第二处理器202发送信号输出反馈信号。
第二处理器202,还用于接收信号输出反馈信号,并将信号输出反馈信号传输至第一处理器102。
第一处理器102,还用于获取信号输出反馈信号,根据信号输出反馈信号生产引脚信号输入完成信息,并将引脚信号输入完成信息发送至待测芯片子模块101。
待测芯片子模块101,还用于接收引脚信号输入完成信息,以获知辅助验证子模块201的相应辅助引脚输出第一电平信号。
具体的,辅助验证子模块201在通过相应的辅助引脚输出第一电平信号时,生成表征相应的辅助引脚输出第一电平信号的信号输出反馈信号,将此信号输出反馈信号发送至第二处理器202。第二处理器202接收到信号输出反馈信号后,将此信号输出反馈信号传输至第一处理器102。第一处理器102获取第二处理器202传输的信号输出反馈信号,并进行解析,根据解析结果生成引脚信号输入完成信息,并将引脚信号输入完成信息发送至待测芯片子模块101。待测芯片子模块101接收到引脚信号输入完成信息,解析后可以获知辅助验证子模块201的相对应的辅助引脚已经输出第一电平信号。这样一来,在待测芯片子模块101的待检验的io引脚未接收到第一电平信号,且待测芯片子模块101接收到引脚信号输入完成信息时,可以向第一处理器102反馈待检验的io引脚未接收第一电平信号,此时第一处理器102可以确定待检验的io引脚异常,第一处理器102生成异常信息,反馈至用户。在待测芯片子模块101的待检验的io引脚接收到第一电平信号,且待测芯片子模块101接收到引脚信号输入完成信息时,可以向第一处理器102发送待检验的io引脚接收到第一电平信号,则第一处理器102可以确定待检验的io引脚正常。
这样,通过辅助验证子模块201发送信号输出反馈信号以告知待测芯片子模块101辅助验证子模块201的相应辅助引脚输出第一电平信号,可以避免待测芯片子模块101因待检验的io引脚没有接收到第一电平信号而长时间等待。
需要说明的是,还可以通过其他方式实现上述防止待测芯片子模块101长时间等待待检验的io引脚接收第一电平信号的情况,例如,可以设置一个时间阈值。此时间阈值可以根据实际需求设置,本申请对此不作限制。如果在预设时间阈值内待测芯片子模块101未通过待检验的io引脚接收到第一电平信号时,向第一处理器102反馈待检验的io引脚未接收第一电平信号,此时第一处理器102可以确定待检验的io引脚异常,第一处理器102生成异常信息,反馈至用户。在预设时间阈值内,待测芯片子模块101的待检验的io引脚接收到第一电平信号时,可以向第一处理器102发送待检验的io引脚接收到第一电平信号,则第一处理器102可以确定待检验的io引脚正常。当然,还可以通过其他方式实现,本申请对此不作限制。
可选地,待测芯片子模块101,还用于在接收到引脚信号输入完成信息,且待检验的io引脚接收到第一电平信号时,向第一处理器102发送下一个待检验的io引脚对应的待输入信号的请求信息。
第一处理器102,具体用于在预设时间段内再次接收到待测芯片子模块101发送的待输入信号的请求信息时,确定待测芯片子模块101的待检验的io引脚接收到第一电平信号。
也就是说,在本实施例中,第一处理器102在确定待测芯片子模块101的待检验的io引脚接收的电平信号时,待测芯片子模块101可以向第一处理器102发送消息告知其是否接收到第一电平信号,可以通过其他方式告知。具体如下所述。
待测芯片子模块101在接收到引脚信号输入完成信息,且待检验的io引脚接收到第一电平信号时,即可获知待检验的io引脚是正常的,此时待测芯片子模块101可以确定下一个待检验的io引脚对应的待输入信号的请求信息,而不再向第一处理器102发送待检验的io引脚是否接收到第一电平信号的信息。此时,第一处理器102在预设时间段内再次接收到待输入信号的请求信息时,即可获知上一个待检验的io引脚已经接收到第一电平信号,可以确定上一个待检验的io引脚正常。继续进行下一个待检验的io引脚是否正常。
这样,可以减少待测芯片子模块101与第一处理器102之间的信息交互,提高检验的效率。
进一步地,在辅助验证子模块201在通过相应的辅助引脚输出第一电平信号后,待测芯片子模块101通过待检验的io引脚接收到第一电平信号,第一处理器102确定待检验的io引脚正常时,待测芯片子模块101会继续检测下一个io引脚是否正常。此时,会向第一处理器102发送下一个待检验的io引脚的待输入信号的请求信息。第一处理器102向第二处理器202发送信号输入指令的请求信息。此时,第二处理器202在获取到信号输入指令的请求信息时,为了防止辅助验证子模块201的对应上一个待检验的io引脚的辅助引脚仍在输出第一电平信号,可以先确定辅助验证子模块201是否有辅助引脚输出第一电平信号。
此时,第二处理器202,具体用于在获取信号输入指令的请求信息时,确定辅助验证子模块201的辅助引脚中是否存在输出第一电平信号的辅助引脚;若存在,则向辅助验证子模块201发送信号中止指令,以使得辅助验证子模块201将输出第一电平信号的辅助引脚的输出信号变更为输出第二电平信号;在辅助验证子模块201的辅助引脚均未输出第一电平信号时,向辅助验证子模块201发送信号输入指令。
辅助验证子模块201,还用于在接收到信号中止指令时,将每个辅助引脚的输出信号变更为第二电平信号。
其中,第二电平信号是不触发待检测芯片模块10检测其io引脚是否正常的电平信号。
也就是说,第二处理器202在获取了信号输入指令的请求信息后,需要先确认辅助验证子模块201的辅助引脚没有输出第一电平信号的。因此,第二处理器202可以向辅助验证子模块201发送用以获知辅助验证子模块201的辅助引脚是否有输出第一电平信号的消息。如果第二处理器202通过辅助验证子模块201回馈的消息中获知辅助验证子模块201中的所有辅助引脚中有输出第一电平信号的辅助引脚,则第二处理器202向辅助验证子模块201发送信号中止指令,辅助验证子模块201在接收到信号中止指令时,将每个辅助引脚的输出信号变更为第二电平信号。如果第二处理器202通过辅助验证子模块201回馈的消息中获知辅助验证子模块201中的所有辅助引脚中没有输出第一电平信号的辅助引脚,则第二处理器202向辅助验证子模块201直接发送信号输入指令。
需要说明的是,第二电平信号是预先设置的,与第一电平信号不同的信号。例如,第一电平信号为高电平信号,则第二电平信号为低电平信号。在辅助验证子模块201的一个辅助引脚输出第一电平信号时,辅助验证子模块202的其他辅助引脚输出第二电平信号。
进一步地,在上述芯片io引脚自动验证系统中,如图3所示,还包括:服务器设备30。
此时,第一处理器102与第二处理器202连接包括:
第一处理器102与服务器设备30连接,第二处理器202与服务器设备30连接。
第一处理器102,具体用于将信号输入指令的请求信息存储至服务器设备30中。
第二处理器202,具体用于从服务器设备30中获取信号输入指令的请求信息。
即为,第一处理器102与第二处理器202之间通过服务器设备30连接,并通过服务器设备30通信。此时,第一处理器102可以直接将其需要发送至第二处理器202的信息存储至服务器设备30中,第二处理器202直接从服务器设备30中获取第一处理器102发送的信息。同理,第二处理器202向第一处理器102发送信息时,可以直接向需发送的信息直接存储至服务器设备30中,第一处理器102直接冲服务器设备30中获取第二处理器202发送的信息。例如,第一处理器102将信号输入指令的请求信息存储至服务器设备30中,第二处理器202可以直接从服务器设备30中获取信号输入指令的请求信息。在第二处理器202接收到辅助验证子模块201发送的信号输出反馈信号后,可以将信号输出反馈信号存储至服务器设备30中。第一处理器102可以直接从服务器设备30中获取此信号输出反馈信号。
可选地,上述第一处理器102及第二处理器202可以是pc(personalcomputer,个人计算机)。
可选地,第一处理器102与待测芯片子模块101通过uart(universalasynchronousreceiver/transmitter,通用异步收发传输器)连接。第二处理器202与辅助验证子模块201通过uart连接。此时,在系统配置文件中,将待测芯片子模块101中与uart连接的引脚设置为除待测芯片对应的io引脚之外的其他引脚,以便保证芯片io引脚自动验证不被中断。
这样,本申请实施例提供了一种芯片io引脚自动验证系统,芯片io引脚自动验证系统包括内有待检验芯片程序的待测芯片模块及与待测芯片模块连接的辅助验证模块,其中,待测芯片模块包含有多个io引脚,辅助验证模块包含有多个辅助引脚,且每个io引脚与一个辅助引脚对应连接。这样一来,通过辅助验证模块的辅助引脚与待测芯片模块的每个io引脚连接,在对io引脚进行检测时,控制辅助验证模块的对应辅助引脚输出第一电平信号至待检验的io引脚,进而根据待检验的io引脚接收的电平信号检测待检验的io引脚是否正常,完成io引脚的自动验证。在上述过程中,针对每个io引脚均可以通过进行自动验证,无需人工参与,保证了芯片io引脚的全覆盖,且降低了自动验证的复杂度,解决了现有技术中芯片的io引脚验证的覆盖率,实现复杂的问题。
如图4所示,本申请提供了一种芯片io引脚自动验证方法,应用于上述实施例所述的芯片io引脚自动验证的系统中,所述方法包括:
步骤s401、待测芯片模块运行所述待检验芯片程序,并根据待检验芯片程序,确定待检验的io引脚;根据待检验的io引脚向辅助验证模块发送信号输入指令。
步骤s402、辅助验证模块获取信号输入指令,并根据信号输入指令控制相应的辅助引脚输出第一电平信号,将第一电平信号通过相应的辅助引脚传输至待测芯片模块的待检验的io引脚。
步骤s403待测芯片模块根据待检验的io引脚接收的电平信号检测待检验的io引脚是否正常。
进一步地,在待测芯片模块包括待测芯片子模块及第一处理器,所述辅助验证模块包括辅助验证子模块及第二处理器时,上述步骤s401待测芯片模块运行所述待检验芯片程序,并根据待检验芯片程序,确定待检验的io引脚;根据待检验的io引脚向辅助验证模块发送信号输入指令包括:待测芯片子模块运行所述待检验芯片程序,并根据待检验芯片程序,确定待检验的io引脚,并根据待检验的io引脚向所述第一处理器发送引脚输入信号的请求信息。
第一处理器接收所述引脚输入信号的请求信息,并根据所述引脚输入信号的请求信息向所述第二处理器发送信号输入指令的请求信息。其中,所述信号输入指令的请求信息用以请求辅助验证子模块对应的辅助引脚输出第一电平信号的信息。
步骤s402辅助验证模块获取信号输入指令,并根据信号输入指令控制相应的辅助引脚输出第一电平信号,将第一电平信号通过相应的辅助引脚传输至待测芯片模块的待检验的io引脚具体包括:第二处理器获取信号输入指令的请求信息,并根据所述信号输入指令的请求信息向所述辅助验证子模块发送信号输入指令。
辅助验证子模块接收并根据所述信号输入指令控制相应的辅助引脚输出第一电平信号,并将所述第一电平信号传输至所述待测芯片子模块的待检验的io引脚。
步骤s403待测芯片模块根据待检验的io引脚接收的电平信号检测待检验的io引脚是否正常具体包括:待测芯片子模块通过所述待检验的io引脚接收所述辅助验证子模块通过辅助引脚输出的所述第一电平信号。
第一处理器根据所述待检验的io引脚接收的电平信号检测所述待检验的io引脚是否正常。
具体的,上述步骤s403待测芯片模块根据所述待检验的io引脚接收的电平信号检测所述待检验的io引脚是否正常具体包括:
在待测芯片子模块的待检验io引脚接收到所述第一电平信号时,第一处理器确定待检验的io引脚正常;在待测芯片子模块的待检验io引脚未接收到第一电平信号时,第一处理器确定待检验的io引脚异常。
进一步地,如图5所示,上述方法还包括:
步骤501、辅助验证子模块在通过相应的辅助引脚输出第一电平信号时,向第二处理器发送信号输出反馈信号。
s502、第二处理器接收所述信号输出反馈信号,并将信号输出反馈信号传输至第一处理器。
步骤s503、第一处理器获取所述信号输出反馈信号,根据信号输出反馈信号生产引脚信号输入完成信息,并将引脚信号输入完成信息发送至待测芯片子模块。
步骤s504、待测芯片子模块接收引脚信号输入完成信息,以获知辅助验证子模块的相应辅助引脚输出第一电平信号。
可选地,步骤s402辅助验证模块根据所述信号输入指令控制相应的辅助引脚输出第一电平信号具体包括:
第二处理器在获取信号输入指令的请求信息时,确定所述辅助验证子模块的辅助引脚中是否存在输出第一电平信号的辅助引脚;若存在,则向所述辅助验证子模块发送信号中止指令,以使得所述辅助验证子模块将输出第一电平信号的辅助引脚的输出信号变更为输出第二电平信号;在所述辅助验证子模块的辅助引脚均未输出第一电平信号时,向所述辅助验证子模块发送信号输入指令;
所述方法,还包括:
辅助验证子模块在接收到信号中止指令时,将每个辅助引脚的输出信号变更为第二电平信号。
进一步地,在上述芯片io引脚自动验证系统还包括服务器设备时,上述步骤第一处理器向所述第二处理器发送信号输入指令的请求信息具体包括:第一处理器将所述信号输入指令的请求信息存储至所述服务器设备中。
上述步骤第二处理器获取信号输入指令的请求信息具体包括:第二处理器从服务器设备中获取信号输入指令的请求信息。
上述步骤第二处理器将信号输出反馈信号传输至第一处理器具体包括:第二处理器将信号输出反馈信号传输至服务器设备。
上述步骤第一处理器获取信号输出反馈信号具体包括:第一处理器从服务器设备中获取信号输出反馈信号。
需要说明的是,本实施例中的芯片io引脚自动验证方法的具体实现方式可以参考上述实施例芯片io引脚自动验证系统的具体描述,在此不再赘述。
这样,本申请实施例中待测芯片模块包含有多个io引脚,辅助验证模块包含有多个辅助引脚,且每个io引脚与一个辅助引脚对应连接。这样一来,通过辅助验证模块的辅助引脚与待测芯片模块的每个io引脚连接,在对io引脚进行检测时,控制辅助验证模块的对应辅助引脚输出第一电平信号至待检验的io引脚,进而根据待检验的io引脚接收的电平信号检测待检验的io引脚是否正常,完成io引脚的自动验证。在上述过程中,针对每个io引脚均可以通过进行自动验证,无需人工参与,保证了芯片io引脚的全覆盖,且降低了自动验证的复杂度,解决了现有技术中芯片的io引脚验证的覆盖率,实现复杂的问题。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例和终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。