Method for Determining Root Cause of Unknown State of Chip, Electronic Device, Medium and Program Product

By encoding and iterative genetic decoding of the chip nodes to be tested, the unknown root cause of the chip is determined, which solves the problem of low positioning efficiency of unknown source in chip verification, and achieves fast and accurate fault positioning.

CN120068751BActive Publication Date: 2025-08-01SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510542872.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-28
Publication Date
2025-08-01
Estimated Expiration
2045-04-28

AI Technical Summary

Technical Problem

In the prior art, the source positioning efficiency of unknown chips is low, resulting in a large amount of manpower and material resources required to be consumed and inefficient during the chip verification process.

Method used

The node to be tested is encoded by preset encoding method to generate the initial genetic individual, and the unknown root cause of the chip to be tested is determined through iterative genetic and decoding methods, and the element state information of the target genetic individual is decoded by preset decoding method to generate the unknown root cause result.

Benefits of technology

Iterative genetic methods quickly narrow the scope of troubleshooting, realize accurate positioning of the source of unknown propagation, and improve troubleshooting and positioning efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120068751B_ABST
    Figure CN120068751B_ABST
Patent Text Reader

Abstract

The present application discloses a method for determining the root cause of an unknown state of a chip, an electronic device, a medium, and a program product, which relates to the technical field of chip verification. This method encodes at least one node to be measured in a target chip to be measured, and can generate an initial genetic individual corresponding to each node to be measured. By using the method of iterative genetics, at least one target genetic individual closest to the true root cause of the unknown state is obtained from each initial genetic individual. Decoding at least one target genetic individual to obtain the element state information corresponding to at least one target genetic individual, and generating the root cause result of the unknown state of the target chip to be measured through the obtained element state information. The at least one target genetic individual obtained through iterative genetics can quickly narrow down the investigation scope and achieve accurate positioning of the source of unknown state propagation, thereby improving the efficiency of unknown state fault investigation and positioning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of chip verification, and particularly to a method for determining the root cause of the unknown state of a chip, an electronic device, a medium, and a program product. Background Art

[0002] After the logic design of the chip to be tested is completed and before the actual physical implementation, the chip verification engineer needs to perform pre-simulation verification and post-simulation verification on the chip to be tested. Among them, in the pre-simulation verification stage, it is necessary to check whether the designed logic function is correct and whether the logic result output according to the input logic signal meets the design expectations.

[0003] In the post-simulation verification stage, the timing-related functions are verified. For example, whether the setup and hold times meet the requirements, whether there are timing violation phenomena, etc. Due to the addition of timing information, unknown states (X states) will occur in the data signals during the transmission process, and the unknown states will propagate among different nodes to be tested as the simulation time progresses. Currently, the source location of the unknown states of the chip to be tested relies heavily on the experience of the chip verification engineer, resulting in low efficiency in locating the source of the unknown states of the chip to be tested and consuming a large amount of manpower and material resources. Summary of the Invention

[0004] This application provides a method for determining the root cause of the unknown state of a chip, an electronic device, a medium, and a program product, so as to at least solve the problem of low efficiency in locating the source of the unknown state of the chip to be tested in the related art.

[0005] This application provides a method for determining the root cause of the unknown state of a chip, including:

[0006] Obtaining at least one node to be tested corresponding to the target chip to be tested;

[0007] Encoding each node to be tested by using a preset encoding method to generate an initial genetic individual corresponding to each node to be tested;

[0008] Performing iterative inheritance on each initial genetic individual to obtain at least one target genetic individual;

[0009] Decoding each target genetic individual by using a preset decoding method to obtain the element state information corresponding to each target genetic individual, where the element state information is the state information of the elements in the target node to be tested corresponding to the target genetic individual;

[0010] Generating a root cause result of the unknown state of the target chip to be tested according to the element state information.

[0011] This application also provides a device for determining the root cause of the unknown state of a chip, including:

[0012] An obtaining module, configured to obtain at least one node to be tested corresponding to the target chip to be tested;

[0013] An encoding module, configured to encode each node to be measured by using a preset encoding method, and generate an initial genetic individual corresponding to each node to be measured;

[0014] A processing module, configured to perform iterative inheritance on each initial genetic individual to obtain at least one target genetic individual;

[0015] A decoding module, configured to decode each target genetic individual by using a preset decoding method, and obtain element status information corresponding to each target genetic individual, where the element status information is the status information of elements in the target node to be measured corresponding to the target genetic individual;

[0016] A generation module, configured to generate a root cause result of the unknown state of the target chip to be measured according to the element status information.

[0017] This application also provides an electronic device, including: a memory, configured to store a computer program; a processor, configured to implement the steps of any of the above-mentioned root cause determination methods for the unknown state of the chip when executing the computer program.

[0018] This application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned root cause determination methods for the unknown state of the chip are implemented.

[0019] This application also provides a computer program product, including a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned root cause determination methods for the unknown state of the chip are implemented.

[0020] The root cause determination method for the unknown state of the chip in this application uses a preset encoding method to encode at least one node to be measured in the target chip to be measured, and can generate an initial genetic individual corresponding to each node to be measured. Iterative inheritance is performed on the generated initial genetic individuals corresponding to each node to be measured to obtain at least one target genetic individual, that is, by using the method of iterative inheritance, at least one target genetic individual closest to the true root cause of the unknown state is obtained from each initial genetic individual. Decoding at least one target genetic individual to obtain element status information corresponding to at least one target genetic individual, and generating a root cause result of the unknown state of the target chip to be measured through the obtained element status information. Since there can be multiple initial genetic individuals in this solution and they can carry various types of information, at least one target genetic individual obtained through iterative inheritance can quickly narrow down the troubleshooting scope and achieve accurate positioning of the source of unknown state propagation, thereby improving the troubleshooting efficiency and positioning efficiency of unknown state faults, and further solving the problem of low source positioning efficiency for the unknown state of the chip to be measured in the related art. Description of the Drawings

[0021] To more clearly illustrate the embodiments of the present application, the following will briefly introduce the drawings required in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0022] Figure 1 It is a schematic flowchart of a method for determining the root cause of the unknown state of a chip provided by an embodiment of the present application;

[0023] Figure 2 It is a schematic flowchart of another method for determining the root cause of the unknown state of a chip provided by an embodiment of the present application;

[0024] Figure 3 It is a schematic flowchart of yet another method for determining the root cause of the unknown state of a chip provided by an embodiment of the present application;

[0025] Figure 4 It is a schematic structural diagram of a device for determining the root cause of the unknown state of a chip provided by an embodiment of the present application;

[0026] Figure 5 It is a schematic structural diagram of an electronic device provided by an embodiment of the present application. Detailed implementation manners

[0027] The following will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, rather than all embodiments. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the protection scope of the present application.

[0028] It should be noted that in the description of the present application, the terms "include", "comprise" or any other variant thereof are intended to cover a non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed, or further includes elements inherent to such process, method, article or device. The terms "first", "second", etc. in the present application are used to distinguish similar objects, rather than to describe a specific order or sequence.

[0029] For chip verification, after the logic design of the chip under test is completed and before the actual physical implementation, the chip verification engineer needs to perform front-end simulation verification and back-end simulation verification on the chip under test. Among them, the front-end simulation verification is also called functional verification, which mainly verifies whether the logic function of the chip design is correct and whether the logic result output according to the input logic signal meets the design expectations.

[0030] After the current functional simulation verification is completed, the post-layout simulation verification stage is entered. In the post-layout simulation verification stage, verification engineers verify the timing-related functions based on the netlist file containing information such as logic gates, registers, and memory cells, and the delay file containing delay information. For example, verify aspects such as whether the setup and hold times of the signals of the chip under test meet the requirements and whether there are timing violations. Thus, it can be seen that if the post-layout simulation verification is incomplete, it may lead to functional errors in the actually produced chips or even problems where the chips cannot be used. Therefore, the post-layout simulation verification is crucial in the entire verification process.

