CN114417563A - 多核机制的仿真方法、装置和电子设备 - Google Patents

多核机制的仿真方法、装置和电子设备 Download PDF

Info

Publication number
CN114417563A
CN114417563A CN202111579706.4A CN202111579706A CN114417563A CN 114417563 A CN114417563 A CN 114417563A CN 202111579706 A CN202111579706 A CN 202111579706A CN 114417563 A CN114417563 A CN 114417563A
Authority
CN
China
Prior art keywords
target
test
eukaryotic
test sequence
simulated
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
Application number
CN202111579706.4A
Other languages
English (en)
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.)
Hangzhou Aixin Yuanzhi Technology Co ltd
Original Assignee
Hangzhou Aixin Yuanzhi 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 Hangzhou Aixin Yuanzhi Technology Co ltd filed Critical Hangzhou Aixin Yuanzhi Technology Co ltd
Priority to CN202111579706.4A priority Critical patent/CN114417563A/zh
Publication of CN114417563A publication Critical patent/CN114417563A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

本申请提供一种多核机制的仿真方法、装置和电子设备,包括:在测试用例的运行过程中,识别是否存在可并行的多个目标测试序列;响应于存在可并行的多个目标测试序列,为每个目标测试序列配置匹配的目标仿真核;基于目标仿真核并列运行每个目标测试序列直至结束;继续运行测试用例中的下一个测试序列,直至测试用例运行结束。本申请中,基于多核机制实现测试序列的并列运行,缩短了测试用例的运行时间,提高了芯片验证的效率。

Description

