[go: up one dir, main page]

CN118821675A - Chip verification method, device, equipment and medium - Google Patents

Chip verification method, device, equipment and medium Download PDF

Info

Publication number
CN118821675A
CN118821675A CN202310370160.4A CN202310370160A CN118821675A CN 118821675 A CN118821675 A CN 118821675A CN 202310370160 A CN202310370160 A CN 202310370160A CN 118821675 A CN118821675 A CN 118821675A
Authority
CN
China
Prior art keywords
instruction
instructions
determining
chip
processing cores
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
CN202310370160.4A
Other languages
Chinese (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.)
Kunlun Core Beijing Technology Co ltd
Original Assignee
Kunlun Core Beijing 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 Kunlun Core Beijing Technology Co ltd filed Critical Kunlun Core Beijing Technology Co ltd
Priority to CN202310370160.4A priority Critical patent/CN118821675A/en
Publication of CN118821675A publication Critical patent/CN118821675A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种芯片验证方法及装置、设备和介质,涉及计算机技术领域,尤其涉及芯片技术领域。实现方案为:获取与多个处理核心中的每个处理核心对应的初始指令,每个初始指令依赖于至少一个其他初始指令;基于与多个处理核心对应的多个初始指令之间的第一依赖关系,确定多个处理核心之间的第二依赖关系;基于第二依赖关系,确定依赖于第一处理核心的至少一个第一依赖核心;从多个候选指令中确定针对第一处理核心的第一新增指令,其中,第一新增指令不依赖于与至少一个第一依赖核心对应的初始指令;利用芯片执行多个初始指令和第一新增指令;以及基于多个初始指令和第一新增指令的执行结果,确定针对芯片的验证结果。

The present disclosure provides a chip verification method and apparatus, device and medium, which relate to the field of computer technology, and in particular to the field of chip technology. The implementation scheme is: obtaining an initial instruction corresponding to each processing core in a plurality of processing cores, each initial instruction depends on at least one other initial instruction; based on a first dependency relationship between a plurality of initial instructions corresponding to the plurality of processing cores, determining a second dependency relationship between the plurality of processing cores; based on the second dependency relationship, determining at least one first dependent core that depends on the first processing core; determining a first newly added instruction for the first processing core from a plurality of candidate instructions, wherein the first newly added instruction does not depend on the initial instruction corresponding to at least one first dependent core; executing the plurality of initial instructions and the first newly added instruction using a chip; and determining a verification result for the chip based on the execution results of the plurality of initial instructions and the first newly added instruction.

Description

芯片验证方法及装置、设备和介质Chip verification method, device, equipment and medium

技术领域Technical Field

本公开涉及计算机技术领域,尤其涉及芯片技术领域,具体涉及一种芯片验证方法、装置、电子设备、计算机可读存储介质和计算机程序产品。The present disclosure relates to the field of computer technology, in particular to the field of chip technology, and specifically to a chip verification method, device, electronic device, computer-readable storage medium, and computer program product.

背景技术Background Art

人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。Artificial intelligence is a discipline that studies how to use computers to simulate certain human thought processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.). It includes both hardware-level and software-level technologies. Artificial intelligence hardware technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, and big data processing; artificial intelligence software technologies mainly include computer vision technology, speech recognition technology, natural language processing technology, as well as machine learning/deep learning, big data processing technology, knowledge graph technology, and other major directions.

为了适应人工智能技术的发展,用于执行基于人工智能的算法的芯片规模和工艺进一步提升,需要应用更加精准高效的芯片验证技术。In order to adapt to the development of artificial intelligence technology, the chip scale and process used to execute artificial intelligence-based algorithms need to be further improved, and more accurate and efficient chip verification technology needs to be applied.

在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。The methods described in this section are not necessarily methods that have been previously conceived or employed. Unless otherwise indicated, it should not be assumed that any method described in this section is considered to be prior art simply because it is included in this section. Similarly, unless otherwise indicated, the issues mentioned in this section should not be considered to have been recognized in any prior art.

发明内容Summary of the invention

本公开提供了一种芯片验证方法、装置、电子设备、计算机可读存储介质和计算机程序产品。The present disclosure provides a chip verification method, device, electronic device, computer-readable storage medium and computer program product.

根据本公开的一方面,提供了一种芯片验证方法,其中,所述芯片包括多个处理核心,所述方法包括:针对所述多个处理核心中的每个处理核心,获取与该处理核心对应的初始指令,其中,与所述多个处理核心对应的多个初始指令中的每个初始指令依赖于所述多个初始指令中的至少一个其他初始指令;基于与所述多个处理核心对应的多个初始指令之间的第一依赖关系,确定所述多个处理核心之间的第二依赖关系;基于所述第二依赖关系,从所述多个处理核心中确定依赖于第一处理核心的至少一个第一依赖核心;从多个候选指令中确定针对所述第一处理核心的第一新增指令,其中,所述第一新增指令不依赖于与所述至少一个第一依赖核心对应的初始指令;利用所述芯片执行所述多个初始指令和所述第一新增指令;以及基于所述多个初始指令和所述第一新增指令的执行结果,确定针对所述芯片的验证结果。According to one aspect of the present disclosure, a chip verification method is provided, wherein the chip includes multiple processing cores, and the method includes: for each processing core among the multiple processing cores, obtaining an initial instruction corresponding to the processing core, wherein each of the multiple initial instructions corresponding to the multiple processing cores depends on at least one other initial instruction among the multiple initial instructions; based on a first dependency relationship between the multiple initial instructions corresponding to the multiple processing cores, determining a second dependency relationship between the multiple processing cores; based on the second dependency relationship, determining at least one first dependent core that depends on the first processing core from the multiple processing cores; determining a first newly added instruction for the first processing core from multiple candidate instructions, wherein the first newly added instruction does not depend on the initial instruction corresponding to the at least one first dependent core; executing the multiple initial instructions and the first newly added instruction using the chip; and determining a verification result for the chip based on the execution results of the multiple initial instructions and the first newly added instruction.

根据本公开的另一方面,提供了一种芯片验证装置,其中,所述芯片包括多个处理核心,所述装置包括:获取单元,被配置为针对所述多个处理核心中的每个处理核心,获取与该处理核心对应的初始指令,其中,与所述多个处理核心对应的多个初始指令中的每个初始指令依赖于所述多个初始指令中的至少一个其他初始指令;第一确定单元,被配置为基于与所述多个处理核心对应的多个初始指令之间的第一依赖关系,确定所述多个处理核心之间的第二依赖关系;第二确定单元,被配置为基于所述第二依赖关系,从所述多个处理核心中确定依赖于第一处理核心的至少一个第一依赖核心;第三确定单元,被配置为从多个候选指令中确定针对所述第一处理核心的第一新增指令,其中,所述第一新增指令不依赖于与所述至少一个第一依赖核心对应的初始指令;执行单元,被配置为利用所述芯片执行所述多个初始指令和所述第一新增指令;以及验证单元,被配置为基于所述多个初始指令和所述第一新增指令的执行结果,确定针对所述芯片的验证结果。According to another aspect of the present disclosure, a chip verification device is provided, wherein the chip includes multiple processing cores, and the device includes: an acquisition unit, configured to acquire, for each processing core among the multiple processing cores, an initial instruction corresponding to the processing core, wherein each of the multiple initial instructions corresponding to the multiple processing cores depends on at least one other initial instruction among the multiple initial instructions; a first determination unit, configured to determine a second dependency relationship between the multiple processing cores based on a first dependency relationship between the multiple initial instructions corresponding to the multiple processing cores; a second determination unit, configured to determine at least one first dependent core that depends on the first processing core from the multiple processing cores based on the second dependency relationship; a third determination unit, configured to determine a first newly added instruction for the first processing core from a plurality of candidate instructions, wherein the first newly added instruction does not depend on the initial instruction corresponding to the at least one first dependent core; an execution unit, configured to execute the multiple initial instructions and the first newly added instruction using the chip; and a verification unit, configured to determine a verification result for the chip based on the execution results of the multiple initial instructions and the first newly added instruction.