[0031] In post-layout simulation verification, due to the addition of timing information, unknown states (X-states) may occur during the transmission of data signals. For example, when the signal at the data input terminal of a certain register does not meet the setup and hold times required by the delay file, and the register samples and outputs a signal at its data output terminal, it will cause the signal to be in the X-state. The X-state will propagate among different components and different functional modules of the chip under test as the simulation time progresses. When the data input terminals of different functional modules or components receive X-state signals, it will cause errors in the simulation results and may even lead to simulation failures. Therefore, locating the source of the X-state signal occupies a relatively large proportion in post-layout simulation verification work.

[0032] In traditional post-layout simulation verification, there may be thousands of timing violation messages. Verification engineers need to trace back and locate the propagation source of the X-state signal based on the timing violation messages and waveforms. Since the signal propagation paths have different branches, this process requires verification engineers to have relatively rich experience to judge the critical path from different branches and reverse-locate the propagation source based on the critical path. Since the current location of the source of the unknown state of the chip under test relies relatively heavily on the experience of chip verification engineers, the efficiency of locating the source of the unknown state of the chip under test is relatively low, and it requires a large amount of manpower and material resources.

[0033] In view of this, the present application provides a method, an electronic device, a medium, and a program product for determining the root cause of the unknown state of a chip. The method includes: obtaining at least one node to be tested corresponding to the target chip to be tested; encoding each node to be tested using a preset encoding method to generate an initial genetic individual corresponding to each node to be tested; performing iterative genetics on each initial genetic individual to obtain at least one target genetic individual; decoding each target genetic individual using a preset decoding method to obtain the element state information corresponding to each target genetic individual, where the element state information is the state information of the elements in the target node to be tested corresponding to the target genetic individual; and generating a root cause result of the unknown state of the target chip to be tested according to the element state information.

[0034] The method for determining the root cause of the unknown state of the chip in this application uses a preset encoding method to encode at least one node to be tested in the target chip to be tested, and can generate an initial genetic individual corresponding to each node to be tested. Iterative inheritance is performed on the generated initial genetic individuals corresponding to each node to be tested to obtain at least one target genetic individual, that is, using the iterative inheritance method, at least one target genetic individual closest to the true root cause of the X state is obtained from each initial genetic individual. Decoding is performed on at least one target genetic individual to obtain the element state information corresponding to at least one target genetic individual, and based on the obtained element state information, the root cause result of the unknown state of the target chip to be tested is generated. Since there can be multiple initial genetic individuals in this solution and they can carry various types of information, the at least one target genetic individual obtained through iterative inheritance can quickly narrow down the investigation scope, achieve accurate positioning of the source of X state propagation, thereby improving the efficiency of X state fault investigation and positioning, and further solving the problem of low source positioning efficiency for the unknown state of the chip to be tested in the related art.

[0035] In order to enable those skilled in the art of the present technology to better understand the solution of this application, the following further detailed description of this application will be given in conjunction with the accompanying drawings and specific implementation manners.

[0036] According to an embodiment of the present application, an embodiment of a method for determining the root cause of the unknown state of a chip is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.

[0037] In this embodiment, a method for determining the root cause of the unknown state of a chip is provided, which can be used in electronic devices, such as computers, tablets (PADs), servers, and so on. Figure 1 is a flowchart of the method for determining the root cause of the unknown state of the chip according to an embodiment of the present invention, as Figure 1 shown, the process includes the following steps:

[0038] Step S102, obtain at least one node to be tested corresponding to the target chip to be tested.

[0039] The target chip to be tested refers to a chip that needs to be subjected to various performance tests, function verifications, parameter detections, etc. during the chip production and manufacturing process, or in related scientific research, detection, and other scenarios. The node to be tested can be a functional module in the target chip to be tested. When there are multiple nodes to be tested, the multiple nodes to be tested can form a communication link or a critical path on a certain communication link.

[0040] In practical applications, when the computing power of the electronic device is relatively large, the nodes to be measured can be all the nodes in the entire target chip to be measured, that is, the nodes to be measured are generated for the entire target chip to be measured.

[0041] For the acquisition form of at least one node to be measured corresponding to the target chip to be measured, it can be one or more nodes to be measured in the target chip to be measured designated by the verification engineer based on work experience. Of course, it can also be one or more nodes to be measured in the target chip to be measured obtained according to the simulation results. In this application, the acquisition method of one or more nodes to be measured in the target chip to be measured is not restricted.

[0042] Step S104: Encode each node to be measured using a preset encoding method to generate an initial genetic individual corresponding to each node to be measured.

[0043] The preset encoding method is a pre-set encoding method. For the setting of the preset encoding method, it can be set according to the detailed information about the chip physical structure in the design document of the target chip to be measured. For example, the types, quantities, and connection relationships of various elements such as logic gates, signal lines, registers, and storage units in the target chip to be measured. At the same time, when setting the preset encoding method, unique identification codes can also be assigned to relevant elements in the target chip to be measured based on the complexity of the current problem and the computing power, and the encoding rules for the state information of each element can be set to clarify the combination method of the unique identification code of the element and the encoding of the state, forming a complete preset encoding method. Among them, the preset encoding method can be binary encoding. For example, 0 represents impossible, and 1 represents possible. When the target chip to be measured is relatively complex, the preset encoding method can be multi-bit width encoding to represent more possibilities. At the same time, the preset encoding method can also combine elements with state information. For example, the first few bits represent the element number, and the last few bits represent the number of the corresponding state information.

[0044] For each node to be measured, an initial genetic individual corresponding to each node to be measured can be randomly generated using the preset encoding method; or an initial genetic individual corresponding to each node to be measured can be encoded by the verification engineer according to the current problem and each node to be measured involved using the preset encoding method. For the generated initial genetic individuals corresponding to each node to be measured, they can be composed of the encodings corresponding to various elements such as logic gates, signal lines, registers, and storage units inside each node to be measured; they can also be composed of the encodings corresponding to multiple nodes to be measured and signal lines, etc. That is to say, the encoding corresponding to the initial genetic individual in this application is relatively flexible and can be adjusted according to the actual situation. In this application, the initial genetic individuals corresponding to each generated node to be measured are not restricted.

[0045] In the actual application process, when encoding each node to be tested using a preset encoding method to generate the initial genetic individuals corresponding to each node to be tested, an initial population that meets the preset requirements can also be randomly generated according to the preset scale of the initial population. This initial population contains multiple initial genetic individuals. Each initial genetic individual is a hypothetical encoding of the state of the elements in the target chip to be tested based on the preset encoding method.

[0046] Through the preset encoding method, encode the signals and the elements of the nodes to be tested in the target chip to be tested, so as to represent whether the elements of the marked nodes to be tested may cause the propagation of the X state, and according to the relevance between the signals and the elements of the nodes to be tested, combine different elements to generate different initial genetic individuals.

[0047] Step S106: Perform iterative genetics on each initial genetic individual to obtain at least one target genetic individual.

[0048] Iterative genetics means that by performing genetic operations on each initial genetic individual, the assumptions and configurations that are close to the true root cause represented by the initial genetic individuals are retained and inherited. When the entire iterative genetics reaches the termination condition (the first preset condition mentioned later), the entire iterative genetics process ends, and the iterative genetics result at the last iteration is output to obtain at least one target genetic individual.

[0049] For the target genetic individual, it can be one or multiple. When the target genetic individual is one, the target genetic individual can be the genetic individual with the highest fitness value among the genetic individuals obtained in the last iteration. When the target genetic individual is multiple, the multiple target genetic individuals can be the genetic individuals whose fitness values meet the first preset value among the genetic individuals obtained in the last iteration.

[0050] Step S108: Decode each target genetic individual using the preset decoding method to obtain the element state information corresponding to each target genetic individual. The element state information is the state information of the elements in the target node to be tested corresponding to the target genetic individual.

[0051] It should be understood that the preset decoding method corresponds to the preset encoding method. For example, in the preset encoding method, the unique identification code corresponding to the register of the node to be tested is 011, and it is in the first to third positions in the encoding corresponding to the genetic individual. Thus, if the encoding in the first to third positions of the target genetic individual is 011, it is used to represent the register in the node to be tested.

[0052] The elements in the target node to be tested are the logic gates, signal lines, registers, memory cells, etc. inside the target node to be tested. The element status information is the status information of the corresponding element. For example, the specific information of a logic gate, i.e., whether the logic gate is an AND gate, an OR gate, or an AND-OR gate, etc. Another example is the specific name, storage size, and storage location of a memory cell, etc.