多核机制的仿真方法、装置和电子设备
技术领域
本申请涉及芯片验证领域,尤其涉及一种多核机制的仿真方法、装置和电子设备。
背景技术
随着芯片设计的复杂程度的增加,对于芯片的各个模块的验证的时间也随之增加,使得芯片的验证效率受到了一定程度的影响。
因此,如何提升芯片验证的效率成为了目前需要解决的问题。
发明内容
本申请的目的旨在至少在一定程度上解决上述技术中的技术问题之一。
本申请第一方面提供了一种多核机制的仿真方法,包括:在测试用例的运行过程中,识别是否存在可并行的多个目标测试序列;响应于存在所述可并行的多个目标测试序列,为每个目标测试序列配置匹配的目标仿真核;基于所述目标仿真核并列运行所述每个目标测试序列直至结束;继续运行所述测试用例中的下一个测试序列,直至所述测试用例运行结束。
本申请第一方面提供的一种多核机制的仿真方法,还具备如下技术特征,包括:
根据本申请一实施例,所述在测试用例的运行过程中,识别是否存在可并行的多个目标测试序列,包括:响应于所述测试用例满足并行条件,确定所述测试用例存在所述可并行的多个目标测试序列,其中,每个目标测试序列包括至少一个待运行测试序列。
根据本申请一实施例,所述方法还包括:识别所述测试用例中,存在多个待运行测试序列不存在依赖关系,且运行结束后可继续运行所述下一个测试序列,并确定所述测试用例满足所述并行条件。
根据本申请一实施例,所述目标测试序列为不存在依赖关系且运行结束后可继续运行所述下一个测试序列的所述多个待运行测试序列。
根据本申请一实施例,所述响应于存在所述可并行的多个目标测试序列,为每个目标测试序列配置匹配的目标仿真核,包括:响应于存在可用仿真核,基于所述可用仿真核为所述目标测试序列配置匹配的所述目标仿真核;响应于不存在可用仿真核,将所述目标测试序列放置于待运行队列中,直至配置匹配的所述目标仿真核。
根据本申请一实施例,所述响应于存在可用仿真核,基于所述可用仿真核为所述目标测试序列配置匹配的所述目标仿真核,包括:识别所述仿真核的未占用空间大于或等于所述目标测试序列的运行空间,则将所述仿真核作为所述可用仿真核;响应于所述可用仿真核提供的仿真环境与所述目标测试序列对应的待运行功能匹配,将所述可用仿真核确定为所述目标仿真核。
根据本申请一实施例,所述方法还包括:响应于所述测试用例不满足所述并行条件,基于所述运行仿真核对所述测试用例进行仿真直至仿真结束。
本申请第二方面提供了一种多核机制的仿真装置,包括:识别模块,用于在测试用例的运行过程中,识别是否存在可并行的多个目标测试序列;配置模块,用于响应于存在所述可并行的多个目标测试序列,为每个目标测试序列配置匹配的目标仿真核;并行模块,用于基于所述目标仿真核并列运行所述每个目标测试序列直至结束;仿真模块,用于继续运行所述测试序列中的下一个测试序列,直至所述测试用例运行结束。
本申请第二方面提供的一种多核机制的仿真装置,还具备如下技术特征,包括:
根据本申请一实施例,所述识别模块,还用于:响应于所述测试用例满足并行条件,确定所述测试用例存在所述可并行的多个目标测试序列,其中,每个目标测试序列包括至少一个待运行测试序列。
根据本申请一实施例,所述识别模块,还用于:识别所述测试用例中,存在多个待运行测试序列不存在依赖关系,且运行结束后可继续运行所述下一个测试序列,并确定所述测试用例满足所述并行条件。
根据本申请一实施例,所述目标测试序列为不存在依赖关系且运行结束后可继续运行所述下一个测试序列的所述多个待运行测试序列。
根据本申请一实施例,所述配置模块,还用于:响应于存在可用仿真核,基于所述可用仿真核为所述目标测试序列配置匹配的所述目标仿真核;响应于不存在可用仿真核,将所述目标测试序列放置于待运行队列中,直至配置匹配的所述目标仿真核。
根据本申请一实施例,所述配置模块,还用于:识别所述仿真核的未占用空间大于或等于所述目标测试序列的运行空间,则将所述仿真核作为所述可用仿真核;响应于所述可用仿真核提供的仿真环境与所述目标测试序列对应的待运行功能匹配,将所述可用仿真核确定为所述目标仿真核。
根据本申请一实施例,所述仿真模块,还用于:响应于所述测试用例不满足所述并行条件,基于所述运行仿真核对所述测试用例进行仿真直至仿真结束。
本申请第三方面实施例提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面提供的多核机制的仿真方法。
本申请第四方面实施例提供了一种存储有计算机指令的可读存储介质,所述计算机指令用于使所述计算机执行本申请第一方面提供的多核机制的仿真方法。
本申请第五方面实施例提供了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行本申请第一方面提供的多核机制的仿真方法。
本申请提供的多核机制的仿真方法及装置,在测试用例的运行过程中识别待运行的测试序列中是否存在可并行的多个目标测试序列,若存在可并行的多个目标测试序列,则分别为每个目标测试序列配置匹配的目标仿真核。每个目标测试序列可以在其对应的目标仿真核中运行,当目标测试序列运行结束后,可以继续运行测试用例中的下一个测试序列,直至测试用例运行结束。本申请中,基于多核机制实现测试序列的并列运行,缩短了测试用例的运行时间,提高了芯片验证的效率。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一实施例的多核机制的仿真方法的流程示意图;
图2为本申请另一实施例的多核机制的仿真方法的流程示意图;
图3为本申请另一实施例的多核机制的仿真方法的流程示意图;
图4为本申请另一实施例的多核机制的仿真方法的流程示意图;
图5为本申请另一实施例的多核机制的仿真方法的流程示意图;
图6为本申请一实施例的多核机制的仿真装置的结构示意图;
图7为本申请另一实施例的多核机制的仿真装置的结构示意图;
图8是本申请一实施例的电子设备的框图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的多核机制的仿真方法、装置、电子设备及存储介质。
图1为本申请一实施例的多核机制的仿真方法的流程示意图,如图1所示,该方法包括:
S101,在测试用例的运行过程中,识别是否存在可并行的多个目标测试序列。
实现中,芯片的功能被实现需要基于多个步骤的运行,其中,步骤的运行存在设定顺序,需要根据设定顺序逐次进行步骤的运行,进而实现对应的芯片功能。
其中,实现芯片功能的运行步骤中,可能存在部分运行步骤,该部分运行步骤可以同时运行,且不会影响后续其他步骤运行以及不会影响对应的芯片功能的实现,进一步地,可以将该部分步骤确定为可并行的运行步骤。
实现中,可以基于芯片的待验证功能构建对应的测试用例,并基于实现该待验证功能的待运行步骤构建对应的测试序列,在芯片的待验证功能的实现步骤中存在可并行的运行步骤的场景下,可以将其对应的测试用例中,可并行的运行步骤对应的测试序列确定为可以并列进行仿真的测试序列。
可选地,可以在测试用例运行的过程中对待运行的测试序列进行判断,并识别其中是否存在可以并列进行仿真的的测试序列,并将其确定为测试序列。
本申请实施例中,可并行测试序列存在设定的并行判定标准,在测试用例的运行过程中,可以获取待运行测试序列的相关参数信息,并根据获取到的参数信息判断待运行测试序列中是否存在符合并行判定标准的测试序列。
可选地,并行判定标准中存在设定的数量标准,其中可以包括,测试用例中可并行测试序列的数量至少为两个或两个以上。
进一步地,基于设定的并行判定标准,可以从待运行测试序列中实现多个可并行测试序列的识别,进而确定待运行测试序列中的可并行的多个目标测试序列。
S102,响应于存在可并行的多个目标测试序列,为每个目标测试序列配置匹配的目标仿真核。
实现中,仿真核可以为芯片验证中的测试用例提供仿真环境,在该仿真环境下,测试用例可以实现对芯片的待验证功能的仿真实现,从而达到对芯片的功能进行验证的目的。
其中,配置参数存在不同的仿真核,可以为测试用例提供不同的仿真环境,因此,可以根据实现测试用例对应的芯片的待验证功能的所需条件,为测试用例配置对应的仿真核。
本申请实施例中,为了实现多个目标测试序列的并列运行,可以为每个目标测试序列配置匹配的仿真核,其中,每个目标测试序列存在对应的待运行步骤,可以根据每个目标测试序列对应的待运行步骤所需的运行环境,为其配置匹配的仿真核,并将其确定为每个目标测试序列对应的目标仿真核。
进一步地,每个目标测试序列可以在对应的目标仿真核提供的仿真环境中运行,以实现多个目标测试序列的并列运行。
S103,基于目标仿真核并列运行每个目标测试序列直至结束。
实现中,每个目标测试序列可以在其匹配的目标仿真核提供的仿真环境中分别运行,进而实现多个目标测试序列的并列运行。
本申请实施例中,测试用例中可以存在多个时间批次的目标测试序列,同一时间批次的多个目标测试序列可以并列运行。不同的目标测试序列,其运行时间存在不同,当同一时间批次内的多个目标测试序列全部运行结束后,可以进行多个目标测试序列的下一个测试序列的运行。
在一些实现中,可以为同一时间批次内的每个目标测试序列设定相同的运行时间,每个目标测试序列可以在其匹配的目标仿真核提供的仿真环境中,各自在设定的相同运行时间开始运行,以实现可并行的多个目标测试序列的同时并列运行。
在另一些实现中,可以基于同一时间批次内的每个目标测试序列匹配的目标仿真核的使用情况,为目标测试序列设定对应的运行时间。其中,每个目标测试序列的运行时间可能存在不同。进一步地,每个目标测试序列基于各自设定的运行时间,分别在各自匹配的目标仿真核提供的仿真环境中运行,进而实现可并行的多个目标测试序列的非同时并列运行。
S104,继续运行测试用例中的下一个测试序列,直至测试用例运行结束。
本申请实施例中,当同一时间批次内的目标测试序列中运行时间最长的目标测试序列运行结束后,则可以确定该时间批次内的全部的目标测试序列运行结束。
进一步地,可以继续进行测试用例中的下一个测试序列的运行。
其中,可以继续运行当前时间批次内全部的目标测试序列后的下一个测试序列,也可以继续运行与当前时间批次相邻的下一个时间批次内的多个可并行的目标测试序列。
可以理解为,在测试用例的运行过程中进行可并行的目标测试序列的识别,当识别到同一时间批次内可并行的目标测试序列后,则为其分别配置匹配的目标仿真核,在每个时间批次内的目标测试序列运行结束后,则继续进行后续的测试序列的运行,直至全部的测试序列运行结束,进而实现测试用例的运行结束。
本申请提供的多核机制的仿真方法,在测试用例的运行过程中识别待运行的测试序列中是否存在可并行的多个目标测试序列,若存在可并行的多个目标测试序列,则分别为每个目标测试序列配置匹配的目标仿真核。每个目标测试序列可以在其对应的目标仿真核中运行,当目标测试序列运行结束后,可以继续运行测试用例中的下一个测试序列,直至测试用例运行结束。本申请中,基于多核机制实现测试序列的并列运行,缩短了测试用例的运行时间,提高了芯片验证的效率。
上述实施例中,关于可并行的多个目标测试序列的确定,可结合图2进一步理解,图2为本申请另一实施例的多核机制的仿真方法的流程示意图,如图2所示,该方法包括:
S201,响应于测试用例满足并行条件,确定测试用例存在可并行的多个目标测试序列,其中,每个目标测试序列包括至少一个待运行测试序列。
本申请实施例中,可以基于设定的并行条件,在待运行测试序列中识别是否存在可并行的多个目标测试序列。
实现中,芯片的待验证功能基于若干待运行步骤的运行得以实现,其中,存在部分待运行步骤可以实现在同一时间批次内各自独立运行,且运行结束后可继续后续其他步骤的运行。
相应地,测试用例基于若干测试序列的运行得以实现仿真,其中,存在部分测试序列可以实现在同一时间批次内各自独立运行,且运行结束后可以继续测试用例中的下一个测试序列的运行。
可选地,可以基于上述内容设定对应的并行条件,并根据并行条件从待运行测试序列中识别获取可并行的多个目标测试序列。
其中,目标测试序列为不存在依赖关系且运行结束后可继续运行下一个测试序列的多个待运行测试序列。
进一步地,可以在测试用例的运行过程中读取待运行测试序列的相关属性信息,并判断其是否满足对应的并行条件。若存在多个待运行测试序列之间不存在依赖关系,且运行结束后可继续运行下一个测试序列,则可以将该多个待运行测试序列确定为可并行的多个目标测试序列。
相应地,识别测试用例中,存在多个待运行测试序列不存在依赖关系,且运行结束后可继续运行下一个测试序列,并确定测试用例满足并行条件。
在一些实现中,可以在测试用例运行之前对测试用例是否满足并行条件进行判断,若判定测试用例满足并行条件,则可以在测试用例运行之前为其配置对应的识别资源。其中,基于识别资源的配置,可以实现测试用例在运行过程中的可并行的多个目标测试序列的识别。
可选地,可以将测试用例对应的待验证功能的全部运行步骤进行分析,将全部的运行步骤可实现的运行方式进行分类,并进行数字化呈现。其中,可以将满足并行条件的待运行步骤标记为events-per-cycle,若数字化呈现的结果中events-per-cycle后存在数字显示,则可以判定测试用例中存在可并行的多个目标测试序列,进而确定测试用例满足并行条件。
进一步地,可以通过相关设定代码的运行实现对测试用例的分析,基于设定代码的运行,实现对测试用例是否满足并行条件的分析。
进一步地,基于识别资源的配置,识别满足并行条件的测试用例中,不存在依赖关系且运行结束后可继续运行下一个测试序列的多个待运行测试序列,并将其确定为测试用例中的可并行的多个目标测试序列。
其中,每个目标测试序列存在对应的待运行步骤,每个待运行步骤可以基于至少一个测试序列的运行实现,因此,每个目标测试序列中包括至少一个待运行测试序列。
本申请提供的多核机制的仿真方法,对测试用例是否满足并行条件进行判断,对满足并行条件的测试用例,在其运行过程中对其中的待运行测试序列进行识别,获取其中可并行的多个目标测试序列。本申请中,通过对目标测试序列的识别,为实现测试用例中多个测试序列的并行提供了基础,进而提高了测试用例的运行效率。
相应地,可以存在不满足并行条件的测试用例,可结合图3理解,图3为本申请另一实施例的多核机制的仿真方法的流程示意图,如图3所示,该方法包括:
S301,响应于测试用例不满足并行条件,基于运行仿真核对测试用例进行仿真直至仿真结束。
本申请实施例中,芯片存在多个待验证功能,因此,在对芯片进行验证的过程中需要构建多个测试用例。其中,存在部分测试用例满足设定的并行条件,则可以对该部分测试用例的运行过程中进行可并行的多个目标测试序列的识别。
相应地,存在部分测试用例,该部分测试用例不满足设定的并行条件。
可以理解为,实现该部分测试用例对应的待验证功能的运行步骤之间,存在依赖关系,无法各自独立运行,基于该情况可以判断该部分测试用例不满足设定的并行条件。
进一步地,对于该部分不满足并行条件的测试用例,可以基于为其匹配的仿真核提供的仿真环境进行运行,不为其中的部分测试序列分配其他仿真核,当全部的测试序列运行结束后,该测试用例仿真结束。
本申请提供的多核机制的仿真方法,对于不满足并行条件的测试用例,可以在其匹配的仿真核中进行运行,直至测试用例仿真结束。在本申请提供的多核机制的仿真方法中,为不满足并行条件的测试用例提供了运行方法,保证了芯片验证过程的完整性以及对芯片的待验证功能的验证覆盖范围。
上述实施例中,关于仿真核的配置,可结合图4进一步理解,图4为本申请另一实施例的多核机制的仿真方法的流程示意图,如图4所示,该方法包括:
S401,响应于存在可用仿真核,基于可用仿真核为目标测试序列配置匹配的目标仿真核。
实现中,可以通过仿真核提供的仿真环境,对芯片的待验证功能进行仿真,从而实现对芯片的验证,其中,仿真核存在设定数量。
本申请实施例中,当测试用例中存在可并行的多个目标测试序列时,需要为每个目标测试序列配置匹配的目标仿真核。进一步地,在确定每个目标测试序列对应的目标仿真核之前,需要基于仿真核的相关状态对其进行判断,从而确定是否可以将其作为目标测试序列的目标仿真核。
进一步地,识别仿真核的未占用空间大于或等于目标测试序列的运行空间,则将仿真核作为可用仿真核。
本申请实施例中,测试序列的运行需要占用其对应的仿真核的运行空间,因此,可以通过仿真核的运行空间对其进行初步的判断。其中,若仿真核的未占用空间大于或者等于目标测试序列运行所需空间,则可以将该仿真核确定为可用仿真核。
进一步地,响应于可用仿真核提供的仿真环境与目标测试序列对应的待运行功能匹配,将可用仿真核确定为目标仿真核。
本申请实施例中,目标测试序列对应的待运行功能需要与其匹配的仿真环境,因此,可以从可用仿真核提供的仿真环境中,选择可以实现目标测试序列运行的仿真环境,并将该仿真环境对应的仿真核确定为目标测试序列匹配的目标仿真核。
S402,响应于不存在可用仿真核,将目标测试序列放置于待运行队列中,直至配置匹配的目标仿真核。
本申请实施例中,目标测试序列存在待运行队列,当无法为目标测试序列配置匹配的目标仿真核时,可以将其放置于待运行队列中。
在一些实现中,若当前的仿真核中无法为目标测试序列的运行提供运行空间,则可以判定当前不存在可用仿真核。
在该场景中,可以选择任一可以为该目标测试序列提供仿真环境的仿真核,并将该目标测试序列放置于该仿真核对应的待运行队列中,直至该仿真核可以为其提供运行空间,则将该仿真核确定为该目标测试序列匹配的目标仿真核。
在另一些实现中,若当前的仿真核可以为目标测试序列提供运行空间,但是无法为目标测试序列提供匹配的仿真环境,则可以判定当前不存在可用仿真核。
在该场景中,可以选择任一可以为该目标测试序列提供运行环境的仿真核,并判断是否可以通过修改其参数配置以达到修改仿真环境的目的。若该仿真核的参数修改后可以为该目标测试序列提供仿真环境,则可以将该目标测试序列放置于该仿真核对应的待运行队列中,当该目标测试序列之前的测试序列均运行结束后,则可以修改该仿真核的相关参数,并将其确定为该目标测试序列匹配的目标仿真核。
本申请提供的多核机制的仿真方法,通过对仿真核的相关信息,为目标测试序列配置匹配的目标仿真核,进而实现可并行的多个目标测试序列的并列运行,以实现测试用例运行效率的有效提升。
为更好理解上述实施例,可结合图5,图5为本申请另一实施例的多核机制的仿真方法的流程示意图,如图5所示,该方法包括:
如图5所示,测试用例1、测试用例2、测试用例3为满足并行条件的测试用例。
其中,测试用例1在仿真核1提供的仿真环境里运行,测试用例1中包括2个可并行的目标测试序列11和目标测试序列12,将仿真核2配置于目标测试序列11作为匹配的目标仿真核,将仿真核3配置于目标测试序列12作为匹配的目标仿真核。
测试用例2在仿真核7提供的仿真环境里运行,测试用例2中包括3个可并行的目标测试序列21、目标测试序列22和目标测试序列23,将仿真核3配置于目标测试序列21作为匹配的目标仿真核,将仿真核4配置于目标测试序列22作为匹配的目标仿真核,将仿真核5配置于目标测试序列23作为匹配的目标仿真核。
测试用例3在仿真核5提供的仿真环境里运行,测试用例3中包括2个可并行的目标测试序列31和目标测试序列32,将仿真核6配置于目标测试序列31作为匹配的目标仿真核,将仿真核8配置于目标测试序列32作为匹配的目标仿真核。
每个目标测试序列可以在其匹配的目标仿真核提供的仿真环境中运行,进而实现多个目标测试序列的并列运行。
本申请提供的多核机制的仿真方法,在测试用例的运行过程中识别待运行的测试序列中是否存在可并行的多个目标测试序列,若存在可并行的多个目标测试序列,则分别为每个目标测试序列配置匹配的目标仿真核。每个目标测试序列可以在其对应的目标仿真核中运行,当目标测试序列运行结束后,可以继续运行测试用例中的下一个测试序列,直至测试用例运行结束。本申请中,基于多核机制实现测试序列的并列运行,缩短了测试用例的运行时间,提高了芯片验证的效率。
与上述几种实施例提供的多核机制的仿真方法相对应,本申请的一个实施例还提供了一种多核机制的仿真装置,由于本申请实施例提供的多核机制的仿真装置与上述几种实施例提供的多核机制的仿真方法相对应,因此上述多核机制的仿真方法的实施方式也适用于本申请实施例提供的多核机制的仿真装置,在下述实施例中不再详细描述。
图6为本申请一实施例的多核机制的仿真装置的结构示意图,如图6所示,多核机制的仿真装置600,包括识别模块61、配置模块62、并行模块63、仿真模块64,其中:
识别模块61,用于在测试用例的运行过程中,识别是否存在可并行的多个目标测试序列;
配置模块62,用于响应于存在可并行的多个目标测试序列,为每个目标测试序列配置匹配的目标仿真核;
并行模块63,用于基于目标仿真核并列运行每个目标测试序列直至结束;
仿真模块64,用于继续运行测试用例中的下一个测试序列,直至测试用例运行结束。
图7为本申请一实施例的多核机制的仿真装置的结构示意图,如图7所示,多核机制的仿真装置700,包括识别模块71、配置模块72、并行模块73、仿真模块74,其中:
需要说明的是,识别模块61、配置模块62、并行模块63、仿真模块64与识别模块71、配置模块72、并行模块73、仿真模块74,具备相同的结构和功能。
本申请实施例中,识别模块71,还用于:响应于测试用例满足并行条件,确定测试用例存在可并行的多个目标测试序列,其中,每个目标测试序列包括至少一个待运行测试序列。
本申请实施例中,识别模块71,还用于:识别测试用例中,存在多个待运行测试序列不存在依赖关系,且运行结束后可继续运行下一个测试序列,并确定测试用例满足并行条件。
本申请实施例中,目标测试序列为不存在依赖关系且运行结束后可继续运行下一个测试序列的多个待运行测试序列。
本申请实施例中,配置模块72,还用于:响应于存在可用仿真核,基于可用仿真核为目标测试序列配置匹配的目标仿真核;响应于不存在可用仿真核,将目标测试序列放置于待运行队列中,直至配置匹配的目标仿真核。
本申请实施例中,配置模块72,还用于:识别仿真核的未占用空间大于或等于目标测试序列的运行空间,则将仿真核作为可用仿真核;响应于可用仿真核提供的仿真环境与目标测试序列对应的待运行功能匹配,将可用仿真核确定为目标仿真核。
本申请实施例中,仿真模块74,还用于:响应于测试用例不满足并行条件,基于运行仿真核对测试用例进行仿真直至仿真结束。
本申请提供的多核机制的仿真装置,在测试用例的运行过程中识别待运行的测试序列中是否存在可并行的多个目标测试序列,若存在可并行的多个目标测试序列,则分别为每个目标测试序列配置匹配的目标仿真核。每个目标测试序列可以在其对应的目标仿真核中运行,当目标测试序列运行结束后,可以继续运行测试用例中的下一个测试序列,直至测试用例运行结束。本申请中,基于多核机制实现测试序列的并列运行,缩短了测试用例的运行时间,提高了芯片验证的效率。
为达到上述实施例,本申请还提供了一种电子设备、一种计算机可读存储介质和一种计算机程序产品。
图8为本申请一实施例的电子设备的框图,根据如图8所示的电子设备可以实现执行图1至图5的实施例的多核机制的仿真方法。
为了实现上述实施例,本申请还提供一种存储有计算机指令的可读存储介质,计算机指令用于使计算机执行图1至图5的实施例的多核机制的仿真方法。
为了实现上述实施例,本申请还提供一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行图1至图5的实施例的多核机制的仿真方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (12)