根据本公开的另一方面,提供了一种芯片,包括如上所述的芯片验证装置。According to another aspect of the present disclosure, a chip is provided, comprising the chip verification device as described above.

根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述芯片验证方法。According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned chip verification method.

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述芯片验证方法。According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable the computer to execute the above chip verification method.

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时能够实现上述芯片验证方法。According to another aspect of the present disclosure, a computer program product is provided, including a computer program, wherein the computer program can implement the above chip verification method when executed by a processor.

根据本公开的一个或多个实施例,可以在保证芯片验证效果的同时,提升芯片验证的效率和便捷性。According to one or more embodiments of the present disclosure, the efficiency and convenience of chip verification can be improved while ensuring the chip verification effect.

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。The accompanying drawings exemplarily illustrate the embodiments and constitute a part of the specification, and together with the text description of the specification, are used to explain the exemplary implementation of the embodiments. The embodiments shown are for illustrative purposes only and do not limit the scope of the claims. In all drawings, the same reference numerals refer to similar but not necessarily identical elements.

图1示出了根据本公开示例性实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;FIG1 shows a schematic diagram of an exemplary system in which various methods described herein may be implemented according to an exemplary embodiment of the present disclosure;

图2示出了根据本公开示例性实施例的芯片验证方法的流程图;FIG2 shows a flow chart of a chip verification method according to an exemplary embodiment of the present disclosure;

图3示出了根据本公开示例性实施例的多个搜索树的示意图FIG. 3 is a schematic diagram showing multiple search trees according to an exemplary embodiment of the present disclosure.

图4示出了根据本公开示例性实施例的芯片验证装置的结构框图;FIG4 shows a block diagram of a chip verification device according to an exemplary embodiment of the present disclosure;

图5示出了能够用于实现本公开实施例的示例性电子设备的结构框图。FIG. 5 shows a structural block diagram of an exemplary electronic device that can be used to implement an embodiment of the present disclosure.

具体实施方式DETAILED DESCRIPTION

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope of the present disclosure. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.

在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。In the present disclosure, unless otherwise specified, the use of the terms "first", "second", etc. to describe various elements is not intended to limit the positional relationship, timing relationship, or importance relationship of these elements, and such terms are only used to distinguish one element from another element. In some examples, the first element and the second element may refer to the same instance of the element, and in some cases, based on the description of the context, they may also refer to different instances.

在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。The terms used in the description of various examples in this disclosure are only for the purpose of describing specific examples and are not intended to be limiting. Unless the context clearly indicates otherwise, if the number of elements is not specifically limited, the element can be one or more. In addition, the term "and/or" used in this disclosure covers any one of the listed items and all possible combinations.

在实际应用场景中,芯片的待验证指令集通常包含大量的指令,即对应了多种不同的芯片功能,或是对应了同一功能模式下的不同参数,例如不同数据规模的数据处理等。可以理解地,遍历芯片的待验证指令集的成本较高,难以实现完全验证。因此,通常是通过执行特定的随机配置指令,以从待验证指令集中不断地随机挑选目标指令以形成随机指令流,从而可以利用待验证芯片执行该随机指令流,基于随机指令流的执行结果确定该芯片的的验证结果。应当理解,在对芯片进行验证时,所验证的芯片功能越多,即随机指令流的随机度越高,得到的验证结果就越全面和可靠。In actual application scenarios, the chip's instruction set to be verified usually contains a large number of instructions, that is, corresponding to a variety of different chip functions, or corresponding to different parameters under the same functional mode, such as data processing of different data sizes. Understandably, the cost of traversing the chip's instruction set to be verified is high, and it is difficult to achieve complete verification. Therefore, it is usually necessary to execute specific random configuration instructions to continuously randomly select target instructions from the instruction set to be verified to form a random instruction stream, so that the random instruction stream can be executed by the chip to be verified, and the verification result of the chip can be determined based on the execution result of the random instruction stream. It should be understood that when verifying a chip, the more chip functions are verified, that is, the higher the randomness of the random instruction stream, the more comprehensive and reliable the verification result obtained.

但是,当芯片包含多个处理核心时,多个处理核心各自对应的指令之间通常存在较多的约束关系。在这种情况下,当某一处理核心的某个指令依赖于该处理核心的另一个指令,就会发生依赖关系死锁,导致指令流无法正常执行。相关技术中,通常会降低验证指令集的随机度,以避免发生依赖关系死锁的概率,但这种方式会影响芯片验证的效果。However, when a chip contains multiple processing cores, there are usually many constraints between the instructions corresponding to the multiple processing cores. In this case, when an instruction of a processing core depends on another instruction of the processing core, a dependency deadlock will occur, causing the instruction stream to fail to execute normally. In related technologies, the randomness of the verification instruction set is usually reduced to avoid the probability of dependency deadlock, but this method will affect the effect of chip verification.

基于此,本发明提供一种芯片验证方法,基于已有的初始指令之间的依赖关系确定处理核心间的依赖关系,在针对某一处理核心生成新增指令时,基于新增指令不依赖于该处理核心自身的初始指令的约束原则来确定新增指令,能够有效避免多个处理核心间发生依赖关系死锁,在保证验证效果的同时提高验证效率。Based on this, the present invention provides a chip verification method, which determines the dependency between processing cores based on the dependency between existing initial instructions. When generating new instructions for a certain processing core, the new instructions are determined based on the constraint principle that the new instructions do not depend on the initial instructions of the processing core itself. This can effectively avoid dependency deadlock between multiple processing cores, thereby improving verification efficiency while ensuring the verification effect.

下面将结合附图详细描述本公开的实施例。The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings.

图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。FIG1 shows a schematic diagram of an exemplary system 100 in which various methods and apparatuses described herein may be implemented according to an embodiment of the present disclosure. Referring to FIG1 , the system 100 includes one or more client devices 101, 102, 103, 104, 105, and 106, a server 120, and one or more communication networks 110 coupling the one or more client devices to the server 120. The client devices 101, 102, 103, 104, 105, and 106 may be configured to execute one or more applications.

在本公开的实施例中,服务器120可以运行使得能够执行芯片验证方法的一个或多个服务或软件应用。In an embodiment of the present disclosure, the server 120 may run one or more services or software applications that enable the chip authentication method to be performed.