[0053] Step S110, generate the root cause result of the unknown state of the target chip to be tested according to the element status information.

[0054] By sorting out and analyzing the element status information, generate the root cause result of the unknown state of the target chip to be tested and generate a report. The report may include the most likely root cause of X-state propagation, the relevant basis for determining the most likely root cause of X-state propagation, and a brief analysis of the root cause result of the unknown state, etc. The report can also visually display the possible paths of X-state propagation and the elements involved in the form of charts, etc., to assist verification analysts and engineers in analyzing and judging.

[0055] In addition, the method for determining the root cause of the unknown state of the chip in this application can not only solve the problem of X-state propagation, but also help relevant designers better reflect on design loopholes and provide valuable feedback by generating the root cause result of the unknown state of the target chip to be tested. At the same time, through the research on a large amount of simulation data and the root cause result of the unknown state of the target chip to be tested, potential defects and weak links in chip design can be discovered in advance, providing an improvement direction for designers and optimizing relevant design logics, etc.

[0056] The method for determining the root cause of the unknown state of the chip in this application uses a preset coding method to encode at least one node to be tested in the target chip to be tested, and can generate an initial genetic individual corresponding to each node to be tested. Iterative genetics is performed on the generated initial genetic individuals corresponding to each node to be tested to obtain at least one target genetic individual, that is, using the method of iterative genetics to obtain at least one target genetic individual that is closest to the true root cause of the X-state from each initial genetic individual. Decode at least one target genetic individual to obtain the element status information corresponding to at least one target genetic individual, and generate the root cause result of the unknown state of the target chip to be tested through the obtained element status information. Since there can be multiple initial genetic individuals in this solution and they can carry various types of information, the at least one target genetic individual obtained through iterative genetics can quickly narrow down the investigation scope and achieve accurate positioning of the source of X-state propagation, thereby improving the efficiency of X-state fault investigation and positioning, and further solving the problem of low efficiency in positioning the source of the unknown state of the chip to be tested in the related art.

[0057] In this embodiment, a method for determining the root cause of the unknown state of a chip is provided, which can be used in electronic devices, such as computers, tablets (PADs), servers, etc.Figure 2 is a flowchart of a method for determining the root cause of an unknown state of a chip according to an embodiment of the present invention. As Figure 2 shown, the process includes the following steps:

[0058] Step S202: Obtain at least one node to be measured corresponding to the target chip to be measured. For details, please refer to Figure 1 step S102 of the embodiment shown herein, which will not be elaborated herein.

[0059] Step S204: Encode each node to be measured using a preset encoding method to generate an initial genetic individual corresponding to each node to be measured. For details, please refer to Figure 1 step S104 of the embodiment shown herein, which will not be elaborated herein.

[0060] Step S206: Perform iterative inheritance on each initial genetic individual to obtain at least one target genetic individual.

[0061] In an alternative embodiment, the above step S206 further includes:

[0062] Step S2062: Perform iterative inheritance on each initial genetic individual to obtain multiple alternative genetic individuals.

[0063] The multiple alternative genetic individuals are the genetic individuals obtained when the iterative inheritance result meets the first preset condition, and also the genetic individuals obtained when the iterative inheritance result meets the termination condition.

[0064] Step S2064: Perform fitness evaluation on each alternative genetic individual to obtain the fitness value corresponding to each alternative genetic individual.

[0065] Fitness can measure the degree of adaptation of a genetic individual to the living environment, which reflects the quality of the genetic individual in solving problems. In practical applications, a preset fitness function can be used to perform fitness evaluation on each alternative genetic individual to obtain the fitness value corresponding to each alternative genetic individual; alternatively, a verification engineer can define an evaluation rule to perform fitness evaluation on each alternative genetic individual to obtain the fitness value corresponding to each alternative genetic individual. In this application, the actual form of evaluating the fitness of each alternative genetic individual is not restricted and can be flexibly adjusted according to actual use.

[0066] Step S2066: Determine the alternative genetic individuals with fitness values greater than or equal to the first preset value as target genetic individuals to obtain at least one target genetic individual.

[0067] The first preset value can be any suitable preset value. That is to say, the first preset value can be flexibly set according to the actual situation of the target chip to be measured. This application does not limit the first preset value.

[0068] Through steps S2062 to S2066, since the relative superiority and inferiority of different genetic individuals in solving problems can be determined according to the fitness value, the fitness values of each alternative genetic individual are evaluated using the fitness value, and then at least one target genetic individual is selected from each alternative genetic individual according to whether the fitness value is greater than or equal to the first preset value, that is, the genetic individual closest to the root cause of the X-state propagation is selected. Subsequently, through at least one target genetic individual, the root cause of the X-state propagation can be better determined. And in the process of genetic iteration, the individuals that need to be genetically operated can be better selected through the fitness value, which can improve the convergence speed of the algorithm, and thus the optimal solution can be iteratively obtained quickly.

[0069] Step S208, decode each target genetic individual using a preset decoding method to obtain the element state information corresponding to each target genetic individual, where the element state information is the state information of the elements in the target test nodes corresponding to the target genetic individual. For details, please refer to Figure 1 Step S108 of the embodiment shown, which will not be elaborated here.

[0070] Step S210, generate the root cause result of the unknown state of the target chip to be tested according to the element state information. For details, please refer to Figure 1 Step S110 of the embodiment shown, which will not be elaborated here.

[0071] The method for determining the root cause of the unknown state of the chip in this application uses a preset coding method to encode at least one test node in the target chip to be tested, and can generate the initial genetic individuals corresponding to each test node. Iterative genetics is performed on the generated initial genetic individuals corresponding to each test node to obtain at least one target genetic individual, that is, using the iterative genetic method, at least one target genetic individual closest to the true root cause of the X-state is obtained from each initial genetic individual. Decode at least one target genetic individual to obtain the element state information corresponding to at least one target genetic individual, and generate the root cause result of the unknown state of the target chip to be tested through the obtained element state information. Since there can be multiple initial genetic individuals in this solution and they can carry various types of information, at least one target genetic individual obtained through iterative genetics can quickly narrow down the investigation scope, achieve accurate positioning of the source of the X-state propagation, thereby improving the efficiency of troubleshooting and positioning of the X-state fault, and further solving the problem of low efficiency in positioning the source of the unknown state of the chip to be tested in the related art.

[0072] In an alternative embodiment, iterative inheritance is performed on each initial genetic individual to obtain a plurality of alternative genetic individuals, including: performing iterative inheritance on each initial genetic individual to obtain a plurality of new genetic individuals and a genetic iteration result; performing simulation processing on each new genetic individual to obtain a plurality of new genetic individuals after simulation processing; when the genetic iteration result meets a first preset condition, updating the plurality of new genetic individuals after simulation processing to a plurality of alternative genetic individuals, and entering the step of performing fitness evaluation on each alternative genetic individual to obtain the fitness value corresponding to each alternative genetic individual; when the first preset condition is not met, updating the plurality of new genetic individuals after simulation processing to a plurality of initial genetic individuals, and entering the step of performing iterative inheritance on each initial genetic individual to obtain a plurality of new genetic individuals and a genetic iteration result, until the genetic iteration result meets the first preset condition to obtain a plurality of alternative genetic individuals.

[0073] For a new genetic individual, it can be a genetic individual obtained by inheritance after each iterative inheritance. The inheritance iteration result can be the number of current iterative inheritances, or the number of new genetic individuals with a fitness value greater than or equal to a fitness preset value among a plurality of new genetic individuals. For the first preset condition, it can be that the number of current iterative inheritances reaches the total number of iterations; or the number of new genetic individuals with a fitness value greater than or equal to a fitness preset value among a plurality of new genetic individuals reaches a genetic number preset value.

[0074] The purpose of performing simulation processing on each new genetic individual is to decode and map each new genetic individual generated by each round of genetic iteration to generate a test stimulus corresponding to each new genetic individual, and simulate the chip under test through the test stimulus corresponding to each new genetic individual. In this way, during the simulation process, the occurrence situation and propagation information of the X state are collected, so that the new nodes and new paths involved in the X state can be determined again. Subsequently, a plurality of new genetic individuals after simulation processing can be generated for the new nodes and new paths involved.

