总线的验证方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 18:53:06
技术领域
本申请涉及计算机技术领域,尤其涉及一种总线的验证方法、装置、电子设备及存储介质。
背景技术
随着芯片技术的发展,芯片总线的设计愈加复杂,实现中,芯片总线的设计对于芯片功能的实现存在着重要的作用,因此,总线的验证对于芯片功能的实现存在一定程度的影响。
相关技术中,对于芯片总线的验证周期长、效率低,因此,如何提高总线验证的效率,是目前需要解决的问题。
发明内容
本申请的目的旨在至少在一定程度上解决上述技术中的技术问题之一。
本申请第一方面提出了一种总线的验证方法,包括:确定目标芯片待验证的目标层级,并获取所述目标芯片待验证的目标功能对应的候选数据包,其中,所述目标层级中存在至少一个第一模拟数据端口和至少一个第二模拟数据端口,所述第一模拟数据端口和每个对应的所述第二模拟数据端口之间通过待验证总线连接;将所述候选数据包传输至所述第一模拟数据端口,并基于所述待验证总线将所述候选数据包输入所述第二模拟数据端口,生成所述候选数据包对应的待验证数据包;将所述候选数据包输入与所述第一模拟数据端口连接的至少一个模拟转换器组,由所述模拟转换器组将所述候选数据包转化为参考数据包;根据所述待验证数据包和所述参考数据包,获取所述待验证总线的验证结果。
本申请第一方面提出的一种总线的验证方法,还具备如下技术特征,包括:
根据本申请一实施例,所述确定目标芯片待验证的目标层级,包括:从所述目标芯片的多个待验证功能中选择一个确定为所述目标芯片待验证的所述目标功能;基于所述每个待验证功能的实现环境,确定所述目标芯片的多个候选待验证层级,其中,所述候选待验证层级包括模块层级、系统层级和芯片层级;从所述多个候选待验证层级中,确定与待验证的所述目标功能对应的所述目标层级。
根据本申请一实施例,所述方法还包括:调用脚本程序,基于所述脚本程序的执行,将所述待验证总线与所述目标层级的所述第一模拟数据端口和所述第二模拟数据端口自动连接。
根据本申请一实施例,所述第一模拟数据端口与所述第二模拟数据端口之间通过所述待验证总线形成连接通路,所述将所述候选数据包转化为待验证数据包,包括:通过所述连接通路,将所述候选数据包由所述第一模拟数据端口基于所述第一总线协议传输所连接的所述第二模拟数据端口,由所述第二模拟数据口基于所述第二总线协议,将所述候选数据包转化为所述待验证数据包。
根据本申请一实施例,所述由所述模拟转换器组将所述候选数据包转化为参考数据包,包括:根据所述第一模拟数据端口和所述至少一个第二模拟数据端口,确定匹配的所述模拟转换器组,其中,所述模拟转换器组中包括第一模拟转换器和至少一个第二模拟转换器;通过所述第一模拟转换器基于所述第一总线协议,将所述候选数据包转化为标准数据包,并将所述标准数据包传输至所述第二模拟转换器,由所述第二模拟转换器基于所述第二总线协议,将所述标准数据包转化为参考数据包。
根据本申请一实施例,所述方法还包括:将基于所述待验证总线的每个所述连接通路生成的所述待验证数据包,和对应所述模拟转换器组生成的参考数据包进行匹配,基于匹配结果获取所述待验证总线的验证结果。
根据本申请一实施例,所述获取所述待验证总线的验证结果,包括:响应于所述待验证数据包和所述参考数据包匹配,则所述待验证总线的所述待验证功能运行正常;响应于所述待验证数据包和所述参考数据包不匹配,则获取所述待验证总线的故障信息,对所述故障信息进行修复,并返回对修复后的所述待验证总线进行验证,直至所述待验证总线的所述待验证功能运行正常。
根据本申请一实施例,所述方法还包括:基于所述待验证总线的已验证功能与未验证功能,获取所述待验证总线的验证覆盖率;响应于所述验证覆盖率大于或者等于覆盖率阈值,则生成所述目标总线;响应于所述验证覆盖率小于所述覆盖率阈值,则返回继续对所述未验证功能进行验证,直至所述验证覆盖率大于或者等于所述覆盖率阈值,则生成所述目标总线。
本申请第二方面提出了一种总线的验证装置,包括:确定模块,用于确定目标芯片待验证的目标层级,并获取所述目标芯片待验证的目标功能对应的候选数据包,其中,所述目标层级中存在至少一个第一模拟数据端口和至少一个第二模拟数据端口,所述第一模拟数据端口和每个对应的所述第二模拟数据端口之间通过待验证总线连接;待验证模块,用于将所述候选数据包传输至所述第一模拟数据端口,并基于所述待验证总线将所述候选数据包输入所述第二模拟数据端口,生成所述候选数据包对应的待验证数据包;参考模块,用于将所述候选数据包输入与所述第一模拟数据端口连接的至少一个模拟转换器组,由所述模拟转换器组将所述候选数据包转化为参考数据包;判断模块,用于根据所述待验证数据包和所述参考数据包,获取所述待验证总线的验证结果。
本申请第二方面提出的一种总线的验证装置,还具备如下技术特征,包括:
根据本申请一实施例,所述确定模块,还包括:从所述目标芯片的多个待验证功能中选择一个确定为所述目标芯片待验证的所述目标功能;基于所述每个待验证功能的实现环境,确定所述目标芯片的多个候选待验证层级,其中,所述候选待验证层级包括模块层级、系统层级和芯片层级;从所述多个候选待验证层级中,确定与待验证的所述目标功能对应的所述目标层级。
根据本申请一实施例,所述确定模块,还包括:调用脚本程序,基于所述脚本程序的执行,将所述待验证总线与所述目标层级的所述第一模拟数据端口和所述第二模拟数据端口自动连接。
根据本申请一实施例,所述待验证模块,还包括:通过所述连接通路,将所述候选数据包由所述第一模拟数据端口基于所述第一总线协议传输所连接的所述第二模拟数据端口,由所述第二模拟数据口基于所述第二总线协议,将所述候选数据包转化为所述待验证数据包。
根据本申请一实施例,所述参考模块,还包括:根据所述第一模拟数据端口和所述至少一个第二模拟数据端口,确定匹配的所述模拟转换器组,其中,所述模拟转换器组中包括第一模拟转换器和至少一个第二模拟转换器;通过所述第一模拟转换器基于所述第一总线协议,将所述候选数据包转化为标准数据包,并将所述标准数据包传输至所述第二模拟转换器,由所述第二模拟转换器基于所述第二总线协议,将所述标准数据包转化为参考数据包。
根据本申请一实施例,所述判断模块,还包括:将基于所述待验证总线的每个所述连接通路生成的所述待验证数据包,和对应所述模拟转换器组生成的参考数据包进行匹配,基于匹配结果获取所述待验证总线的验证结果。
根据本申请一实施例,所述判断模块,还包括:响应于所述待验证数据包和所述参考数据包匹配,则所述待验证总线的所述待验证功能运行正常;响应于所述待验证数据包和所述参考数据包不匹配,则获取所述待验证总线的故障信息,对所述故障信息进行修复,并返回对修复后的所述待验证总线进行验证,直至所述待验证总线的所述待验证功能运行正常。
根据本申请一实施例,所述判断模块,还包括:基于所述待验证总线的已验证功能与未验证功能,获取所述待验证总线的验证覆盖率;响应于所述验证覆盖率大于或者等于覆盖率阈值,则生成所述目标总线;响应于所述验证覆盖率小于所述覆盖率阈值,则返回继续对所述未验证功能进行验证,直至所述验证覆盖率大于或者等于所述覆盖率阈值,则生成所述目标总线。
本申请第三方面实施例提出了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面提出的总线的验证方法。
本申请第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请第一方面提出的总线的验证方法。
本申请第五方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行本申请第一方面提出的总线的验证方法。
本申请提出的总线的验证方法及装置,确定待验证的目标层级,并获取该目标层级内可以实现的待验证的目标功能对应的候选数据包。通过待验证总线连接目标层级内的第一模拟数据端口和匹配的至少一个第二模拟数据端口,基于该连接关系,将候选数据包转化为对应的待验证数据包。相应地,将候选数据包输入该连接关系对应的模拟转换器组中,基于第一模拟数据端口和至少一个第二模拟数据端口分别对应的模拟转换器,将候选数据包转化为对应的参考数据包。进一步地,基于待验证数据包和参考数据包之间的对比结果,获取待验证总线的验证结果。本申请中,将待验证总线基于芯片的层级进行划分,并进行分别验证,通过对芯片的每个层级内的待验证总线的部分验证,实现芯片的待验证总线的完整验证,提高了总线的验证过程中的故障修复效率,缩短了总线的验证时间,优化了总线的验证方法,有效提高了总线的验证效率。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一实施例的总线的验证方法的流程示意图;
图2为本申请另一实施例的总线的验证方法的流程示意图;
图3为本申请另一实施例的总线的验证方法的流程示意图;
图4为本申请一实施例的总线的验证装置的结构示意图;
图5为本申请另一实施例的总线的验证方法的流程示意图;
图6为本申请另一实施例的总线的验证方法的流程示意图;
图7为本申请另一实施例的总线的验证装置的结构示意图;
图8为本申请另一实施例的总线的验证装置的结构示意图;
图9是本申请一实施例的电子设备的框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的总线的验证方法、装置、电子设备及存储介质。
图1为本申请一实施例的总线的验证方法的流程示意图,如图1所示,该方法包括:
S101,确定目标芯片待验证的目标层级,并获取目标芯片待验证的目标功能对应的候选数据包,其中,目标层级中存在至少一个第一模拟数据端口和至少一个第二模拟数据端口,第一模拟数据端口和每个对应的第二模拟数据端口之间通过待验证总线连接。
实现中,芯片功能的实现依托于芯片总线的数据传输,因此,为了芯片功能的成功实现,需要对芯片上的总线进行验证,以保证总线可以顺利实现数据的传输。
本申请实施例中,可以通过芯片上不同功能的实现,从而对其中的总线进行验证,可以理解为,针对芯片上可以实现的某个功能,对该功能的运行结果进行监控,基于该功能是否可以成功运行,从而实现对于其中连接的总线的验证。
进一步地,可以将目标芯片划分为多个层级,其中,每个层级可以实现目标芯片的部分设定功能。可以从多个层级中选择一个作为待验证的目标层级,通过该目标层级可以实现的部分设定功能,实现该目标层级内的总线验证。
其中,目标层级中存在至少一个第一模拟数据端口和至少一个第二模拟数据端口,每个第一模拟数据端口存在与其匹配的至少一个第二模拟数据端口,每个第一模拟数据端口均可以通过待验证总线和与其匹配的至少一个第二模拟数据端口连接,进而实现每个第一模拟数据端口和与其匹配的至少一个第二模拟数据端口之间的数据传输。
实现中,目标层级的环境可以实现芯片的至少一个的功能,因此,可以从目标层级可以实现的该部分功能中,选择一个作为当前进行总线验证所需的待验证目标功能,并基于待验证的目标功能的运行结果,获取目标层级的总线的验证结果。
可选地,可以基于目标功能随机获取相关参数组成的数据包,并将其确定为候选数据包,其中,候选数据包可以包括目标芯片在实现目标功能时,可以通过待验证总线传输的任意参数数据。
比如,设定目标芯片为中央处理器(central processing unit,CPU),目标芯片CPU对应的待验证的目标功能为存储功能。
进一步地,CPU在实现存储功能时,需要接收通过待验证总线传输的待存储数据,因此,可以基于待验证总线可以传输的待存储数据生成对应的数据包,并将其确定为当前待验证总线验证所需的候选数据包。
S102,将候选数据包传输至第一模拟数据端口,并基于待验证总线将候选数据包输入第二模拟数据端口,生成候选数据包对应的待验证数据包。
本申请实施例中,候选数据包可以通过待验证总线,由第一模拟数据端口传输至对应的每个第二模拟数据接口。
其中,第一模拟数据端口存在设定的数据传输格式,因此,候选数据包是基于第一模拟数据端口对应的数据传输格式向第二模拟数据端口进行传输。
相应地,第二模拟数据端口存在其设定的数据传输协议,该数据传输协议可以与第一模拟数据端口的相同,也可以不同。因此,为了使得候选数据包可以被传输并写入第二模拟数据端口,待验证总线在传输候选数据包时,需要基于第二模拟数据端口对应的数据传输协议进行协议转换。
进一步地,将候选数据包传输至第二模拟数据端口后,第二模拟数据端口基于其自身的数据传输协议,将候选数据包进行格式转化,从而生成可以基于第二模拟数据端口的数据传输协议的数据包,并将其确定为候选数据包对应待验证数据包。
比如,第一模拟数据端口为总线协议(Advanced eXtensible Interface,AXI)数据端口,与其匹配的第二模拟数据端口为外围总线(Advanced Peripheral Bus,APB)数据端口,则候选数据包基于AXI协议由第一模拟数据端口传输至第二模拟数据端口。则待验证总线需要将AXI协议转化为APB协议,从而使得第二模拟数据端口可以接收候选数据包。
进一步地,第二模拟数据端口将候选数据包进行格式转化,生成可以基于APB协议进行传输的数据包,进而将该数据包确定为当前总线验证的待验证数据包。
S103,将候选数据包输入与第一模拟数据端口连接的至少一个模拟转换器组,由模拟转换器组将候选数据包转化为参考数据包。
本申请实施例中,为了基于待验证数据包实现总线的验证,可以基于待验证总线连接的第一模拟数据端口和第二模拟数据端口,构建用于验证的模拟转换器组。
可选地,可以基于路由机制构建上述模拟转换器组。
可以理解为,该模拟转换器组与第一模拟数据端口和第二模拟数据端口之间构建的通路的结构和功能是相同的,即模拟转换器组中,第一模拟数据端口匹配的模拟转换器与第二模拟数据端口匹配的模拟转换器之间存在与待验证总线构建的通路相同的连接结构,且每个模拟转换器与其匹配的模拟数据端口使用相同的数据传输协议。
因此,可以将上述的候选数据包输入该模拟转换器组中,通过模拟转换器组中与第一模拟数据端口和第二模拟数据端口对应的模拟转换器对候选数据包进行转化,从而生成候选数据包对应的参考数据包。
其中,参考数据包为候选数据包基于正确的传输转化后生成的数据包,因此可以将其作为对待验证数据包的判断标准。
S104,根据待验证数据包和参考数据包,获取待验证总线的验证结果。
生成待验证数据包和参考数据包后,可以根据二者之间的对比结果,确定待验证总线的对比结果。
比如,设定候选数据包中的参数信息为一串数字,则待验证数据包和参考数据包中是对应协议下的相同内容的一串数字,可以预设二者之间的匹配结果对应的标准。
可选地,将该两串数字进行对比,若二者之间的匹配结果符合预设标准,则可以确定待验证数据包的传输转化过程无误,进而可以判断当前验证的目标层级的待验证总线的功能正常。相应地,若二者之间的匹配结果与预设标准存在差异,则可以判断当前验证的待验证数据包的传输转化过程存在错误,则可以判断当前验证的目标层级的待验证总线的功能出现异常。
进一步地,可以基于具体的错误对当前验证的目标层级的待验证总线进行修复,并对修复后的待验证总线继续进行验证,直至基于修复后的待验证总线生成的待验证数据包和其对应的参考数据包之间的匹配结果符合标准。
实现中,基于芯片的某一种功能可以实现待验证总线的部分功能的验证,因此,可以通过多轮次的,基于芯片不同的功能对待验证总线进行验证,从而可以基于每个轮次的验证结果实现待验证总线的完整验证。
其中,芯片的不同功能的实现所需的环境可以为不同的层级,因此,在进行不同的待验证的目标功能切换时,对应的待验证的目标层级存在变化的可能。
因此,基于不同的待验证的目标功能的切换,需要进行目标层级的切换。即从预先定义的多个层级中选择可以实现待验证的目标功能的层级作为目标层级,并对该目标层级内的待验证总线进行验证。
进一步地,通过每个层级内的待验证总线的完整验证的验证结果,从而实现芯片上的待验证总线的完整验证。
本申请提出的总线的验证方法,确定待验证的目标层级,并获取该目标层级内可以实现的待验证的目标功能对应的候选数据包。通过待验证总线连接目标层级内的第一模拟数据端口和匹配的至少一个第二模拟数据端口,基于该连接关系,将候选数据包转化为对应的待验证数据包。相应地,将候选数据包输入该连接关系对应的模拟转换器组中,基于第一模拟数据端口和至少一个第二模拟数据端口分别对应的模拟转换器,将候选数据包转化为对应的参考数据包。进一步地,基于待验证数据包和参考数据包之间的对比结果,获取待验证总线的验证结果。本申请中,将待验证总线基于芯片的层级进行划分,并进行分别验证,通过对芯片的每个层级内的待验证总线的部分验证,实现芯片的待验证总线的完整验证,提高了总线的验证过程中的故障修复效率,缩短了总线的验证时间,优化了总线的验证方法,有效提高了总线的验证效率。
上述实施例中,关于目标层级的确定,可结合图2进一步理解,图2为本申请另一实施例的总线的验证方法的流程示意图,如图2所示,该方法包括:
S201,从目标芯片的多个待验证功能中选择一个确定为目标芯片待验证的目标功能。
实现中,目标芯片存在多个可以进行总线验证的待验证功能,其中,可以基于该部分的待验证功能的实现结果,实现对待验证总线的功能的验证判断。
因此,可以从目标芯片的多个待验证功能中,选择一个待验证功能确定为当前总线验证的目标功能,基于该目标功能的实现结果,对待验证总线的功能进行判断。
可以理解为,若该目标功能可以基于当前的待验证总线构建的连接关系实现,则当前进行验证的待验证总线的功能正常,相应地,若该目标功能无法基于当前的待验证总线构建的连接关系实现,则可以判断,当前进行验证的待验证总线的功能存在异常。
S202,基于每个待验证功能的实现环境,确定目标芯片的多个候选待验证层级,其中,候选待验证层级包括模块层级、系统层级和芯片层级。
实现中,芯片的每个待验证功能依托于对应的环境得以实现,可以理解为,针对芯片的任一待验证功能,可以基于芯片上的部分功能模块得以成功运行,该部分功能模块构建的环境可以被确定为该待验证功能的实现环境。因此,确定当前验证的目标功能后,需要对其实现环境进行判断,并基于该实现环境确定当前验证的目标层级。
本申请实施例中,芯片上存在若干相对独立的功能模块,其中,每个功能模块和/或者不同的功能模块的组合,可以为芯片的不同功能提供实现环境。
因此,根据芯片的不同的待验证功能,可以将芯片上的若干功能模块进行划分,并基于划分后的功能模块确定其对应的不同的层级,其中,可以将每个层级确定为芯片的候选待验证层级。
进一步地,目标芯片的候选待验证层级可以为模块层级、系统层级和芯片层级。
可选地,当芯片的待验证的目标功能的实现环境为某一个功能模块,则该目标功能对应的待验证目标层级为模块层级,可以理解为,模块层级上可以实现的芯片的功能,可以基于某一个功能模块独立实现。
可选地,当芯片的待验证的目标功能的实现环境为部分模块层级对应的功能模块的组合时,则该目标功能对应的待验证目标层级为系统层级,可以理解为,系统层级上可以实现的芯片功能,需要调用芯片上不同的模块层级的功能模块组合得以实现。
可选地,当芯片的待验证的目标功能的实现环境为部分系统层级对应的功能模块的组合时,则该目标功能对应待验证目标层级为芯片层级,可以理解为,芯片层级上可以实现的芯片功能,需要调用芯片上若干个系统层级的功能模块组合得以实现。
进一步地,每个功能模块可以存在对应的属性信息,因此,可以根据每个功能模块的属性信息中的参数,将不同的功能模块进行层级的划分。
比如,针对芯片的某一个待验证功能,设定可以实现该待验证功能的模块的属性信息的列表中存在某一个预定义的参数,则在进行层级划分时,可以读取每个功能模块的属性信息列表,并将获取到的携带该预定义参数的属性信息对应的至少一个功能模块,进行相应层级的划分。
需要说明的是,目标芯片的层级划分可以在待验证总线的验证工作开始前预先定义完成。
S203,从多个候选待验证层级中,确定与待验证的目标功能对应的目标层级。
本申请实施例中,确定当前待验证的目标功能后,可以从划分好的多个候选待验证层级中,选择可以实现目标功能的候选待验证层级,并将其确定为目标功能对应的待验证的目标层级。
需要说明的是,当待验证的目标功能为待验证总线维持低功耗作业状态的功能、待验证总线实现异常上报逻辑的功能、待验证总线实现时钟门控逻辑的功能时,上述的目标功能需要基于芯片上不同的功能模块配合实现,因此,可以在系统层级对上述目标功能进行验证。
可以理解为,相较于芯片层级上对上述目标功能进行验证,在系统层级进行验证可以有效缩小对上述目标功能的验证范围,在验证速度提升的同时,对于上述目标功能验证过程中出现的故障信息,可以提升故障信息的修复时间,从而有效提升待验证总线的验证效率。
可选地,在目标芯片的待验证总线的验证过程中,可以预先设定不同层级的验证顺序。比如,可以先行进行模块层级的验证,后进行系统层级的验证,进而进行芯片层级的验证。
根据设定的验证顺序,将芯片上的每个功能模块内的部分待验证总线进行验证,从而保证了每个功能模块内部的待验证总线的功能可以正常实现。进一步地,对部分模块层级组成的系统层级进行验证,从而保证了不同的模块层级对应的功能模块之间的待验证总线的功能可以正常实现。再一步地,部分系统层级组成的芯片层级进行验证,从而保证了不同的系统层级对应的功能模块之间的待验证总线的功能可以正常实现,从而实现芯片上待验证总线的完整验证。
进一步地,进行待验证目标功能的切换时,需要对待验证的目标层级进行切换。
可选地,可以调用脚本程序,基于脚本程序的执行,将待验证总线与目标层级的第一模拟数据端口和第二模拟数据端口自动连接。
本申请实施例中,可以预定义脚本程序,并在进行目标层级的切换时进行调用并执行。
基于脚本程序的执行,使得待验证总线可以与不同的目标层级构建连接关系,可以理解为,在脚本程序执行后,待验证总线可以与不同目标层级的第一模拟数据端口和与其匹配的第二模拟数据端口自动构建连接关系。
比如,当前的待验证目标层级为模块层级,则当该层级验证完毕后,下一个待验证的目标功能对应的为系统层级,则可以调用脚本程序并执行,执行完毕后,待验证总线可以与系统层级中的每个第一模拟数据端口和与其匹配的至少一个第二模拟数据端口自动构建连接关系,进而对系统层级内的待验证总线进行验证。
本申请提出的总线的验证方法,根据目标芯片的不同的功能实现环境,将目标芯片划分为不同的候选待验证层级,基于目标功能的确定,从候选待验证层级中选择对应的目标层级,进而对目标层级内的待验证总线进行验证。基于脚本程序的调用,使得待验证的目标层级可以实现自动切换,从而实现不同的目标层级中的待验证总线的验证。本申请中,通过对不同目标层级内的待验证总线进行分别验证,从而实现芯片上的待验证总线的完整验证,有效提高了总线的验证效率。
上述实施例中,关于待验证数据包的生成,可结合图3进一步理解,图3为本申请另一实施例的总线的验证方法的流程示意图,如图3所示,该方法包括:
S301,通过连接通路,将候选数据包由第一模拟数据端口基于第一总线协议传输所连接的第二模拟数据端口,由第二模拟数据口基于第二总线协议,将候选数据包转化为待验证数据包。
本申请实施例中,待验证总线可以分别与目标层级的第一模拟数据接口和与其匹配的第二模拟数据接口连接,以构建每个第一模拟数据接口和匹配的第二模拟数据接口之间的连接通路。
通过构建的连接通路,可以将候选数据包从第一模拟数据端口传输至匹配的第二模拟数据端口。
其中,第一模拟数据端口存在设定的数据传输协议,可以将其确定为第一模拟数据端口的第一总线协议。相应地,第二模拟数据端口存在设定的数据传输协议,可以将其确定为第二模拟数据端口的第二总线协议。
候选数据包基于第一总线协议,由第一模拟数据端口向匹配的第二模拟数据端口传输,待验证总线基于第一总线协议和第二总线协议,在传输数据包的过程中进行协议变更,使得第二模拟数据端口可以接收基于待验证总线传输的候选数据包。
进一步地,第二模拟数据端口基于第二总线协议,将候选数据包进行格式转换,生成基于第二总线协议传输的待验证数据包。
如图4所示,第一模拟数据端口411基于待验证总线40将候选数据包传输至第二模拟数据端口421、422、423,待验证总线40基于第一模拟数据端口411对应的第一总线协议和第二模拟数据端口421、422、423分别对应的第二总线协议,对候选数据包进行协议转换,进而使得第二模拟数据端口421、422、423可以接收第一模拟数据端口411传输的候选数据包,第二模拟数据端口421、422、423基于第二总线协议,将候选数据包转化为可以通过第二总线协议传输的待验证数据包,并将待验证数据包分别传输至其对应的模拟验证匹配器461、462、463中,分别在每个模拟验证匹配器中进行待验证数据包的验证,基于每个模拟验证匹配器的验证结果实现待验证总线40的验证。
本申请提出的总线的验证方法,通过待验证总线与目标层级的第一模拟数据端口和匹配的第二模拟数据端口之间构建的连接通路,将候选数据包由第一模拟数据端口传输至匹配的第二模拟数据端口,并由第二模拟数据端口实现候选数据包对应的待验证数据包的生成。本申请中,基于候选数据包生成对应的待验证数据包,为后续对于待验证总线的验证提供了验证的数据基础。
进一步地,待验证数据包需要与参考数据包进行对比,从而实现待验证总线的验证,其中,参考数据包的生成可结合图5理解,图5为本申请另一实施例的总线的验证方法的流程示意图,如图5所示,该方法包括:
S501,根据第一模拟数据端口和至少一个第二模拟数据端口,确定匹配的模拟转换器组,其中,模拟转换器组中包括第一模拟转换器和至少一个第二模拟转换器。
本申请实施例中,可以通过对待验证数据包中携带的参数信息的准确与否,判断待验证总线的功能。
可选地,可以基于路由机制,为待验证总线构建的连接通路构建对应的参考通路,并通过构建的参考通路中的模拟转换器组,实现参考数据包的生成。
进一步地,可以基于第一模拟数据端口的第一总线协议,确定与其对应的第一模拟转换器,基于第二模拟数据端口的第二总线协议,确定与其对应的第二模拟转换器。
比如,针对第一模拟数据端口X1和第二模拟数据端口X2基于待验证总线构建的连接通路X,其匹配的模拟转换器组Y可以基于如下标准确定:
当第一模拟转换器Y1与连接通路X中的第一模拟数据端口X1使用相同的第一总线协议、第二模拟转换器Y2与连接通路X中的第二模拟数据端口X2使用相同的第二总线协议,且该模拟转换器组中,第一模拟转换器Y1与第二模拟转换器Y2之间的连接关系,与连接通路X中的第一模拟数据端口X1和第二模拟数据端口X2之间的连接关系相同时,可以确定,该模拟转换器组为该连接通路匹配的模拟转换器组Y。
如图4所示,第一模拟转换器431、441、451与第一模拟数据端口411对应,第二模拟转换器432、442、452与第二模拟数据端口421、422、423分别对应。
进一步地,第一模拟转换器431和第二模拟转换器432之间的连接关系,与第一模拟数据端口411和第二模拟数据端口421之间的连接通路相同;第一模拟转换器441和第二模拟转换器442之间的连接关系,与第一模拟数据端口411和第二模拟数据端口422之间的连接通路相同;第一模拟转换器451和第二模拟转换器452之间的连接关系与第一模拟数据端口411和第二模拟数据端口423之间的连接通路相同。
因此,第一模拟数据端口411和第二模拟数据端口421之间的连接通路匹配的模拟转换器组,为第一模拟转换器431和第二模拟转换器432组成的模拟转换器组;第一模拟数据端口411和第二模拟数据端口422之间的连接通路匹配的模拟转换器组,为第一模拟转换器441和第二模拟转换器442组成的模拟转换器组;第一模拟数据端口411和第二模拟数据端口423之间的连接通路匹配的模拟转换器组,为第一模拟转换器451和第二模拟转换器452组成的模拟转换器组。
S502,通过第一模拟转换器基于第一总线协议,将候选数据包转化为标准数据包,并将标准数据包传输至第二模拟转换器,由第二模拟转换器基于第二总线协议,将标准数据包转化为参考数据包。
本申请实施例中,第一模拟转换器与第一模拟数据端口对应,因此,第一模拟转换器可以将基于第一总线协议传输的候选数据包进行格式转换,并生成通用的标准数据包,并将生成的标准数据包传输至与第二模拟数据端口对应的第二模拟转换器中。
进一步地,第二模拟转换器可以将接收到的标准数据包进行转换,进而生成可以基于第二总线协议进行传输的参考数据包。
其中,参考数据包可以理解为,候选数据包在进行准确的传输和格式转换后,基于第二总线协议传输的准确的数据包,因此,参考数据包可以作为待验证数据包的判断标准,基于二者之间的比较,从而确定待验证数据包是否经过了准确的传输和转换,进而实现对于待验证总线的功能验证。
如图4所示,候选数据包由第一模拟数据端口411基于第一总线协议传输至第一模拟转换器431、441、451,第一模拟转换器431、441、451将获取到的候选数据包转换为通用的标准数据包,并传输至对应的第二模拟转换器432、442、452中,由第二模拟转换器432、442、452将标准数据包转化为基于第二总线协议传输的参考数据包,并将参考数据包分别传输至其对应的模拟验证匹配器461、462、463中,分别在每个模拟验证匹配器中基于参考数据包对待验证数据包进行验证,基于每个模拟验证匹配器的验证结果实现待验证总线40的验证。
需要说明的是,每组第二模拟数据端口和第二模拟转换器存在一个模拟验证匹配器,可以理解为,每组第二模拟数据端口和第二模拟转换器,与模拟验证匹配器一一对应。如图4所示,第二模拟数据端口421和第二模拟转换器432对应模拟验证匹配器461,第二模拟数据端口422和第二模拟转换器442对应模拟验证匹配器462,第二模拟数据端口423和第二模拟转换器452对应模拟验证匹配器463。
其中,每个模拟验证匹配器可以验证基于其对应的每组第二模拟数据端口和第二模拟转换器匹配的第二总线协议传输的待验证数据包和参考数据包。
可以理解为,若第二模拟数据端口421为APB协议数据端口,第二模拟数据端口422为AHB协议数据端口,第二模拟数据端口423为AXI协议数据端口,则第二模拟转换器432为APB协议模拟转换器,第二模拟转换器442为AHB协议模拟转换器,第二模拟转换器452为AXI协议模拟转换器,则模拟验证匹配其461可以对基于APB协议传输的待验证数据包和参考数据包进行验证匹配,模拟验证匹配其462可以对基于AHB协议传输的待验证数据包和参考数据包进行验证匹配,模拟验证匹配其463可以对基于AXI协议传输的待验证数据包和参考数据包进行验证匹配。
本申请提出的总线的验证方法,基于路由机制,构建与待验证总线的连接通路对应的模拟转换器组,并通过模拟转换器组生成候选数据包对应的标准数据包,进而生成用于验证待验证数据包的参考数据包。本申请中,通过模拟转换器组生成的参考数据包,为待验证数据包的验证提供了用于判断的准确数据,有效提高了待验证总线的验证准确率。
进一步地,基于参考数据包和待验证数据包可以实现待验证总线的验证,可结合图6,图6为本申请另一实施例的总线的验证方法的流程示意图,如图6所示,该方法包括:
S601,将基于待验证总线的每个连接通路生成的待验证数据包,和对应模拟转换器组生成的参考数据包进行匹配,基于匹配结果获取待验证总线的验证结果。
本申请实施例中,可以将参考数据包中携带的参数信息与其对应的待验证数据包中携带的参数信息进行对比匹配,并基于匹配的结果判断待验证总线的功能验证结果。
其中,响应于待验证数据包和参考数据包匹配,则待验证总线的待验证功能运行正常。
进一步地,当参考数据包和对应的待验证数据包中的参数信息匹配时,可以理解为,待验证数据包经过了准确的传输转换,从而可以判断当前验证的待验证总线的功能可以正常运行,并将其作为当前验证的待验证总线的验证结果。
相应地,响应于待验证数据包和参考数据包不匹配,则获取待验证总线的故障信息,对故障信息进行修复,并返回对修复后的待验证总线进行验证,直至待验证总线的待验证功能运行正常。
实现中,为了保证待验证总线验证结果的准确性,在待验证总线构建的连接通路中,可以将待验证总线作为唯一的变量,因此,通过待验证数据包和参考数据包之间的匹配结果,可以有效对待验证总线的验证情况进行判断。
进一步地,当参考数据包和对应的待验证数据包中的参数信息不匹配时,可以理解为,当前验证的待验证数据包的传输转换过程出现失误,基于该失误可以获取当前验证的待验证总线的故障信息,并对其进行修复。
对于修复后的待验证总线,为了验证修复的结果,可以基于候选数据包对修复后的待验证总线进行再一次的验证,直至生成的待验证数据包与参考数据包匹配。可以理解为,直至修复后的待验证总线的功能可以正常运行。
实现中,目标芯片的待验证总线存在若干待验证功能,因此,需要通过多轮次的对待验证总线的不同功能进行验证,从而实现待验证总线的完整验证。
进一步地,基于待验证总线的已验证功能与未验证功能,获取待验证总线的验证覆盖率。
本申请实施例中,为了保证待验证总线的功能可以被完整验证,可以在每个轮次的验证结束后,基于待验证总线已经验证完毕的功能和尚未进行验证的功能进行对比,从而获取当前验证轮次对应的验证覆盖率。
其中,可以基于验证覆盖率设定相应的覆盖率阈值,并基于该阈值判断当前轮次的验证是否完成的待验证总线的完整验证。
进一步地,响应于验证覆盖率大于或者等于覆盖率阈值,则生成目标总线。
若当前验证轮次对应的验证覆盖率大于或者等于预设的覆盖率阈值,可以判断,当前轮次与该轮次之前完成的待验证总线的功能验证,已经满足实际所需,因此,可以将当前的验证轮次作为最后一个轮次的待验证总线的验证,并将当前验证轮次中验证完毕的待验证总线确定为目标总线。
相应地,响应于验证覆盖率小于覆盖率阈值,则返回继续对未验证功能进行验证,直至验证覆盖率大于或者等于覆盖率阈值,则生成目标总线。
若当前轮次对应的验证覆盖率小于预设的覆盖率阈值,可以判断,当前轮次与该轮次之前完成的待验证总线的功能验证,尚不能满足实际所需,因此,需要继续对待验证总线的下一个未验证的功能进行验证,直至完成待验证总线的完整验证,并生成对应的目标总线。
需要说明的是,第二模拟数据端口存在主动和被动两种工作模式,在被动工作模式下,与第二模拟数据端口存在的连接关系均被设定为第二模拟数据端口的输入,可以理解为,在被动工作模式场景下,第二模拟数据端口仅保留数据接收功能。
进一步地,可以将设定为被动工作模式的第二模拟数据端口与真实芯片环境中对应的第二数据端口并列连接,可以理解为,将第二模拟数据端口与其对应的真实芯片环境下的第二数据端口设置于相同的连接位置,且构建相同的连接关系。
其中,第二模拟数据端口用于数据接收,对应的真实芯片环境下的第二数据端口用于产生响应并返回总线,基于该模式对真实芯片环境下的第二数据端口进行响应功能的验证,从而有效降低真实芯片环境下的第二数据接口的验证难度。
本申请提出的总线的验证方法,基于参考数据包和待验证数据包的匹配结果,进行待验证总线的功能验证,进一步地,基于验证覆盖率判断待验证总线是否实现了完整验证,优化了待验证总线的验证工作的准确度和完整度。
与上述几种实施例提出的总线的验证方法相对应,本申请的一个实施例还提出了一种总线的验证装置,由于本申请实施例提出的总线的验证装置与上述几种实施例提出的总线的验证方法相对应,因此上述总线的验证方法的实施方式也适用于本申请实施例提出的总线的验证装置,在下述实施例中不再详细描述。
图7为本申请另一实施例的总线的验证装置的结构示意图,如图7所示,总线的验证装置700,包括确定模块71、待验证模块72、参考模块73、判断模块74,其中:
确定模块71,用于确定目标芯片待验证的目标层级,并获取目标芯片待验证的目标功能对应的候选数据包,其中,目标层级中存在至少一个第一模拟数据端口和至少一个第二模拟数据端口,第一模拟数据端口和每个对应的第二模拟数据端口之间通过待验证总线连接;
待验证模块72,用于将候选数据包传输至第一模拟数据端口,并基于待验证总线将候选数据包输入第二模拟数据端口,生成候选数据包对应的待验证数据包;
参考模块73,用于将候选数据包输入与第一模拟数据端口连接的至少一个模拟转换器组,由模拟转换器组将候选数据包转化为参考数据包;
判断模块74,用于根据待验证数据包和参考数据包,获取待验证总线的验证结果。
图8为本申请另一实施例的总线的验证装置的结构示意图,如图8所示,总线的验证装置800,包括确定模块81、待验证模块82、参考模块83、判断模块84,其中:
需要说明的是,确定模块81、待验证模块82、参考模块83、判断模块84和确定模块71、待验证模块72、参考模块73、判断模块74,具备相同的结构和功能。
本申请实施例中,确定模块81,还包括:从目标芯片的多个待验证功能中选择一个确定为目标芯片待验证的目标功能;基于每个待验证功能的实现环境,确定目标芯片的多个候选待验证层级,其中,候选待验证层级包括模块层级、系统层级和芯片层级;从多个候选待验证层级中,确定与待验证的目标功能对应的目标层级。
本申请实施例中,确定模块81,还包括:调用脚本程序,基于脚本程序的执行,将待验证总线与目标层级的第一模拟数据端口和第二模拟数据端口自动连接。
本申请实施例中,待验证模块82,还包括:通过连接通路,将候选数据包由第一模拟数据端口基于第一总线协议传输所连接的第二模拟数据端口,由第二模拟数据口基于第二总线协议,将候选数据包转化为待验证数据包。
本申请实施例中,参考模块83,还包括:根据第一模拟数据端口和至少一个第二模拟数据端口,确定匹配的模拟转换器组,其中,模拟转换器组中包括第一模拟转换器和至少一个第二模拟转换器;通过第一模拟转换器基于第一总线协议,将候选数据包转化为标准数据包,并将标准数据包传输至第二模拟转换器,由第二模拟转换器基于第二总线协议,将标准数据包转化为参考数据包。
本申请实施例中,判断模块84,还包括:将基于待验证总线的每个连接通路生成的待验证数据包,和对应模拟转换器组生成的参考数据包进行匹配,基于匹配结果获取待验证总线的验证结果。
本申请实施例中,判断模块84,还包括:响应于待验证数据包和参考数据包匹配,则待验证总线的待验证功能运行正常;响应于待验证数据包和参考数据包不匹配,则获取待验证总线的故障信息,对故障信息进行修复,并返回对修复后的待验证总线进行验证,直至待验证总线的待验证功能运行正常。
本申请实施例中,判断模块84,还包括:基于待验证总线的已验证功能与未验证功能,获取待验证总线的验证覆盖率;响应于验证覆盖率大于或者等于覆盖率阈值,则生成目标总线;响应于验证覆盖率小于覆盖率阈值,则返回继续对未验证功能进行验证,直至验证覆盖率大于或者等于覆盖率阈值,则生成目标总线。
本申请提出的总线的验证装置,确定待验证的目标层级,并获取该目标层级内可以实现的待验证的目标功能对应的候选数据包。通过待验证总线连接目标层级内的第一模拟数据端口和匹配的至少一个第二模拟数据端口,基于该连接关系,将候选数据包转化为对应的待验证数据包。相应地,将候选数据包输入该连接关系对应的模拟转换器组中,基于第一模拟数据端口和至少一个第二模拟数据端口分别对应的模拟转换器,将候选数据包转化为对应的参考数据包。进一步地,基于待验证数据包和参考数据包之间的对比结果,获取待验证总线的验证结果。本申请中,将待验证总线基于芯片的层级进行划分,并进行分别验证,通过对芯片的每个层级内的待验证总线的部分验证,实现芯片的待验证总线的完整验证,提高了总线的验证过程中的故障修复效率,缩短了总线的验证时间,优化了总线的验证方法,有效提高了总线的验证效率。
为达到上述实施例,本申请还提出了一种电子设备、一种计算机可读存储介质和一种计算机程序产品。
图9为本申请一实施例的电子设备的框图,根据如图9所示的电子设备可以实现执行图1至图3和图5至图6的实施例的总线的验证方法。
为了实现上述实施例,本申请还提出一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行图1至图3和图5至图6的实施例的总线的验证方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行图1至图3和图5至图6的实施例的总线的验证方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
- 基于区块链的交易验证方法、装置、存储介质及电子设备
- 基于压力感应的登录验证方法、装置、存储介质电子设备
- 指纹识别登录验证方法、装置、存储介质及电子设备
- 生成、验证二维码的方法和装置,存储介质和电子设备
- 票据验证方法及装置、电子设备及存储介质
- 检查总线验证的方法与装置以及电子设备和存储介质
- 验证方法、验证装置、电子设备及计算机可读存储介质