在某些实施例中,服务器120还可以提供其他服务或软件应用,这些服务或软件应用可以包括非虚拟环境和虚拟环境。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(SaaS)模型下提供给客户端设备101、102、103、104、105和/或106的用户。In some embodiments, server 120 may also provide other services or software applications, which may include non-virtualized environments and virtualized environments. In some embodiments, these services may be provided as web-based services or cloud services, such as provided to users of client devices 101, 102, 103, 104, 105, and/or 106 under a software as a service (SaaS) model.

在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。In the configuration shown in FIG. 1 , server 120 may include one or more components that implement the functions performed by server 120. These components may include software components, hardware components, or a combination thereof that can be executed by one or more processors. Users operating client devices 101, 102, 103, 104, 105, and/or 106 may in turn utilize one or more client applications to interact with server 120 to utilize the services provided by these components. It should be understood that a variety of different system configurations are possible, which may be different from system 100. Therefore, FIG. 1 is an example of a system for implementing the various methods described herein and is not intended to be limiting.

用户可以使用客户端设备101、102、103、104、105和/或106来发送初始指令。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。The user may use client devices 101, 102, 103, 104, 105 and/or 106 to send initial instructions. The client device may provide an interface that enables a user of the client device to interact with the client device. The client device may also output information to the user via the interface. Although FIG. 1 depicts only six client devices, those skilled in the art will appreciate that the present disclosure may support any number of client devices.

客户端设备101、102、103、104、105和/或106可以包括各种类别的计算机设备,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、智能屏设备、自助服务终端设备、服务机器人、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算机设备可以运行各种类别和版本的软件应用程序和操作系统,例如MICROSOFT Windows、APPLE iOS、类UNIX操作系统、Linux或类Linux操作系统(例如GOOGLE Chrome OS);或包括各种移动操作系统,例如MICROSOFT WindowsMobile OS、iOS、Windows Phone、Android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(PDA)等。可穿戴设备可以包括头戴式显示器(诸如智能眼镜)和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与Internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(SMS)应用程序,并且可以使用各种通信协议。Client devices 101, 102, 103, 104, 105 and/or 106 may include various categories of computer devices, such as portable handheld devices, general-purpose computers (such as personal computers and laptop computers), workstation computers, wearable devices, smart screen devices, self-service terminal devices, service robots, game systems, thin clients, various messaging devices, sensors or other sensing devices, etc. These computer devices may run various categories and versions of software applications and operating systems, such as MICROSOFT Windows, APPLE iOS, UNIX-like operating systems, Linux or Linux-like operating systems (such as GOOGLE Chrome OS); or include various mobile operating systems, such as MICROSOFT Windows Mobile OS, iOS, Windows Phone, Android. Portable handheld devices may include cellular phones, smart phones, tablet computers, personal digital assistants (PDAs), etc. Wearable devices may include head-mounted displays (such as smart glasses) and other devices. Game systems may include various handheld game devices, Internet-enabled game devices, etc. The client device is capable of executing a variety of different applications, such as various Internet-related applications, communication applications (eg, email applications), short message service (SMS) applications, and may use various communication protocols.

网络110可以是本领域技术人员熟知的任何类别的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、区块链网络、公共交换电话网(PSTN)、红外网络、无线网络(例如蓝牙、WIFI)和/或这些和/或其他网络的任意组合。The network 110 may be any type of network known to those skilled in the art that may support data communications using any of a variety of available protocols, including but not limited to TCP/IP, SNA, IPX, etc. By way of example only, one or more networks 110 may be a local area network (LAN), an Ethernet-based network, a token ring, a wide area network (WAN), the Internet, a virtual network, a virtual private network (VPN), an intranet, an extranet, a blockchain network, a public switched telephone network (PSTN), an infrared network, a wireless network (e.g., Bluetooth, WIFI), and/or any combination of these and/or other networks.