[0075] In an alternative embodiment, during the process of performing simulation processing on each new genetic individual to obtain a plurality of new genetic individuals after simulation processing, fitness evaluation can also be performed on each new genetic individual, and the genetic individuals that need to be subjected to simulation processing can be screened out through the fitness values of each new genetic individual. In this way, not only can the new genetic individuals be screened out better, but also the number of simulation processes can be reduced, the computing resources can be reduced, and the efficiency of the entire algorithm for searching for the optimal solution can be improved.

[0076] In the above implementation manner, by determining whether the genetic iteration result meets the first preset condition, it is possible to relatively simply determine the execution step to enter. That is, when the genetic iteration result meets the first preset condition, it indicates that the current iterative genetic process has ended, and then enter the step of screening at least one target genetic individual from multiple alternative genetic individuals; when the genetic iteration result does not meet the first preset condition, it indicates that the iterative genetic process has not ended and iterative genetic needs to continue.

[0077] From the foregoing analysis, it can be seen that during the iterative genetic process, the adjustment of genetic individuals depends to a large extent on the generated initial genetic individuals, the fitness values of the initial genetic individuals, and the simulation results obtained through simulation processing. Since the screening method for the fitness values of the initial genetic individuals and the simulation results obtained through simulation processing is relatively single, and the probability of introducing new genetic individuals is small, this will result in low iterative efficiency and difficulty in expanding the solution space, thereby possibly causing the iterative process to fall into a local optimal solution. Regarding this problem, if the solution space is expanded by increasing the number of iterations, the increase in the number of iterations will also correspondingly increase the computational resources and time costs. Therefore, during the iterative genetic process, it is also necessary to perform selection, crossover, and mutation on the initial genetic individuals. That is to say, by introducing genetic operations such as selection, crossover, and mutation, it is possible to greatly and comprehensively expand the possible solution space without increasing the number of iterations. At the same time, during the process of crossover and mutation of the initial genetic individuals, controlling the probabilities of crossover and mutation can better avoid the problem of difficult convergence of the entire algorithm due to an overly large solution space.

[0078] Based on the above analysis, in an alternative implementation manner, iterative genetic is performed on each initial genetic individual to obtain multiple new genetic individuals, including: performing fitness evaluation on each initial genetic individual to obtain the fitness value corresponding to each initial genetic individual; determining the initial genetic individuals whose fitness values are greater than or equal to the second preset value as parental genetic individuals; performing crossover operations on each parental genetic individual to obtain multiple new parental genetic individuals; and performing mutation operations on each new parental genetic individual to obtain multiple new genetic individuals.

[0079] The second preset value can be any suitable preset value. That is to say, the second preset value can be flexibly set according to the actual situation of the target chip to be tested. The present application does not limit the second preset value.

[0080] In addition, it should be noted that since the second preset value is used to screen the parental genetic individuals that need to undergo gene operations during the iterative genetic process, and the first preset value is used to screen the target genetic individuals after the entire iterative genetic process is completed. Based on the different stages of use, the first preset value can often be set to be greater than or the second preset value. However, in some scenarios, there is also a possibility that the first preset value is less than the second preset value. Therefore, in this application, the size relationship between the first preset value and the second preset value is not restricted, and their sizes can be flexibly adjusted according to the actual situation.

[0081] According to the fitness values corresponding to each initial genetic individual, screen out the initial genetic individuals whose fitness values are greater than or equal to the second preset value as parental genetic individuals, and use crossover and mutation to perform crossover and mutation on the genetic information of the inherited parental genetic individuals to obtain multiple new genetic individuals, and introduce the multiple new genetic individuals into the next round of iterative genetics. In this way, through the collaborative operations of selection, crossover, and mutation, the initial genetic individuals in the initialized population can be continuously updated, avoiding being trapped in local optimal solutions due to limited individual assumptions, enabling the parental genetic individuals participating in gene genetic operations to be screened in the direction closer to the propagation root cause of the X state, improving the quality of all genetic individuals during the iterative genetic process, reducing the blind exploration time of the entire algorithm in the search space, and increasing the speed of finding the optimal solution.

[0082] In an optional implementation manner, performing a crossover operation on each parental genetic individual to obtain multiple new parental genetic individuals includes: randomly selecting multiple crossover pairs from the multiple parental genetic individuals, where each crossover pair includes two parental genetic individuals; randomly selecting a crossover point for any one crossover pair; for the two parental genetic individuals in any one crossover pair, swapping the data after the crossover point to obtain the crossed parental genetic individuals; and forming multiple new parental genetic individuals from the multiple parental genetic individuals and the crossed parental genetic individuals.

[0083] In the search space, different parental genetic individuals each have different optimal solution genes. Thus, the key point of the crossover operation is to combine the excellent genes of the parental genetic individuals into the crossed parental genetic individuals, thereby generating new genetic individuals with better adaptability and making the crossed parental genetic individuals closer to the global optimal solution. Therefore, the crossover operation can quickly spread excellent genes in the population by leveraging the genetic information of the parental genetic individuals, accelerating the convergence speed of the algorithm. At the same time, generating new combinations of genetic individuals in the current population can also avoid premature convergence to local optimal solutions and increase the probability of finding the global optimal solution.

[0084] For example, assume that the two parental genetic individuals included in the crossover pair are P1 and P2, and , where n represents the coding length. During the crossover process, a crossover point is randomly selected (for example, the position of the crossover point is k and 1 ≤ k ≤ n - 1) for crossover (i.e., data exchange), and the resulting parental genetic individuals after crossover are respectively:

[0085]

[0086]

[0087] It can be known from the above crossover process that the crossover operation is to randomly select a crossover point k in the coding sequences of two parental genetic individuals, and exchange some of the data after the crossover point k, thereby generating the parental genetic individuals after crossover. This operation is simpler and more intuitive, and can effectively combine the genetic information of the parental genetic individuals. In addition, when exchanging some of the data after the crossover point k to generate the parental genetic individuals after crossover, it can be to exchange only the data at the k crossover point; it can also be to start from the k crossover point and exchange some of the data between k and n; it can also be to start from the k crossover point and exchange all the data between k and n.

[0088] It should be noted that multiple parental genetic individuals can be randomly paired in pairs to obtain multiple crossover pairs. That is to say, the crossover probability is 1 at this time. Of course, based on the set crossover probability, a certain number of parental genetic individuals can be randomly selected from multiple parental genetic individuals and then randomly paired in pairs to obtain multiple crossover pairs.

[0089] Although the crossover operation can generate the parental genetic individuals after crossover for the parental genetic individuals, this method is more dependent on the coding order. Different coding orders may lead to completely different crossover results. In this way, the crossover operation will have a certain impact on the stability and repeatability of the algorithm. At the same time, single-point crossover will transmit adjacent genes to the parental genetic individuals after crossover, that is, the gene linkage effect is generated. For example, although some genes are not the optimal solutions, they are packed and exchanged because they are adjacent to the crossover node, thus limiting the possibility of the algorithm to find better solutions. To avoid such problems, a mutation operation can be introduced during the gene inheritance process. The mutation operation will randomly change the genes of the parental genetic individuals after crossover to prevent the similarity between the mutant genetic individuals after mutation from being too high. This can not only ensure the diversity of the population, but also enable the algorithm to have the ability of global search during the iterative inheritance process and prevent the algorithm from obtaining local optimal solutions.

[0090] In an alternative embodiment, mutation operations are performed on each new parental genetic individual to obtain a plurality of new genetic individuals, including: randomly selecting a plurality of mutated genetic individuals from the plurality of new parental genetic individuals; using a mutation genetic factor to perform mutation processing on any one of the mutated genetic individuals to obtain a plurality of mutated genetic individuals after mutation; and constituting a plurality of new genetic individuals from the plurality of new parental genetic individuals and the plurality of mutated genetic individuals after mutation.

[0091] In the actual application process, mutation operations can be performed on all of the new parental genetic individuals. That is to say, the mutation probability is 1 at this time. Of course, a mutation probability can also be set, and a corresponding number of mutated genetic individuals are randomly selected from the plurality of new parental genetic individuals.