1.一种多核机制的仿真方法,其特征在于,包括:
在测试用例的运行过程中,识别是否存在可并行的多个目标测试序列;
响应于存在所述可并行的多个目标测试序列,为每个目标测试序列配置匹配的目标仿真核;
基于所述目标仿真核并列运行所述每个目标测试序列直至结束;
继续运行所述测试用例中的下一个测试序列,直至所述测试用例运行结束。
2.根据权利要求1所述的方法,其特征在于,所述在测试用例的运行过程中,识别是否存在可并行的多个目标测试序列,包括:
响应于所述测试用例满足并行条件,确定所述测试用例存在所述可并行的多个目标测试序列,其中,每个目标测试序列包括至少一个待运行测试序列。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
识别所述测试用例中,存在多个待运行测试序列不存在依赖关系,且运行结束后可继续运行所述下一个测试序列,并确定所述测试用例满足所述并行条件。
4.根据权利要求3所述的方法,其特征在于,所述目标测试序列为不存在依赖关系且运行结束后可继续运行所述下一个测试序列的所述多个待运行测试序列。
5.根据权利要求4所述的方法,其特征在于,所述响应于存在所述可并行的多个目标测试序列,为每个目标测试序列配置匹配的目标仿真核,包括:
响应于存在可用仿真核,基于所述可用仿真核为所述目标测试序列配置匹配的所述目标仿真核;
响应于不存在可用仿真核,将所述目标测试序列放置于待运行队列中,直至配置匹配的所述目标仿真核。
6.根据权利要求5所述的方法,其特征在于,所述响应于存在可用仿真核,基于所述可用仿真核为所述目标测试序列配置匹配的所述目标仿真核,包括:
识别所述仿真核的未占用空间大于或等于所述目标测试序列的运行空间,则将所述仿真核作为所述可用仿真核;
响应于所述可用仿真核提供的仿真环境与所述目标测试序列对应的待运行功能匹配,将所述可用仿真核确定为所述目标仿真核。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
响应于所述测试用例不满足所述并行条件,基于所述运行仿真核对所述测试用例进行仿真直至仿真结束。
8.一种多核机制的仿真装置,其特征在于,包括:
识别模块,用于在测试用例的运行过程中,识别是否存在可并行的多个目标测试序列;
配置模块,用于响应于存在所述可并行的多个目标测试序列,为每个目标测试序列配置匹配的目标仿真核;
并行模块,用于基于所述目标仿真核并列运行所述每个目标测试序列直至结束;
仿真模块,用于继续运行所述测试序列中的下一个测试序列,直至所述测试用例运行结束。
9.根据权利要求8所述的装置,其特征在于,所述识别模块,还用于:
响应于所述测试用例满足并行条件,确定所述测试用例存在所述可并行的多个目标测试序列,其中,每个目标测试序列包括至少一个待运行测试序列;和/或,
识别所述测试用例中,存在多个待运行测试序列不存在依赖关系,且运行结束后可继续运行所述下一个测试序列,并确定所述测试用例满足所述并行条件;和/或,
所述目标测试序列为不存在依赖关系且运行结束后可继续运行所述下一个测试序列的所述多个待运行测试序列。
10.根据权利要求9所述的装置,其特征在于,所述配置模块,还用于:
响应于存在可用仿真核,基于所述可用仿真核为所述目标测试序列配置匹配的所述目标仿真核;和/或,
响应于不存在可用仿真核,将所述目标测试序列放置于待运行队列中,直至配置匹配的所述目标仿真核;和/或,
识别所述仿真核的未占用空间大于或等于所述目标测试序列的运行空间,则将所述仿真核作为所述可用仿真核;和/或,
响应于所述可用仿真核提供的仿真环境与所述目标测试序列对应的待运行功能匹配,将所述可用仿真核确定为所述目标仿真核。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
12.一种存储有计算机指令的可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
CN202111579706.4A 2021-12-22 2021-12-22 多核机制的仿真方法、装置和电子设备 Pending CN114417563A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111579706.4A CN114417563A (zh) 2021-12-22 2021-12-22 多核机制的仿真方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111579706.4A CN114417563A (zh) 2021-12-22 2021-12-22 多核机制的仿真方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN114417563A true CN114417563A (zh) 2022-04-29