服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。Server 120 may include one or more general purpose computers, dedicated server computers (e.g., PC (personal computer) servers, UNIX servers, mid-range servers), blade servers, mainframe computers, server clusters, or any other suitable arrangement and/or combination. Server 120 may include one or more virtual machines running virtual operating systems, or other computing architectures involving virtualization (e.g., one or more flexible pools of logical storage devices that may be virtualized to maintain a server's virtual storage device). In various embodiments, server 120 may run one or more services or software applications that provide the functionality described below.

服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。The computing units in the server 120 may run one or more operating systems including any of the above operating systems and any commercially available server operating systems. The server 120 may also run any of a variety of additional server applications and/or middle-tier applications, including HTTP servers, FTP servers, CGI servers, JAVA servers, database servers, etc.

在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和106的一个或多个显示设备来显示数据馈送和/或实时事件。In some implementations, server 120 may include one or more applications to analyze and consolidate data feeds and/or event updates received from users of client devices 101, 102, 103, 104, 105, and 106. Server 120 may also include one or more applications to display data feeds and/or real-time events via one or more display devices of client devices 101, 102, 103, 104, 105, and 106.

在一些实施方式中,服务器120可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器120也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。云服务器是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大、业务扩展性弱的缺陷。In some embodiments, the server 120 may be a server of a distributed system, or a server combined with a blockchain. The server 120 may also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology. A cloud server is a host product in a cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and virtual private servers (VPS) services.

系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据库130可以驻留在各种位置。例如,由服务器120使用的数据库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据库130可以是不同的类别。在某些实施例中,由服务器120使用的数据库例如可以是关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。The system 100 may also include one or more databases 130. In some embodiments, these databases may be used to store data and other information. For example, one or more of the databases 130 may be used to store information such as audio files and video files. The databases 130 may reside in various locations. For example, the database used by the server 120 may be local to the server 120, or may be remote from the server 120 and may communicate with the server 120 via a network-based or dedicated connection. The databases 130 may be of different categories. In some embodiments, the databases used by the server 120 may be, for example, relational databases. One or more of these databases may store, update, and retrieve data to and from the databases in response to commands.

在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类别的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。In some embodiments, one or more of the databases 130 may also be used by applications to store application data. The databases used by the applications may be different categories of databases, such as a key-value store, an object store, or a conventional store backed by a file system.

图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。The system 100 of FIG. 1 may be configured and operated in various ways to enable application of various methods and apparatuses described according to the present disclosure.

图2示出了根据本公开示例性实施例的芯片验证方法200的流程图,其中,所述芯片包括多个处理核心。如图2所示,方法200包括:FIG2 shows a flow chart of a chip verification method 200 according to an exemplary embodiment of the present disclosure, wherein the chip includes multiple processing cores. As shown in FIG2 , the method 200 includes:

步骤S201、针对所述多个处理核心中的每个处理核心,获取与该处理核心对应的初始指令,其中,与所述多个处理核心对应的多个初始指令中的每个初始指令依赖于所述多个初始指令中的至少一个其他初始指令;Step S201: for each processing core among the multiple processing cores, obtain an initial instruction corresponding to the processing core, wherein each initial instruction among the multiple initial instructions corresponding to the multiple processing cores depends on at least one other initial instruction among the multiple initial instructions;

步骤S202、基于与所述多个处理核心对应的多个初始指令之间的第一依赖关系,确定所述多个处理核心之间的第二依赖关系;Step S202, determining a second dependency relationship between the plurality of processing cores based on a first dependency relationship between a plurality of initial instructions corresponding to the plurality of processing cores;

步骤S203、基于所述第二依赖关系,从所述多个处理核心中确定依赖于第一处理核心的至少一个第一依赖核心;Step S203: Based on the second dependency relationship, determine at least one first dependent core that is dependent on the first processing core from the multiple processing cores;

步骤S204、从多个候选指令中确定针对所述第一处理核心的第一新增指令,其中,所述第一新增指令不依赖于与所述至少一个第一依赖核心对应的初始指令;Step S204, determining a first newly added instruction for the first processing core from a plurality of candidate instructions, wherein the first newly added instruction does not depend on an initial instruction corresponding to the at least one first dependent core;

步骤S205、利用所述芯片执行所述多个初始指令和所述第一新增指令;以及Step S205: using the chip to execute the multiple initial instructions and the first newly added instruction; and

步骤S206、基于所述多个初始指令和所述第一新增指令的执行结果,确定针对所述芯片的验证结果。Step S206: Determine a verification result for the chip based on the execution results of the multiple initial instructions and the first newly added instruction.

由此,能够基于已有的初始指令之间的依赖关系确定处理核心间的依赖关系,在针对某一处理核心生成新增指令时,基于新增指令不依赖于该处理核心自身的初始指令的约束原则来确定新增指令,能够有效避免多个处理核心间发生依赖关系死锁,在保证验证效果的同时提高验证效率。Therefore, the dependency between processing cores can be determined based on the dependency between existing initial instructions. When new instructions are generated for a certain processing core, the new instructions are determined based on the constraint principle that the new instructions do not depend on the initial instructions of the processing core itself. This can effectively avoid dependency deadlock between multiple processing cores, thereby improving verification efficiency while ensuring verification results.

在一些示例中,第一新增指令可以是从多个候选指令中随机挑选再检验其是否满足上述的约束规则来得到的,从而可以实现合法空间内的完全随机,能够提升芯片验证的效果。In some examples, the first newly added instruction can be obtained by randomly selecting from a plurality of candidate instructions and then checking whether they satisfy the above-mentioned constraint rules, thereby achieving complete randomness within the legal space and improving the effect of chip verification.

在一些示例中,多个处理核心各自的初始指令可以是相关人员根据验证需求提前配置的,并且同时可以配置各个初始指令之间的依赖关系。可以理解地,每个处理核心可以对应多个初始指令,在这种情况下,可以通过遍历多个初始指令各自对应的指令间的第一依赖关系来确定处理核心间的第二依赖关系。In some examples, the initial instructions of each of the multiple processing cores can be configured in advance by relevant personnel according to verification requirements, and the dependencies between the initial instructions can be configured at the same time. It can be understood that each processing core can correspond to multiple initial instructions. In this case, the second dependency between the processing cores can be determined by traversing the first dependency between the instructions corresponding to each of the multiple initial instructions.

在一些示例中,待验证芯片可以是各种类型的芯片,特别是数据处理芯片,例如用于执行深度学习算法的芯片、语音处理芯片、图像处理芯片等。In some examples, the chip to be verified can be various types of chips, especially data processing chips, such as chips for executing deep learning algorithms, voice processing chips, image processing chips, etc.

在一些示例中,多个候选指令可以是相关人员根据验证需求提取配置的。初始指令和候选指令可以是数据处理指令、数据传输指令、数据读写指令等,以保证待验证芯片能够正常执行数据处理、数据传输、数据读写等功能。In some examples, multiple candidate instructions can be extracted and configured by relevant personnel according to verification requirements. The initial instructions and candidate instructions can be data processing instructions, data transmission instructions, data read and write instructions, etc., to ensure that the chip to be verified can normally perform data processing, data transmission, data read and write and other functions.

在一些示例中,第一处理核心可以是多个处理核心中的任意一个。在针对第一处理核心确定第一新增指令后,可以针对其他的处理核心重复执行相应步骤,以实现对多核芯片的全面验证。In some examples, the first processing core may be any one of a plurality of processing cores. After determining the first newly added instruction for the first processing core, corresponding steps may be repeatedly performed for other processing cores to achieve comprehensive verification of the multi-core chip.

根据一些实施例,方法200还包括:响应于确定所述第一新增指令依赖于所述多个初始指令中的第三指令,基于所述第一新增指令与所述第三指令之间的第三依赖关系,更新所述第二依赖关系;基于更新后的所述第二依赖关系,从所述多个处理核心中确定依赖于第二处理核心的至少一个第二依赖核心;以及从所述多个候选指令中确定针对所述第二处理核心的第二新增指令,其中,所述目标指令不依赖于与所述至少一个第二依赖核心对应的指令,并且其中,步骤S205中利用所述芯片执行所述多个初始指令和所述第一新增指令包括:利用所述芯片执行所述多个初始指令、所述第一新增指令和所述第二新增指令,步骤S206中基于所述多个初始指令和所述第一新增指令的执行结果,确定针对所述芯片的验证结果包括:基于所述多个初始指令、所述第一新增指令和所述第二新增指令的执行结果,确定针对所述芯片的验证结果。由此,可以基于第一新增指令更新处理核心间的依赖关系,再基于更新后的处理核心间的依赖关系确定针对其他处理核心的新增指令,以此类推得到针对多核处理器的验证指令集,提升验证效果。According to some embodiments, the method 200 further includes: in response to determining that the first newly added instruction depends on a third instruction among the multiple initial instructions, updating the second dependency relationship based on the third dependency relationship between the first newly added instruction and the third instruction; determining at least one second dependent core that depends on the second processing core from the multiple processing cores based on the updated second dependency relationship; and determining a second newly added instruction for the second processing core from the multiple candidate instructions, wherein the target instruction does not depend on the instruction corresponding to the at least one second dependent core, and wherein, in step S205, using the chip to execute the multiple initial instructions and the first newly added instruction includes: using the chip to execute the multiple initial instructions, the first newly added instruction, and the second newly added instruction, and in step S206, determining the verification result for the chip based on the execution results of the multiple initial instructions and the first newly added instruction includes: determining the verification result for the chip based on the execution results of the multiple initial instructions, the first newly added instruction, and the second newly added instruction. Thus, the dependency relationship between the processing cores can be updated based on the first newly added instruction, and then the newly added instructions for other processing cores can be determined based on the updated dependency relationship between the processing cores, and the verification instruction set for the multi-core processor can be obtained by analogy, thereby improving the verification effect.

在一些示例中,步骤S205中利用所述芯片执行所述多个初始指令和各个新增指令可以是基于软件或硬件的方式来实现。例如,可以在软件环境中采用Verilog、VHDL(Veri-High-Speed Integrate Circuit Hardware Description Language,超高速集成电路硬件描述语言)等硬件描述语言来进行芯片电路的设计和配置,编译生成可以用于仿真的芯片电路网表信息后,基于此执行芯片电路的仿真验证。在一些示例中,可以是在软件环境中得到待验证的芯片电路的RTL(Register Transfer Level,寄存器传输级)代码,以此来描述芯片电路的数据流,进而实现针对该芯片的RTL仿真。在一些示例中,也可以利用其他语言(例如C语言)编写生成硬件描述语言的相应代码,进而得到可以用于仿真的芯片电路网表信息。再例如,也可以是根据硬件描述语言或电路网表信息实现相应的硬件电路,对硬件电路执行验证。In some examples, the execution of the multiple initial instructions and each newly added instruction by the chip in step S205 can be implemented in a software or hardware-based manner. For example, hardware description languages such as Verilog, VHDL (Veri-High-Speed Integrate Circuit Hardware Description Language, ultra-high-speed integrated circuit hardware description language) can be used in a software environment to design and configure the chip circuit, and after compiling and generating chip circuit netlist information that can be used for simulation, the simulation verification of the chip circuit is performed based on this. In some examples, the RTL (Register Transfer Level) code of the chip circuit to be verified can be obtained in the software environment to describe the data flow of the chip circuit, thereby realizing the RTL simulation for the chip. In some examples, other languages (such as C language) can also be used to write and generate the corresponding code of the hardware description language, thereby obtaining the chip circuit netlist information that can be used for simulation. For another example, the corresponding hardware circuit can also be implemented according to the hardware description language or circuit netlist information, and the hardware circuit can be verified.

在一些示例中,当待验证的芯片为数据处理芯片,步骤S206中基于所述多个初始指令和各个新增指令的执行结果,确定针对所述芯片的验证结果可以是利用如下步骤来实现:在通过执行步骤S201-步骤S205得到多个初始指令和各个新增指令后,基于多个初始指令和各个新增指令确定输入数据和与输入数据对应的目标输出数据;利用待验证的芯片执行多个初始指令和各个新增指令,以实现基于输入数据的数据处理,以得到该芯片所输出的待验证输出数据;以及基于目标输出数据和待验证输出数据,确定针对该芯片的验证结果。在一些示例中,可以是利用计算机程序来编写能够实现相应的数据处理功能的模型,利用该模型得到目标输出数据。由此,能够利用目标输出数据来指示待验证输出数据是否准确,从而得到针对待验证的芯片的验证结果。In some examples, when the chip to be verified is a data processing chip, the verification result for the chip is determined based on the execution results of the multiple initial instructions and each newly added instruction in step S206, which can be achieved by using the following steps: after obtaining multiple initial instructions and each newly added instruction by executing steps S201-S205, the input data and the target output data corresponding to the input data are determined based on the multiple initial instructions and each newly added instruction; the multiple initial instructions and each newly added instruction are executed by the chip to be verified to realize data processing based on the input data, so as to obtain the output data to be verified output by the chip; and the verification result for the chip is determined based on the target output data and the output data to be verified. In some examples, a model capable of realizing the corresponding data processing function can be written by using a computer program, and the target output data is obtained by using the model. Thus, the target output data can be used to indicate whether the output data to be verified is accurate, thereby obtaining the verification result for the chip to be verified.

根据一些实施例,所述基于与所述多个处理核心对应的多个初始指令之间的第一依赖关系,确定所述多个处理核心之间的第二依赖关系包括:基于与所述多个处理核心对应的多个初始指令之间的第一依赖关系,建立以所述多个处理核心为根节点的多个搜索树,其中,所述多个搜索树中的任意两个相邻结点相应的处理核心之间具有依赖关系,并且其中,所述从多个候选指令中确定针对所述第一处理核心的第一新增指令包括:响应于确定所述多个候选指令中的第一候选指令依赖于所述多个初始指令中的第二依赖指令,基于所述第一候选指令与所述第二依赖指令之间的第一依赖关系,确定针对所述多个搜索树的新增结点;利用树搜索算法遍历包括所述新增结点的所述多个搜索树;以及响应于确定包括所述新增结点的所述多个搜索树中的每个叶子结点与该叶子结点相应的根节点不相同,确定所述第一候选指令为所述第一新增指令。由此,能够将多核间的依赖关系抽象为多个搜索树,通过执行树搜索算法来确定针对第一处理核心的第一新增指令是否依赖于该第一处理核心自身的初始指令,从而能够便捷有效地避免依赖关系死锁现象,提升指令生成效率,进而提升芯片验证效率。According to some embodiments, determining the second dependency relationship between the multiple processing cores based on the first dependency relationship between the multiple initial instructions corresponding to the multiple processing cores includes: establishing multiple search trees with the multiple processing cores as root nodes based on the first dependency relationship between the multiple initial instructions corresponding to the multiple processing cores, wherein there is a dependency relationship between the processing cores corresponding to any two adjacent nodes in the multiple search trees, and wherein determining the first new instruction for the first processing core from multiple candidate instructions includes: in response to determining that a first candidate instruction among the multiple candidate instructions depends on a second dependent instruction among the multiple initial instructions, based on the first dependency relationship between the first candidate instruction and the second dependent instruction, determining the new node for the multiple search trees; traversing the multiple search trees including the new node using a tree search algorithm; and in response to determining that each leaf node in the multiple search trees including the new node is different from the root node corresponding to the leaf node, determining the first candidate instruction as the first new instruction. In this way, the dependency relationship between multiple cores can be abstracted into multiple search trees, and a tree search algorithm can be executed to determine whether the first new instruction for the first processing core depends on the initial instruction of the first processing core itself, thereby conveniently and effectively avoiding dependency deadlock, improving instruction generation efficiency, and further improving chip verification efficiency.

根据一些实施例,所述树搜索算法包括深度优先树搜索算法。如前文所描述的,第一新增指令可以是从多个候选指令中随机挑选再检验其是否满足上述的约束规则来得到的,通过执行深度优先树搜索算法,能够快速地检验搜索树中的每一分支,在确定某一候选指令不满足上述约束规则时,即及时中止检验并挑选其他的候选指令,以提升指令生成效率。According to some embodiments, the tree search algorithm includes a depth-first tree search algorithm. As described above, the first newly added instruction can be obtained by randomly selecting from a plurality of candidate instructions and then checking whether they satisfy the above-mentioned constraint rules. By executing the depth-first tree search algorithm, each branch in the search tree can be quickly checked. When it is determined that a candidate instruction does not satisfy the above-mentioned constraint rules, the check is promptly terminated and other candidate instructions are selected to improve the instruction generation efficiency.

在一些示例中,所述树搜索算法也可以包括广度优先树搜索算法。由此,也可以有效地检验多个搜索树中的每个叶子结点与该叶子结点相应的根节点是否相同,以避免发生处理核心间的依赖关系死锁,提升芯片验证效率。In some examples, the tree search algorithm may also include a breadth-first tree search algorithm. Thus, it is also possible to effectively check whether each leaf node in a plurality of search trees is the same as the root node corresponding to the leaf node, so as to avoid dependency deadlock between processing cores and improve chip verification efficiency.

根据一些实施例,方法200还包括:响应于确定所述第一候选指令为所述第一新增指令,基于所述新增结点,更新所述多个搜索树;以及基于更新后的所述多个搜索树,从所述多个候选指令中确定针对第三处理核心的第三新增指令。由此,能够在确定第一新增指令后,简便高效地将包括相应的新增结点的搜索树确定为更新后的搜索树,利用更新后的搜索树来指示当前时刻的多个处理核心之间的第二依赖关系,以进一步确定针对其他处理核心的新增指令,提升验证效率。According to some embodiments, method 200 further includes: in response to determining that the first candidate instruction is the first newly added instruction, updating the multiple search trees based on the newly added nodes; and determining the third newly added instruction for the third processing core from the multiple candidate instructions based on the updated multiple search trees. Thus, after determining the first newly added instruction, the search tree including the corresponding newly added node can be easily and efficiently determined as the updated search tree, and the updated search tree can be used to indicate the second dependency relationship between the multiple processing cores at the current moment, so as to further determine the newly added instructions for other processing cores and improve the verification efficiency.

图3示出了根据本公开示例性实施例的多个搜索树的示意图。如图3所示,在这一示例中,待验证的芯片包括处理核心A、处理核心B、处理核心C、处理核心D和处理核心E,从而可以得到以A、B、C、D和E分别为根节点的搜索树。通过将多个处理核心间的依赖关系抽象为多个搜索树,能够通过执行树搜索算法来确定针对各个处理核心的新增指令是否依赖于该处理核心自身,从而能够便捷有效地避免依赖关系死锁现象,提升指令生成效率,进而提升芯片验证效率。FIG3 shows a schematic diagram of multiple search trees according to an exemplary embodiment of the present disclosure. As shown in FIG3, in this example, the chip to be verified includes processing core A, processing core B, processing core C, processing core D, and processing core E, so that a search tree with A, B, C, D, and E as root nodes can be obtained. By abstracting the dependency relationship between multiple processing cores into multiple search trees, it is possible to determine whether the newly added instructions for each processing core are dependent on the processing core itself by executing a tree search algorithm, thereby being able to conveniently and effectively avoid dependency deadlock, improve instruction generation efficiency, and thus improve chip verification efficiency.

根据本公开的另一方面,还提供一种芯片验证装置。图4示出了根据本公开示例性实施例的芯片验证装置400的结构框图,其中,所述芯片包括多个处理核心。如图4所示,装置400包括:According to another aspect of the present disclosure, a chip verification device is also provided. FIG. 4 shows a block diagram of a chip verification device 400 according to an exemplary embodiment of the present disclosure, wherein the chip includes multiple processing cores. As shown in FIG. 4 , the device 400 includes:

获取单元401,被配置为针对所述多个处理核心中的每个处理核心,获取与该处理核心对应的初始指令,其中,与所述多个处理核心对应的多个初始指令中的每个初始指令依赖于所述多个初始指令中的至少一个其他初始指令;The acquisition unit 401 is configured to acquire, for each processing core among the plurality of processing cores, an initial instruction corresponding to the processing core, wherein each initial instruction among the plurality of initial instructions corresponding to the plurality of processing cores depends on at least one other initial instruction among the plurality of initial instructions;

第一确定单元402,被配置为基于与所述多个处理核心对应的多个初始指令之间的第一依赖关系,确定所述多个处理核心之间的第二依赖关系;A first determining unit 402 is configured to determine a second dependency relationship between the plurality of processing cores based on a first dependency relationship between a plurality of initial instructions corresponding to the plurality of processing cores;

第二确定单元403,被配置为基于所述第二依赖关系,从所述多个处理核心中确定依赖于第一处理核心的至少一个第一依赖核心;A second determining unit 403 is configured to determine at least one first dependent core that is dependent on the first processing core from the plurality of processing cores based on the second dependency relationship;

第三确定单元404,被配置为从多个候选指令中确定针对所述第一处理核心的第一新增指令,其中,所述第一新增指令不依赖于与所述至少一个第一依赖核心对应的初始指令;A third determining unit 404 is configured to determine a first newly added instruction for the first processing core from a plurality of candidate instructions, wherein the first newly added instruction does not depend on an initial instruction corresponding to the at least one first dependent core;

执行单元405,被配置为利用所述芯片执行所述多个初始指令和所述第一新增指令;An execution unit 405 is configured to execute the plurality of initial instructions and the first newly added instruction using the chip;

验证单元406,被配置为基于所述多个初始指令和所述第一新增指令的执行结果,确定针对所述芯片的验证结果。The verification unit 406 is configured to determine a verification result for the chip based on the execution results of the multiple initial instructions and the first newly added instruction.

根据一些实施例,装置400还包括:第一更新单元,被配置为响应于确定所述第一新增指令依赖于所述多个初始指令中的第三指令,基于所述第一新增指令与所述第三指令之间的第三依赖关系,更新所述第二依赖关系,并且其中,第二确定单元403还被配置为基于更新后的所述第二依赖关系,从所述多个处理核心中确定依赖于第二处理核心的至少一个第二依赖核心,第三确定单元404还被配置为从所述多个候选指令中确定针对所述第二处理核心的第二新增指令,其中,所述目标指令不依赖于与所述至少一个第二依赖核心对应的指令,执行单元405被配置为利用所述芯片执行所述多个初始指令、所述第一新增指令和所述第二新增指令,验证单元406被配置为基于所述多个初始指令、所述第一新增指令和所述第二新增指令的执行结果,确定针对所述芯片的验证结果。According to some embodiments, the device 400 also includes: a first update unit, configured to update the second dependency relationship based on the third dependency relationship between the first newly added instruction and the third instruction in response to determining that the first newly added instruction depends on the third instruction among the multiple initial instructions, and wherein the second determination unit 403 is also configured to determine at least one second dependent core that depends on the second processing core from the multiple processing cores based on the updated second dependency relationship, and the third determination unit 404 is also configured to determine the second newly added instruction for the second processing core from the multiple candidate instructions, wherein the target instruction does not depend on the instruction corresponding to the at least one second dependent core, the execution unit 405 is configured to use the chip to execute the multiple initial instructions, the first newly added instruction and the second newly added instruction, and the verification unit 406 is configured to determine the verification result for the chip based on the execution results of the multiple initial instructions, the first newly added instruction and the second newly added instruction.

根据一些实施例,第二确定单元403被配置为:基于与所述多个处理核心对应的多个初始指令之间的第一依赖关系,建立以所述多个处理核心为根节点的多个搜索树,其中,所述多个搜索树中的任意两个相邻结点相应的处理核心之间具有依赖关系,并且其中,第三确定单元404包括:第一确定子单元,被配置为响应于确定所述多个候选指令中的第一候选指令依赖于所述多个初始指令中的第二依赖指令,基于所述第一候选指令与所述第二依赖指令之间的第一依赖关系,确定针对所述多个搜索树的新增结点;搜索子单元,被配置为利用树搜索算法遍历包括所述新增结点的所述多个搜索树;以及第二确定子单元,被配置为响应于确定包括所述新增结点的所述多个搜索树中的每个叶子结点与该叶子结点相应的根节点不相同,确定所述第一候选指令为所述第一新增指令。According to some embodiments, the second determination unit 403 is configured to: establish multiple search trees with the multiple processing cores as root nodes based on the first dependency relationship between the multiple initial instructions corresponding to the multiple processing cores, wherein there is a dependency relationship between the processing cores corresponding to any two adjacent nodes in the multiple search trees, and wherein the third determination unit 404 includes: a first determination sub-unit, configured to determine, in response to determining that a first candidate instruction among the multiple candidate instructions depends on a second dependent instruction among the multiple initial instructions, based on the first dependency relationship between the first candidate instruction and the second dependent instruction, a new node for the multiple search trees; a search sub-unit, configured to traverse the multiple search trees including the new nodes using a tree search algorithm; and a second determination sub-unit, configured to determine that the first candidate instruction is the first new instruction in response to determining that each leaf node in the multiple search trees including the new nodes is different from the root node corresponding to the leaf node.

根据一些实施例,所述树搜索算法包括深度优先树搜索算法。According to some embodiments, the tree search algorithm comprises a depth-first tree search algorithm.

根据一些实施例,装置400还包括:第二更新单元,被配置为响应于确定所述第一候选指令为所述第一新增指令,基于所述新增结点,更新所述多个搜索树,并且其中,第三确定单元404还被配置为基于更新后的所述多个搜索树,从所述多个候选指令中确定针对第三处理核心的第三新增指令。According to some embodiments, the device 400 also includes: a second update unit, configured to update the multiple search trees based on the newly added nodes in response to determining that the first candidate instruction is the first newly added instruction, and wherein the third determination unit 404 is also configured to determine the third newly added instruction for the third processing core from the multiple candidate instructions based on the updated multiple search trees.

根据本公开的另一方面,还提供一种芯片,包括如上所述的芯片验证装置400。According to another aspect of the present disclosure, a chip is further provided, comprising the chip verification device 400 as described above.

根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的芯片验证方法。According to another aspect of the present disclosure, an electronic device is also provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned chip verification method.

根据本公开的另一方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的芯片验证方法。According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is further provided, wherein the computer instructions are used to enable the computer to execute the above-mentioned chip verification method.

根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序再被处理器执行时实现上述的芯片验证方法。According to another aspect of the present disclosure, a computer program product is also provided, including a computer program, wherein the computer program implements the above chip verification method when executed by a processor.

参考图5,现将描述可以作为本公开的服务器或客户端的电子设备500的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。With reference to Fig. 5, the structural block diagram of the electronic device 500 that can be used as the server or client of the present disclosure will now be described, which is an example of a hardware device that can be applied to various aspects of the present disclosure. The electronic device is intended to represent various forms of digital electronic computer equipment, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples, and are not intended to limit the implementation of the present disclosure described and/or required herein.

如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。As shown in FIG5 , the device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input/output (I/O) interface 505 is also connected to the bus 504.

设备500中的多个部件连接至I/O接口505,包括:输入单元506、输出单元507、存储单元508以及通信单元509。输入单元506可以是能向设备500输入信息的任何类别的设备,输入单元506可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元507可以是能呈现信息的任何类别的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元508可以包括但不限于磁盘、光盘。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。Multiple components in the device 500 are connected to the I/O interface 505, including: an input unit 506, an output unit 507, a storage unit 508, and a communication unit 509. The input unit 506 can be any type of device that can input information to the device 500. The input unit 506 can receive input digital or character information and generate key signal input related to user settings and/or function control of the electronic device, and can include but is not limited to a mouse, a keyboard, a touch screen, a track pad, a track ball, a joystick, a microphone, and/or a remote controller. The output unit 507 can be any type of device that can present information, and can include but is not limited to a display, a speaker, a video/audio output terminal, a vibrator, and/or a printer. The storage unit 508 can include but is not limited to a disk, an optical disk. The communication unit 509 allows the device 500 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunication networks, and can include but is not limited to a modem, a network card, an infrared communication device, a wireless communication transceiver, and/or a chipset, such as a Bluetooth device, an 802.11 device, a WiFi device, a WiMax device, a cellular communication device, and/or the like.

计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如芯片验证方法。例如,在一些实施例中,芯片验证方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的芯片验证方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行芯片验证方法。The computing unit 501 may be a variety of general and/or special processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 501 performs the various methods and processes described above, such as a chip verification method. For example, in some embodiments, the chip verification method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 508. In some embodiments, part or all of the computer program may be loaded and/or installed on the device 500 via ROM 502 and/or communication unit 509. When the computer program is loaded into RAM 503 and executed by the computing unit 501, one or more steps of the chip verification method described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to perform the chip verification method in any other appropriate manner (e.g., by means of firmware).

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and/or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions/operations specified in the flow chart and/or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。The systems and techniques described herein can be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), the Internet, and a blockchain network.

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be performed in parallel, sequentially or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document is not limited here.

虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。Although the embodiments or examples of the present disclosure have been described with reference to the accompanying drawings, it should be understood that the above-mentioned methods, systems and devices are merely exemplary embodiments or examples, and the scope of the present invention is not limited by these embodiments or examples. Various elements in the embodiments or examples may be omitted or may be replaced by their equivalent elements. In addition, each step may be performed in an order different from that described in the present disclosure. Further, the various elements in the embodiments or examples may be combined in various ways. It is important that with the evolution of technology, many elements described herein may be replaced by equivalent elements that appear after the present disclosure.

Claims (14)

1. A chip verification method, wherein the chip comprises a plurality of processing cores, the method comprising:
For each of the plurality of processing cores, obtaining an initial instruction corresponding to the processing core, wherein each of the plurality of initial instructions corresponding to the plurality of processing cores is dependent on at least one other of the plurality of initial instructions;
Determining a second dependency relationship between the plurality of processing cores based on a first dependency relationship between a plurality of initial instructions corresponding to the plurality of processing cores;
Determining at least one first dependency core dependent on a first processing core from the plurality of processing cores based on the second dependency relationship;
determining a first new instruction for the first processing core from a plurality of candidate instructions, wherein the first new instruction is independent of an initial instruction corresponding to the at least one first dependent core;
Executing the plurality of initial instructions and the first new instruction with the chip; and
And determining a verification result for the chip based on the execution results of the plurality of initial instructions and the first new instruction.
2. The method of claim 1, further comprising:
In response to determining that the first new instruction depends on a third instruction of the plurality of initial instructions, updating the second dependency based on a third dependency between the first new instruction and the third instruction;
Determining at least one second dependent core from the plurality of processing cores that is dependent on a second processing core based on the updated second dependent relationship; and
Determining a second newly added instruction for the second processing core from the plurality of candidate instructions, wherein the target instruction is independent of an instruction corresponding to the at least one second dependent core,
And wherein said executing said plurality of initial instructions and said first newly added instruction with said chip comprises: executing the plurality of initial instructions, the first new instruction, and the second new instruction with the chip,
The determining, based on the execution results of the plurality of initial instructions and the first new instruction, a verification result for the chip includes:
And determining a verification result for the chip based on the execution results of the plurality of initial instructions, the first new instruction and the second new instruction.
3. The method of claim 1, wherein the determining a second dependency between the plurality of processing cores based on a first dependency between a plurality of initial instructions corresponding to the plurality of processing cores comprises:
Based on a first dependency relationship among a plurality of initial instructions corresponding to the plurality of processing cores, a plurality of search trees taking the plurality of processing cores as root nodes are established, wherein the dependency relationship is arranged between the processing cores corresponding to any two adjacent nodes in the plurality of search trees,
And wherein said determining a first new instruction for said first processing core from a plurality of candidate instructions comprises:
Responsive to determining that a first candidate instruction of the plurality of candidate instructions depends on a second dependent instruction of the plurality of initial instructions, determining newly added nodes for the plurality of search trees based on a first dependency relationship between the first candidate instruction and the second dependent instruction;
Traversing the plurality of search trees including the newly added node using a tree search algorithm; and
And in response to determining that each leaf node in the plurality of search trees including the newly added node is not identical to a root node corresponding to the leaf node, determining that the first candidate instruction is the first newly added instruction.
4. A method as claimed in claim 3, wherein the tree search algorithm comprises a depth-first tree search algorithm.
5. The method of claim 3 or 4, further comprising:
In response to determining that the first candidate instruction is the first newly added instruction, updating the plurality of search trees based on the newly added node; and
Based on the updated plurality of search trees, a third newly added instruction for a third processing core is determined from the plurality of candidate instructions.
6. A chip authentication apparatus, wherein the chip includes a plurality of processing cores, the apparatus comprising:
An acquisition unit configured to acquire, for each of the plurality of processing cores, an initial instruction corresponding to the processing core, wherein each of the plurality of initial instructions corresponding to the plurality of processing cores depends on at least one other of the plurality of initial instructions;
a first determination unit configured to determine a second dependency relationship between the plurality of processing cores based on a first dependency relationship between a plurality of initial instructions corresponding to the plurality of processing cores;
A second determining unit configured to determine at least one first dependent core depending on the first processing core from the plurality of processing cores based on the second dependent relationship;
A third determination unit configured to determine a first newly added instruction for the first processing core from a plurality of candidate instructions, wherein the first newly added instruction is independent of an initial instruction corresponding to the at least one first dependent core;
an execution unit configured to execute the plurality of initial instructions and the first newly added instruction using the chip; and
And a verification unit configured to determine a verification result for the chip based on the execution results of the plurality of initial instructions and the first additional instruction.
7. The apparatus of claim 6, further comprising:
A first updating unit configured to update the second dependency relationship based on a third dependency relationship between the first new instruction and a third instruction in the plurality of initial instructions in response to determining that the first new instruction depends on the third instruction, and wherein,
The second determining unit is further configured to determine at least one second dependency core depending on a second processing core from the plurality of processing cores based on the updated second dependency relationship,
The third determination unit is further configured to determine a second newly-added instruction for the second processing core from the plurality of candidate instructions, wherein the target instruction is independent of an instruction corresponding to the at least one second dependent core,
The execution unit is configured to execute the plurality of initial instructions, the first add instruction, and the second add instruction with the chip,
The verification unit is configured to determine a verification result for the chip based on execution results of the plurality of initial instructions, the first newly-added instruction, and the second newly-added instruction.
8. The apparatus of claim 6, wherein the second determination unit is configured to:
Based on a first dependency relationship among a plurality of initial instructions corresponding to the plurality of processing cores, a plurality of search trees taking the plurality of processing cores as root nodes are established, wherein the dependency relationship is arranged between the processing cores corresponding to any two adjacent nodes in the plurality of search trees,
And wherein the third determination unit includes:
A first determination subunit configured to determine, in response to determining that a first candidate instruction of the plurality of candidate instructions depends on a second dependent instruction of the plurality of initial instructions, a newly added node for the plurality of search trees based on a first dependency relationship between the first candidate instruction and the second dependent instruction;
a search subunit configured to traverse the plurality of search trees including the newly added node using a tree search algorithm; and
And a second determining subunit configured to determine, in response to determining that each leaf node in the plurality of search trees including the new node is not identical to a root node corresponding to the leaf node, the first candidate instruction as the first new instruction.
9. The apparatus of claim 8, wherein the tree search algorithm comprises a depth-first tree search algorithm.
10. The apparatus of claim 8 or 9, further comprising:
A second updating unit configured to update the plurality of search trees based on the newly added node in response to determining that the first candidate instruction is the first newly added instruction, and wherein,
The third determination unit is further configured to determine a third newly added instruction for a third processing core from the plurality of candidate instructions based on the updated plurality of search trees.
11. A chip comprising the apparatus of any one of claims 6-10.
12. An electronic device, comprising:
At least one processor; and
A memory communicatively coupled to the at least one processor; wherein the method comprises the steps of
The memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-5.
13. A non-transitory computer readable storage medium storing computer instructions for causing a computer to perform the method of any one of claims 1-5.
14. A computer program product comprising a computer program, wherein the computer program, when executed by a processor, implements the method according to any of claims 1-5.
CN202310370160.4A 2023-04-07 2023-04-07 Chip verification method, device, equipment and medium Pending CN118821675A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310370160.4A CN118821675A (en) 2023-04-07 2023-04-07 Chip verification method, device, equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310370160.4A CN118821675A (en) 2023-04-07 2023-04-07 Chip verification method, device, equipment and medium