[0092] In the above implementation, by performing mutation operations on a plurality of mutated genetic individuals, the trend of gene convergence can be continuously broken, and the diversity among a plurality of new genetic individuals can be maintained, so as to better cope with complex and changeable problem environments and improve the adaptability and flexibility of the algorithm. In addition, by using the mutation genetic factor to perform mutation processing on any one of the mutated genetic individuals to obtain a plurality of mutated genetic individuals after mutation, the new parental genetic individuals can be mutated relatively randomly and quickly, making the randomness of the plurality of mutated genetic individuals after mutation relatively high.

[0093] In an alternative embodiment, using a mutation genetic factor to perform mutation processing on any one of the mutated genetic individuals to obtain a plurality of mutated genetic individuals after mutation includes: using to perform mutation processing on any one of the mutated genetic individuals to obtain a plurality of mutated genetic individuals after mutation; or using to perform mutation processing on any one of the mutated genetic individuals to obtain a plurality of mutated genetic individuals after mutation, where is used to represent the mutated genetic individual after mutation, is used to represent the mutated genetic individual, t is used to represent the current iteration number, is used to represent the lower limit value of the value range where it is located, is used to represent the upper limit value of the value range where it is located, Y is used to represent the target mutation function, and the target mutation function is related to the current iteration number.

[0094] Through the target mutation function, mutation genetic factors can be generated relatively randomly and quickly. By using the mutation genetic factor, mutation processing can be better performed on any one of the mutated genetic individuals to obtain a plurality of mutated genetic individuals after mutation, so that the algorithm can conduct a wider search within the solution space.

[0095] In an alternative embodiment, the target mutation function: , where is used to represent the target mutation function, y is used to represent the weight, r is used to represent a random number between 0 and 1, b is used to represent a constant, and T is used to represent the total number of iterations.

[0096] In the target mutation function, the weight is used to quantify the influence of the total number of iterations on the mutation genetic factor, so that the target mutation function can be better adjusted to adapt to the mutation operations in different scenarios.

[0097] For example, for a mutated genetic individual . For each gene , its mutated gene is . Where The calculation formula of is:

[0098] ;

[0099] Or,

[0100] ;

[0101] Where is used to represent The lower limit value of the value range where is located, is used to represent The upper limit value of the value range where is located, is used to represent the target mutation function, and its specific expression is as follows:

[0102] ;

[0103] Where t is used to represent the current iteration number, T is used to represent the total number of iterations, r is a random number between [0, 1], b is a constant.

[0104] Through the above process, it can be obtained that as the number of iterative inheritances increases, the mutation probability will gradually decrease accordingly. In this way, through the mutual cooperation of the crossover operation and the mutation operation, while maintaining the diversity of multiple new genetic individuals, the global search ability of the algorithm can also be guaranteed. At the same time, by reasonably setting the crossover probability and the mutation probability, the global and local search abilities of the algorithm can be balanced, so that the optimal solution can be searched more efficiently within the search space, and thus the convergence state can be quickly reached.

[0105] In an alternative embodiment, the fitness function is used to evaluate the fitness value, and determining the fitness function includes: using , determine the propagation function; where x is used to represent a genetic individual, is used to represent the number of nodes propagated by a genetic individual in the unknown state, is used to represent the path length propagated by a genetic individual in the unknown state, is used to represent the propagation function, is used to represent the weight of is used to represent the weight of; using , determine the influence function; where is used to represent the influence degree of a genetic individual on the transmission delay of the chip to be tested, is used to represent the influence degree of a genetic individual on the functional failure of the chip to be tested, is used to represent the influence degree of a genetic individual on the timing requirements of the chip to be tested, is used to represent the weight of is used to represent the weight of is used to represent the influence degree of is used to represent the influence function; using , determine the resource consumption function; where is used to represent the repair time consumption of the chip to be tested by a genetic individual in the unknown state, is used to represent the repair resource consumption of the chip to be tested by a genetic individual in the unknown state, is used to represent the re-design resource consumption of the chip to be tested by a genetic individual in the unknown state, is used to represent the weight of is used to represent the weight of is used to represent the weight of is used to represent the resource consumption function; based on the fusion result of the propagation function, influence function and resource consumption function, determine the fitness function.

[0106] As mentioned above, genetic individuals entering the next stage are usually selected based on fitness values. That is to say, the fitness value affects the judgment of whether the current genetic individual is a factor for the possibility of X-state propagation. Therefore, reasonably determining the fitness values corresponding to each genetic individual is crucial for the entire algorithm. In the above implementation method, during the construction of the fitness function, the X-state propagation range, path influence degree, resource consumption, etc. are taken into consideration and quantified to comprehensively calculate the fitness values of different genetic individuals. By using the fitness function to evaluate the quality of genetic individuals, the algorithm can be better guided to optimize in the direction of finding the source of X-state propagation.

[0107] In an alternative embodiment, based on the fusion result of the propagation function, influence function, and resource consumption function, a fitness function is determined, including: using to determine the fitness function, where is used to represent the fitness function, is used to represent the weight of, is used to represent the weight of, is used to represent the weight of.

[0108] It can be obtained from the above embodiment that the higher the relevant influence, the lower the fitness result of the genetic individual, indicating that it is less suitable to be selected as a key factor for X-state propagation and repaired. In this way, the fitness function can more accurately reflect the degree of adaptation of genetic individuals to the environment during the genetic process.

[0109] For example, during the construction of the fitness function, first, the X-state propagation range is measured according to the number of nodes and path length involved in the X-state propagation. Then, check whether the path under the genetic individual hypothesis meets the timing requirements. For example, establish the hold time. If it does not meet the timing requirements, quantify the degree of non-compliance with the timing requirements to measure the path influence degree. Finally, according to the genetic individual hypothesis state, calculate the resource consumption required to adjust the elements that may trigger the X-state to the normal state, such as including but not limited to repair time consumption, repair resource consumption, and re-design resource consumption, etc.

[0110] Regarding the X-state propagation range: If the chip under test is regarded as a graph composed of elements (logic gates, registers, and memory cells) and edges (connection relationships between elements), then before the simulation starts, the X-state propagation range under the current genetic individual hypothesis state can be calculated in the following way. For example, use to represent the number of nodes involved in the X-state propagation, represent the path length affected by the X-state propagation, and the X-state propagation range is quantified as:

[0111] ;

[0112] Among them, represents the quantization result of the propagation range of genetic individuals in the unknown state, that is, the propagation function, x which is used to represent the weight of and is used to represent the weight of

[0113] In it is to set the weight for and to set the weight for The purpose is as follows: During the simulation of the chip under test, some elements will not continue to propagate the incoming X state downward without enabling, which may lead to a smaller propagation path. In this case, the weight of the propagation path can be appropriately reduced, and the influence degree of the propagation node can be highlighted.

[0114] Regarding the influence of critical paths: In different usage scenarios of the chip under test, there will be frequent data transmissions on some paths, and such paths can be called critical paths. There will be relevant design requirements for critical paths, such as path transmission delay requirements, function failure degree, and timing requirements, etc. Thus, the influence of critical paths can be quantitatively analyzed as:

[0115] ;

[0116] Among them, represents the quantization of the influence of genetic individuals x on critical paths, that is, the influence function. , and respectively represent the quantization of the satisfaction degrees of genetic individuals x for transmission delay requirements, function failure degree, and timing requirements. For a genetic individual, the greater its influence on the satisfaction degrees of transmission delay requirements, function failure degree, and timing requirements and the more serious the influence on critical paths, the lower the fitness value of the corresponding genetic individual. Then this genetic individual cannot be judged as the root cause of X-state propagation. This is because there are too many factors to consider when repairing such genetic individuals, and sometimes even the overall architecture of the chip under test needs to be adjusted, resulting in a very time-consuming and costly repair process.

[0117] Regarding repair resource consumption: Another key factor in evaluating the fitness value of each genetic individual is the repair resource consumption. When the entire iteration process ends, the verification engineer needs to adjust and repair the elements in the target genetic individual according to the unknown root cause result of the target chip to be tested. Therefore, when evaluating the fitness value of each genetic individual, it is necessary to comprehensively consider the repair time consumption, repair resource consumption, and redesigned resource consumption, etc. In this way, the repair resource consumption can be specifically quantified as:

[0118] ;

[0119] Among them, represents the resource consumption function, 、 and respectively represent the repair time consumption, repair resource consumption, and redesigned resource consumption. The weight coefficients before different resource consumptions can be set differently according to the tasks and importance of different genetic individuals in the entire target chip to be tested, so as to more comprehensively calculate the resource consumption for repairing the element states represented by the genetic individuals and provide a more accurate basis for the evaluation of the fitness value.

[0120] Regarding the fitness function: By fusing the above-mentioned propagation function, influence function, and resource consumption function, the fitness function is obtained as:

[0121] ;

[0122] When the relevant influence is higher, the fitness result of this genetic individual is lower, indicating that it is less suitable to be selected as the key factor for X-state propagation and repaired.

[0123] In an optional implementation manner, the method further includes: after performing simulation processing on each new genetic individual to obtain multiple new genetic individuals after the simulation processing, performing fitness evaluation on each new genetic individual to obtain the fitness value of each new genetic individual; determining whether the fitness value of each new genetic individual meets the second preset condition; if the fitness value of each new genetic individual meets the second preset condition, obtaining the genetic iteration result and determining whether the genetic iteration result meets the first preset condition; if the fitness value of each new genetic individual does not meet the second preset condition, encoding each node to be tested using a preset encoding method and regenerating the initial genetic individual corresponding to each node to be tested.

[0124] If the fitness values of multiple genetic individuals do not meet the second preset condition, it indicates that the fitness values of the genetic individuals passed on are relatively low, and thus it is impossible to quickly obtain at least one target genetic individual. Therefore, it is necessary to encode each node to be tested using a preset encoding method and regenerate the initial genetic individuals corresponding to each node to be tested, so as to quickly search for the optimal solution and at least one target genetic individual obtained through iterative genetics, which can quickly narrow down the scope of investigation and achieve precise positioning of the source of X-state propagation, thereby improving the efficiency of X-state fault investigation and positioning.

[0125] The second preset condition can be that the fitness values of each new genetic individual are higher than the corresponding preset fitness values; it can also be that the number of new genetic individuals whose fitness values are higher than the corresponding preset fitness values is greater than the preset number; it can also be that the fitness values of each new genetic individual are lower than the corresponding preset fitness values; it can also be that the number of new genetic individuals whose fitness values are lower than the corresponding preset fitness values is greater than the preset number. In this application, the specific content of the second preset condition is not limited and can be flexibly adjusted according to the actual situation.

[0126] In an alternative implementation, perform simulation processing on each new genetic individual to obtain multiple new genetic individuals after simulation processing, including: decoding each new genetic individual using a preset decoding method to obtain the elements and element state information corresponding to each new genetic individual; generating multiple test stimuli using the elements and element state information corresponding to each new genetic individual; inputting the multiple test stimuli into a simulation model to obtain a simulation result; and encoding the simulation result using a preset encoding method to obtain multiple new genetic individuals after simulation processing.

[0127] According to the preset decoding method corresponding to the preset encoding method, perform a decoding operation on each new genetic individual, map the state of the element expressed by the encoding to the element in the simulation model, and generate corresponding test stimuli. During the simulation operation, record the order in which the X-state appears and the relevant node information, including but not limited to the node identifier, the timestamp when the X-state appears, and the pointer to the next node. In this way, information such as the time point and path of the current X-state propagation can be accurately traced.

[0128] For ease of understanding, in an embodiment of this application, a method for determining the root cause of the unknown state of a chip is also provided. Specifically as Figure 3 shown, this method includes steps S301 to S308.

[0129] Step S301, preset the encoding method. Among them, the preset encoding method can be set according to the detailed information about the chip physical structure in the design document of the target chip to be tested. For example, the types, quantities, and connection relationships of various elements such as logic gates, signal lines, registers, and storage units in the target chip to be tested. At the same time, when setting the preset encoding method, unique identification codes can also be assigned to relevant elements in the target chip to be tested based on the complexity of the current problem and the computing power, and the encoding rules for the state information of each element can be set to clarify the combination method of the unique identification code of the element and the encoding of the state, forming a complete preset encoding method.

[0130] Step S302, generate initial genetic individuals. After obtaining the preset encoding method and at least one node to be tested in the target chip to be tested, use the preset encoding method to encode each node to be tested, and generate initial genetic individuals corresponding to each node to be tested.

[0131] Step S303, fitness evaluation. Use the fitness function to evaluate the fitness of each initial genetic individual, and obtain the fitness value corresponding to each initial genetic individual.

[0132] Step S304, iterative genetics. Perform selection, crossover, and mutation operations through the fitness values corresponding to each initial genetic individual to obtain multiple new genetic individuals.

[0133] Step S305, determine whether the second preset condition is met. If the second preset condition is met, then execute steps S305 to S308; if the second preset condition is not met, then execute step S302. Evaluate the fitness of each new genetic individual to obtain the fitness value of each genetic individual, and determine whether the fitness value of each new genetic individual meets the second preset condition. Among them, the second preset condition can be that the fitness value of each new genetic individual is higher than the corresponding preset fitness value; it can also be that the number of new genetic individuals whose fitness values are higher than the corresponding preset fitness values is greater than the preset number; it can also be that the fitness value of each new genetic individual is lower than the corresponding preset fitness value; it can also be that the number of new genetic individuals whose fitness values are lower than the corresponding preset fitness values is greater than the preset number.

[0134] Step S306, simulation processing. Use the preset decoding method to decode each new genetic individual to obtain the elements and element state information corresponding to each new genetic individual; use the elements and element state information corresponding to each new genetic individual to generate multiple test stimuli; input the multiple test stimuli into the simulation model to obtain simulation results; use the preset encoding method to encode the simulation results to obtain multiple new genetic individuals after simulation processing.

[0135] Step S307, determine whether the first preset condition is satisfied. If the first preset condition is satisfied, then execute Step S308; if the first preset condition is not satisfied, then execute Steps S303 to S308. That is, determine whether the obtained genetic iteration result satisfies the first preset condition. If the first preset condition is satisfied, update the multiple new genetic individuals after simulation processing to multiple alternative genetic individuals, and enter the step of evaluating the fitness of each alternative genetic individual to obtain the fitness value corresponding to each alternative genetic individual; if the first preset condition is not satisfied, update the multiple new genetic individuals after simulation processing to multiple initial genetic individuals, and enter the step of performing iterative genetics on each initial genetic individual to obtain multiple new genetic individuals and a genetic iteration result, until the genetic iteration result satisfies the first preset condition to obtain multiple alternative genetic individuals.

[0136] Step S308, unknown state root cause result. Use a preset decoding method to decode each target genetic individual to obtain the element state information corresponding to each target genetic individual; according to the element state information, generate the unknown state root cause result of the to-be-tested target chip.

[0137] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is a better implementation method.

[0138] The embodiment of the present application also provides a device for determining the root cause of the unknown state of a chip, specifically referring to Figure 4 As shown, the device includes: an acquisition module 410, an encoding module 420, a processing module 430, a decoding module 440, and a generation module 450.

[0139] The acquisition module 410 is used to acquire at least one to-be-tested node corresponding to the to-be-tested target chip;

[0140] The encoding module 420 is used to encode each to-be-tested node by using a preset encoding method to generate an initial genetic individual corresponding to each to-be-tested node;

[0141] The processing module 430 is used to perform iterative genetics on each initial genetic individual to obtain at least one target genetic individual;

[0142] The decoding module 440 is used to decode each target genetic individual by using a preset decoding method to obtain the element state information corresponding to each target genetic individual, and the element state information is the state information of the elements in the target to-be-tested node corresponding to the target genetic individual;

[0143] The generation module 450 is used to generate the unknown state root cause result of the to-be-tested target chip according to the element state information.

[0144] In an alternative example, the processing module 430 is specifically configured to perform iterative genetics on each initial genetic individual to obtain a plurality of alternative genetic individuals;