Family

ID=81266909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111579706.4A Pending CN114417563A (zh) 2021-12-22 2021-12-22 多核机制的仿真方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN114417563A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562930A (zh) * 2022-11-24 2023-01-03 北京紫光芯能科技有限公司 用于测试多核芯片的方法及装置、电子设备、存储介质
CN116069673A (zh) * 2023-04-06 2023-05-05 禾多科技(北京)有限公司 仿真应用运行控制方法、装置、电子设备和介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115562930A (zh) * 2022-11-24 2023-01-03 北京紫光芯能科技有限公司 用于测试多核芯片的方法及装置、电子设备、存储介质
CN116069673A (zh) * 2023-04-06 2023-05-05 禾多科技(北京)有限公司 仿真应用运行控制方法、装置、电子设备和介质

Similar Documents

Publication Publication Date Title
CN114417563A (zh) 多核机制的仿真方法、装置和电子设备
US10936474B2 (en) Software test program generation
CN111522734A (zh) 软件功能测试方法、装置、电子设备及存储介质
CN115184764A (zh) 一种芯片测试方法、装置、电子设备及存储介质
US6707313B1 (en) Systems and methods for testing integrated circuits
CN112133357A (zh) 一种eMMC的测试方法及装置
CN115292165A (zh) 测试方法及装置、电子设备及存储介质
CN111767210A (zh) 策略测试方法、装置、计算机设备和存储介质
CN115510804A (zh) 全芯片管脚复用自动化验证方法、装置、设备及存储介质
CN111383704B (zh) 一种存储器内建自测试电路和对存储器的测试方法
CN110502382A (zh) Type-c接口测试方法、装置、存储介质及电子设备
CN113868046A (zh) 一种pad控制单元的功能验证方法、系统及相关组件
CN107665169B (zh) 处理器程序的测试方法和装置
CN111240747B (zh) 指令生成方法、装置、测试架构和电子设备
CN112860587A (zh) Ui自动测试方法和装置
US9117023B2 (en) Dynamic generation of test segments
CN115248783B (zh) 软件测试方法、系统、可读存储介质及计算机设备
CN114328063A (zh) 基于映像机制的仿真方法、装置和电子设备
CN113127331A (zh) 一种基于故障注入的测试方法、装置及计算机设备
CN116450431A (zh) Cpu参考模型的指令功能测试系统及其方法、计算机设备和存储介质
WO2020194455A1 (ja) テストケース生成装置、テストケース生成方法、およびテストケース生成プログラム
CN115718692A (zh) 基于固件仿真的固态硬盘评估方法、设备及可读存储介质
CN113672260B (zh) 一种处理器cpu初始化方法
CN114443141A (zh) 测控指令循环约束故障的确定方法及装置
CN108845932B (zh) 一种网络库的单元测试方法、装置、存储介质及终端

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