Publications (1)

Publication Number Publication Date
CN118821675A true CN118821675A (en) 2024-10-22

Family

ID=93077120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310370160.4A Pending CN118821675A (en) 2023-04-07 2023-04-07 Chip verification method, device, equipment and medium

Country Status (1)

Country Link
CN (1) CN118821675A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120044379A (en) * 2025-04-22 2025-05-27 北京燧原智能科技有限公司 Chip random test method, device, equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120044379A (en) * 2025-04-22 2025-05-27 北京燧原智能科技有限公司 Chip random test method, device, equipment and storage medium

Similar Documents

Publication Publication Date Title
CN113220367B (en) Mini-program operation method, device, electronic device, and storage medium
US20220237376A1 (en) Method, apparatus, electronic device and storage medium for text classification
CN116028605B (en) Logic expression generation method, model training method, device and medium
CN112860811A (en) Method and device for determining data blood relationship, electronic equipment and storage medium
CN114219046B (en) Model training method, matching method, device, system, electronic device and medium
CN116401339B (en) Data processing method, device, electronic device, medium and program product
CN113254469B (en) Data screening method, device, equipment and medium
CN113766487A (en) Cloud mobile phone information acquisition method, device, equipment and medium
CN118940686A (en) Chip verification method, device, equipment and medium
WO2025055266A1 (en) Image processing method and apparatus, device, and medium
CN116306396A (en) Chip verification method and device, equipment and medium
CN116028750B (en) Web page text review method and device, electronic device and medium
CN116306862B (en) Training method, device and medium for text processing neural network
CN114676062B (en) Method and device for testing differential data of interface, electronic device and medium
CN116362240A (en) Text processing method, device, equipment and medium
CN113641718B (en) Model generation method, search recommendation method, device, equipment and medium
CN118821675A (en) Chip verification method, device, equipment and medium
CN113139095B (en) Video retrieval method and device, computer equipment and medium
CN112905743B (en) Text object detection method, device, electronic equipment and storage medium
CN118627512A (en) Service providing method, device, electronic device and medium based on large language model
CN112860681B (en) Data cleaning method and device, computer equipment and medium
CN113568797B (en) Test method and device, electronic equipment and medium of intelligent interactive system
CN114881235A (en) Inference service calling method and device, electronic equipment and storage medium
CN116881485B (en) Method and device for generating image retrieval index, electronic equipment and medium
CN116842156B (en) Data generation method, device, equipment and medium

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