[0145] Perform fitness evaluation on each alternative genetic individual to obtain the fitness value corresponding to each alternative genetic individual;

[0146] Determine the alternative genetic individuals with fitness values greater than or equal to the first preset value as target genetic individuals, and obtain at least one target genetic individual.

[0147] In an alternative example, the processing module 430 is specifically configured to perform iterative genetics on each initial genetic individual to obtain a plurality of new genetic individuals and a genetic iteration result;

[0148] Perform simulation processing on each new genetic individual to obtain a plurality of new genetic individuals after simulation processing;

[0149] In the case where the genetic iteration result meets the first preset condition, update the plurality of new genetic individuals after simulation processing to a plurality of alternative genetic individuals, and enter the step of performing fitness evaluation on each alternative genetic individual to obtain the fitness value corresponding to each alternative genetic individual;

[0150] In the case where the first preset condition is not met, update the plurality of new genetic individuals after simulation processing to a plurality of initial genetic individuals, and enter the step of performing iterative genetics on each initial genetic individual to obtain a plurality of new genetic individuals and a genetic iteration result, until the genetic iteration result meets the first preset condition to obtain a plurality of alternative genetic individuals.

[0151] In an alternative example, the processing module 430 is specifically configured to perform fitness evaluation on each initial genetic individual to obtain the fitness value corresponding to each initial genetic individual;

[0152] Determine the initial genetic individuals with fitness values greater than or equal to the second preset value as parental genetic individuals;

[0153] Perform crossover operations on each parental genetic individual to obtain a plurality of new parental genetic individuals;

[0154] Perform mutation operations on each new parental genetic individual to obtain a plurality of new genetic individuals.

[0155] In an alternative example, the processing module 430 is specifically configured to randomly select a plurality of crossover pairs from a plurality of parental genetic individuals, and each crossover pair includes two parental genetic individuals;

[0156] Randomly select a crossover point for any one of the crossover pairs;

[0157] For two parental genetic individuals in any crossover pair, swap the data at the crossover point to obtain the parental genetic individuals after crossover;

[0158] Multiple new parental genetic individuals are composed of multiple parental genetic individuals and the parental genetic individuals after crossover.

[0159] In an optional example, the processing module 430 is specifically configured to randomly select multiple mutated genetic individuals from multiple new parental genetic individuals;

[0160] Using the mutation genetic factor, perform mutation processing on any mutated genetic individual to obtain multiple mutated genetic individuals after mutation;

[0161] Multiple new genetic individuals are composed of multiple new parental genetic individuals and multiple mutated genetic individuals after mutation.

[0162] In an optional example, the processing module 430 is specifically configured to use to perform mutation processing on any mutated genetic individual to obtain multiple mutated genetic individuals after mutation;

[0163] Or,

[0164] Use to perform mutation processing on any mutated genetic individual to obtain multiple mutated genetic individuals after mutation,

[0165] where, [[]] is used to represent the mutated genetic individual after mutation, [[]] is used to represent the mutated genetic individual, t [[]] t is used to represent the current iteration number, [[]] is used to represent [[]] the lower limit value of the value range where it is located, [[]] is used to represent [[]] the upper limit value of the value range where it is located, Y is used to represent the target mutation function, and the target mutation function is related to the current iteration number.

[0166] In an optional example, the target mutation function:

[0167] where, [[]] is used to represent the target mutation function, y [[]] y is used to represent the weight, r [[]] r is used to represent a random number between 0 and 1, b [[]] b is used to represent a constant, T [[]] T is used to represent the total number of iterations.

[0168] In an optional example, the processing module 430 is specifically configured to use to determine the propagation function; where, xUsed to represent genetic individuals, It is used to indicate the number of nodes propagated by a genetic individual in an unknown state. It is used to represent the length of the path that a genetic individual propagates when it is in an unknown state. Used to represent the propagation function, Used to indicate The weight of Used to indicate The weight of

[0169] use , determine the influence function; where, It is used to indicate the influence of genetic individuals on the transmission delay of the target chip to be tested. It is used to indicate the influence of genetic individuals on the functional failure of the target chip to be tested. It is used to indicate the influence of genetic individuals on the timing requirements of the target chip to be tested. Used to indicate The weight of Used to indicate The weight of Used to indicate The impact of Used to represent influence functions;

[0170] use , determine the resource consumption function; where, It is used to indicate the time consumption of repairing the chip to be tested when the genetic individual is in an unknown state. It is used to indicate the repair resource consumption of the chip to be tested when the genetic individual is in an unknown state. It is used to indicate the resource consumption of redesigning the chip to be tested when the genetic individual is in an unknown state. Used to indicate The weight of Used to indicate The weight of Used to indicate The weight of Used to represent resource consumption function;

[0171] The fitness function is determined based on the fusion results of the propagation function, influence function and resource consumption function.

[0172] In an optional example, the processing module 430 is specifically configured to utilize , determine the fitness function, where Used to represent the fitness function, Used to indicate The weight of Used to indicate The weight of Used to indicate weight.

[0173] In an optional example, the processing module 430 is further configured to perform fitness evaluation on each new genetic individual to obtain the fitness value of each genetic individual;

[0174] Determine whether the fitness values of each genetic individual meet the second preset condition;

[0175] If the fitness values of each genetic individual meet the second preset condition, obtain the genetic iteration result and determine whether the genetic iteration result meets the first preset condition;

[0176] If the fitness values of each genetic individual do not meet the second preset condition, encode each node to be tested using a preset encoding method to regenerate the initial genetic individual corresponding to each node to be tested.

[0177] In an optional example, the processing module 430 is specifically configured to decode each new genetic individual using a preset decoding method to obtain the element and element status information corresponding to each new genetic individual;

[0178] Generate multiple test stimuli using the element and element status information corresponding to each new genetic individual;

[0179] Input the multiple test stimuli into the simulation model to obtain the simulation result;

[0180] Encode the simulation result using a preset encoding method to obtain multiple new genetic individuals after simulation processing.

[0181] For the description of the features in the corresponding embodiment of the root cause determination device for the unknown state of the chip, reference can be made to the relevant description in the corresponding embodiment of the root cause determination method for the unknown state of the chip, which will not be elaborated here one by one.

[0182] An embodiment of the present application provides a device for determining the root cause of an unknown state of a chip. The device uses a preset encoding method to encode at least one node to be tested in a target chip to be tested, and is capable of generating initial genetic individuals corresponding to each node to be tested. Iterative inheritance is performed on the initial genetic individuals corresponding to each generated node to be tested to obtain at least one target genetic individual. That is, the iterative inheritance method is used to obtain at least one target genetic individual that is closest to the true X-state root cause from each initial genetic individual. The at least one target genetic individual is decoded to obtain elemental state information corresponding to the at least one target genetic individual, and the unknown state root cause result of the target chip to be tested is generated based on the obtained elemental state information. Since the initial genetic individuals in this solution can be multiple and can carry multiple types of information, the at least one target genetic individual obtained through iterative inheritance can quickly narrow the scope of investigation and achieve accurate positioning of the source of X-state propagation, thereby improving the efficiency of X-state fault troubleshooting and positioning, thereby solving the problem of low efficiency in locating the source of unknown state of the chip to be tested in related technologies.

[0183] The embodiment of the present application also provides an electronic device, such as Figure 5 As shown, it includes a memory 510 and a processor 520. The memory 510 stores a computer program, and the processor 520 is configured to run the computer program to execute the steps in any of the above-mentioned root cause determination methods for an unknown chip state.

[0184] An embodiment of the present application further provides a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps of any of the above-mentioned root cause determination methods for an unknown chip state when running.

[0185] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.

[0186] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any of the above-mentioned root cause determination methods for an unknown chip state are implemented.

[0187] An embodiment of the present application also provides another computer program product, including a non-volatile computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the steps in any of the above-mentioned root cause determination methods for an unknown chip state.

[0188] Those skilled in the art may further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.

[0189] The above has introduced in detail a method for determining the root cause of an unknown state of a chip, an electronic device, a medium, and a program product provided by this application. Specific examples have been used herein to elaborate on the principle and implementation manner of this application. The description of the above embodiments is only used to help understand the method and its core idea of this application. It should be noted that for those of ordinary skill in the art in this technical field, without departing from the principle of this application, several improvements and modifications can still be made to this application, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A method for determining the root cause of an unknown state of a chip, characterized in that, Including: Obtaining at least one node to be measured corresponding to the target chip to be measured; Encoding each of the nodes to be measured by using a preset encoding method to generate an initial genetic individual corresponding to each of the nodes to be measured; Performing iterative genetics on each of the initial genetic individuals to obtain at least one target genetic individual, the target genetic individual being determined based on a fitness value, and evaluating the fitness value by using a fitness function; The determining method of the fitness function includes: Utilize , determine the propagation function; where is used to represent a genetic individual is used to represent the number of nodes propagated by the genetic individual in the unknown state is used to represent the path length propagated by the genetic individual in the unknown state is used to represent the propagation function is used to represent the weight of is used to represent the weight of; Utilize , to determine the influence function; wherein, is used to represent the influence degree of the genetic individual on the transmission delay of the target chip to be measured, is used to represent the influence degree of the genetic individual on the functional failure of the target chip to be measured, is used to represent the influence degree of the genetic individual on the timing requirement of the target chip to be measured, is used to represent the weight of, is used to represent the weight of, is used to represent the influence degree of, is used to represent the influence function; Utilize , determine a resource consumption function; wherein, is used to represent the repair time consumption of the to-be-tested target chip when the genetic individual is in the unknown state, is used to represent the repair resource consumption of the to-be-tested target chip when the genetic individual is in the unknown state, is used to represent the re-design resource consumption of the to-be-tested target chip when the genetic individual is in the unknown state, is used to represent the weight of, is used to represent the weight of, is used to represent the weight of, is used to represent the resource consumption function; Determining the fitness function based on the fusion result of the propagation function, the influence function, and the resource consumption function; Decoding each of the target genetic individuals by using a preset decoding method to obtain element status information corresponding to each of the target genetic individuals, the element status information being the status information of elements in the target nodes to be measured corresponding to the target genetic individual; Generating a root cause result of the unknown state of the target chip to be measured according to the element status information.

2. The method according to claim 1, characterized in that, Performing iterative genetics on each of the initial genetic individuals to obtain at least one target genetic individual, including: Performing iterative genetics on each of the initial genetic individuals to obtain a plurality of alternative genetic individuals; Performing fitness evaluation on each of the alternative genetic individuals to obtain a fitness value corresponding to each of the alternative genetic individuals; Determining the alternative genetic individuals whose fitness value is greater than or equal to a first preset value as the target genetic individuals to obtain at least one of the target genetic individuals.

3. The method according to claim 2, characterized in that, Performing iterative genetics on each of the initial genetic individuals to obtain a plurality of alternative genetic individuals, including: Performing iterative genetics on each of the initial genetic individuals to obtain a plurality of new genetic individuals and a genetic iteration result; Performing simulation processing on each of the new genetic individuals to obtain the plurality of new genetic individuals after the simulation processing; When the genetic iteration result meets a first preset condition, updating the plurality of new genetic individuals after the simulation processing to the plurality of alternative genetic individuals, and entering the step of performing fitness evaluation on each of the alternative genetic individuals to obtain a fitness value corresponding to each of the alternative genetic individuals; When the first preset condition is not met, updating the plurality of new genetic individuals after the simulation processing to the plurality of initial genetic individuals, and entering the step of performing iterative genetics on each of the initial genetic individuals to obtain a plurality of new genetic individuals and a genetic iteration result until the genetic iteration result meets the first preset condition to obtain the plurality of alternative genetic individuals.

4. The method according to claim 3, characterized in that, Performing iterative genetics on each of the initial genetic individuals to obtain a plurality of new genetic individuals, including: Performing fitness evaluation on each of the initial genetic individuals to obtain a fitness value corresponding to each of the initial genetic individuals; Determining the initial genetic individuals whose fitness value is greater than or equal to a second preset value as parental genetic individuals; Performing a crossover operation on each of the parental genetic individuals to obtain a plurality of new parental genetic individuals; Performing a mutation operation on each of the new parental genetic individuals to obtain the plurality of new genetic individuals.

5. The method according to claim 4, wherein Performing a crossover operation on each of the parental genetic individuals to obtain a plurality of new parental genetic individuals, including: Randomly selecting a plurality of crossover pairs from the plurality of parental genetic individuals, and each crossover pair includes two of the parental genetic individuals; Randomly select a crossover point for any of the said crossover pairs; For the two parental genetic individuals in any of the said crossover pairs, swap the parts of the data after the said crossover point to obtain the parental genetic individuals after crossover; Multiple said new parental genetic individuals are constituted by multiple said parental genetic individuals and the parental genetic individuals after crossover; 6. The method according to claim 4, wherein Perform mutation operations on each of the said new parental genetic individuals to obtain multiple said new genetic individuals, including: Randomly select multiple mutant genetic individuals from multiple said new parental genetic individuals; Use the mutant genetic factor to perform mutation processing on any of the said mutant genetic individuals to obtain multiple mutant genetic individuals after mutation; Multiple said new genetic individuals are constituted by multiple said new parental genetic individuals and multiple mutant genetic individuals after mutation; 7. The method according to claim 6, wherein Use the mutant genetic factor to perform mutation processing on any of the said mutant genetic individuals to obtain multiple mutant genetic individuals after mutation, including: Utilize to perform mutation processing on any one of the mutant genetic individuals to obtain multiple mutant genetic individuals after mutation; Or, Utilize , perform mutation processing on any one of the mutant genetic individuals to obtain multiple mutant genetic individuals after mutation, Among them, is used to represent the mutated genetic individual after mutation, is used to represent the mutated genetic individual, t is used to represent the current iteration number, is used to represent the lower limit value of the value range where it is located, is used to represent the upper limit value of the value range where it is located, Y is used to represent the target mutation function, and the target mutation function is related to the current iteration number.

8. The method according to claim 7, wherein The target mutation function: , where is used to represent the target variation function is used to represent the weight is used to represent a random number between 0 and 1 is used to represent a constant is used to represent the total number of iterations.

9. The method according to claim 1, wherein Determine the fitness function based on the fusion result of the said propagation function, the said influence function, and the said resource consumption function, including: Utilize to determine the fitness function, where is used to represent the fitness function, is used to represent the weight of is used to represent the weight of is used to represent the weight of 10. The method according to claim 3, wherein After performing simulation processing on each of the said new genetic individuals to obtain multiple said new genetic individuals after simulation processing, the method further includes: Perform fitness evaluation on each of the said new genetic individuals to obtain the fitness values of each of the said new genetic individuals; Determine whether the fitness values of each of the said new genetic individuals meet the second preset condition; If the fitness values of each of the said new genetic individuals meet the second preset condition, obtain the genetic iteration result and determine whether the genetic iteration result meets the first preset condition; If the fitness values of each of the said new genetic individuals do not meet the second preset condition, then encode each of the said nodes to be measured using the preset encoding method and regenerate the initial genetic individuals corresponding to each of the said nodes to be measured.

11. The method according to claim 3, characterized in that, Perform simulation processing on each of the said new genetic individuals to obtain multiple said new genetic individuals after simulation processing, including: Decode each of the said new genetic individuals using the preset decoding method to obtain the elements corresponding to each of the said new genetic individuals and the element status information; Generate multiple test stimuli using the elements and the element status information corresponding to each of the said new genetic individuals; Input the multiple said test stimuli into the simulation model to obtain a simulation result; Encode the simulation result using the preset encoding method to obtain multiple said new genetic individuals after simulation processing.

12. An electronic device, characterized in that, Including: A memory for storing a computer program; A processor for implementing the steps of the method for determining the root cause of the unknown state of the chip as described in any one of claims 1 to 11 when executing the computer program.

13. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium, wherein the computer program, when executed by a processor, implements the steps of the method for determining the root cause of the unknown state of the chip as described in any one of claims 1 to 11.

14. A computer program product, comprising a computer program, characterized in that, The computer program, when executed by a processor, implements the steps of the method for determining the root cause of the unknown state of the chip as described in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Verification method and device based on genetic algorithm

    CN119150769A