Stress testing methods and apparatus for target chips, storage media and software products

By generating random excitation sample space and determining random excitation weights, dynamically allocating to multiple channels, the problem of difficult to take into account multi-channel load balancing and reliability in chip stress tests is solved, and effective stress testing for multi-channels is achieved.

CN118643776BActive Publication Date: 2024-12-20SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411097065.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-12
Publication Date
2024-12-20
Estimated Expiration
2044-08-12

AI Technical Summary

Technical Problem

Existing chip stress testing solutions cannot take into account the balance of multi-channel loads and the reliability of stress testing.

Method used

Random excitation sample space is generated by a random function, random excitation weights are determined based on the excitation value, and these random excitation is dynamically allocated to multiple channels of the target chip to realize stress testing on multiple channels.

Benefits of technology

While ensuring the executability of random verification, it effectively evaluates the workload load balancing of each channel, solving the problem that it is difficult to take into account both the load balancing of multi-channel and the reliability of stress testing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118643776B_ABST
    Figure CN118643776B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a method and device, a storage medium and a program product for stress testing a target chip, wherein the method for stress testing a target chip comprises: generating a random excitation sample space of the target chip through a random function, wherein the random excitation sample space comprises a plurality of random excitations, and the plurality of random excitations are used to stress test the target chip; determining random excitation weights of the plurality of random excitations according to the excitation values ​​of the plurality of random excitations; allocating the plurality of random excitations to t channels included in the target chip according to the random excitation weights to stress test the t channels, wherein t is a positive integer; adopting the above scheme solves the problem in the related art that the existing chip stress testing scheme cannot take into account both the balance of multi-channel loads and the reliability of stress testing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computers, and specifically, to a stress testing method and device for a target chip, a storage medium, and a program product. Background Art

[0002] Verification is an indispensable and crucial part of the modern digital IC design process. Its purpose is to ensure that design functions are correctly implemented according to established design specifications. The core tasks of verification are developing test stimuli and executing verification use cases. Specifically, this involves developing test stimuli that fully verify the functionality of a chip or IP core, instructing the IP core to trigger the functional flow, and verifying that the execution process is consistent with expectations.

[0003] To improve performance, chips often instantiate a function into multiple channels, enabling concurrent execution of the same function across multiple channels. Verification of such designs must consider not only the correctness of each channel's functionality but also the correctness of multi-channel concurrency, further considering multi-channel stress testing and its reliability. Current research in this area focuses on both multi-channel concurrency and stress testing, proposing numerous effective testing methods. However, little attention has been paid to the reliability of stress testing.

[0004] In the related art, the existing chip stress test solution cannot take into account the technical problem of multi-channel load balance and stress test reliability, and no effective solution has been proposed yet. Summary of the Invention

[0005] The embodiments of the present application provide a target chip stress testing method and device, storage medium and program product to at least solve the problem in the related art that the existing chip stress testing scheme cannot take into account the balance of multi-channel load and the reliability of stress testing.

[0006] According to one embodiment of the present application, a stress testing method for a target chip is provided, comprising: generating a random excitation sample space for the target chip through a random function, wherein the random excitation sample space includes a plurality of random excitations, and the plurality of random excitations are used to stress test the target chip; determining random excitation weights of the plurality of random excitations based on excitation values ​​of the plurality of random excitations; and distributing the plurality of random excitations to t channels included in the target chip based on the random excitation weights to stress test the t channels, wherein t is a positive integer.

[0007] In an exemplary embodiment, before determining the random incentive weights of the multiple random incentives based on the incentive values ​​of the multiple random incentives, the method further includes: counting the means and standard deviations of the multiple incentive values; determining a normal distribution curve corresponding to the random incentive sample space based on the means and the standard deviations; and dividing the normal distribution curve into intervals based on t to obtain a first number of incentive value intervals, wherein the incentive value intervals include positive incentive value intervals and negative incentive value intervals, and the number of the positive incentive value intervals is the same as that of the negative incentive value intervals.

[0008] In an exemplary embodiment, determining the random incentive weights of the multiple random incentives based on the incentive values ​​of the multiple random incentives includes: determining the random incentive weight corresponding to each incentive value interval based on the area ratio of each incentive value interval in the first number of incentive value intervals in the normal distribution curve; and determining the random incentive weight of the corresponding random incentive based on the incentive value interval in which the incentive value is located.

[0009] In an exemplary embodiment, the determining of the random incentive weight corresponding to each incentive value interval in the first number of incentive value intervals based on the area ratio of each incentive value interval in the normal distribution curve includes: determining the size of multiple incentive values ​​corresponding to a target incentive value interval in the first number of incentive value intervals and the mean; when the multiple incentive values ​​are all greater than the mean, determining the target incentive value interval as a positive incentive value interval, and determining the area ratio corresponding to the target incentive value interval as the random incentive weight of the target incentive value interval; when the multiple incentive values ​​are all less than the mean, determining the target incentive value interval as a negative incentive value interval, and determining the inverse of the area ratio corresponding to the target incentive value interval as the random incentive weight of the target incentive value interval.

[0010] In an exemplary embodiment, the step of dividing the normal distribution curve into intervals according to t to obtain a plurality of incentive value intervals includes: dividing the normal distribution curve into intervals according to the three standard deviation principle to obtain a second number of incentive value intervals; m In the case of t=2*2, the second number of stimulus value intervals are processed according to m to obtain the first number of stimulus value intervals, wherein m is an integer; m *n, the second number of stimulus value intervals are processed according to n, and the obtained third number of stimulus value intervals are processed according to m to obtain the first number of stimulus value intervals, wherein n is an odd number and the third number is twice n.

[0011] In an exemplary embodiment, the processing of the second number of stimulus value intervals according to m to obtain the first number of stimulus value intervals includes: when m is less than a first value, determining a merging coefficient =2 2-m ,in, is a positive integer; according to the merging coefficient, the positive incentive value interval and the negative incentive value interval are merged in order from small to large to obtain the first number of incentive value intervals, wherein the merging coefficient is used to indicate the number of incentive value intervals to be merged.

[0012] In an exemplary embodiment, the processing of the second number of stimulus value intervals according to m to obtain the first number of stimulus value intervals includes: when m is greater than a first value, determining a split coefficient =2 m-2 ,in, is a positive integer; the second number of incentive value intervals are proportionally split according to the split coefficient to obtain the first number of incentive value intervals, wherein the split coefficient is used to determine the split ratio of the proportional splitting of the incentive value interval.

[0013] In an exemplary embodiment, the processing of the second number of incentive value intervals according to n includes: when n is less than a second value, sorting the multiple positive incentive value intervals and the multiple negative incentive value intervals in the second number of incentive value intervals from small to large according to the area ratio; merging the fourth number of positive incentive value intervals that are ranked higher in the multiple positive incentive value intervals, and merging the fourth number of negative incentive value intervals that are ranked higher in the multiple negative incentive value intervals to obtain the third number of incentive value intervals, wherein n=x-y+1, 2x is the second number, and y is the fourth number.

[0014] In an exemplary embodiment, the processing of the second number of incentive value intervals according to n includes: when n is greater than a second value, sorting the multiple positive incentive value intervals and the multiple negative incentive value intervals in the second number of incentive value intervals from large to small according to the area ratio; when n is less than a third value, splitting the top fifth number of positive incentive value intervals in the multiple positive incentive value intervals in half, and splitting the top fifth number of negative incentive value intervals in the multiple negative incentive value intervals in half, to obtain the third number of incentive value intervals, wherein n=xz, 2x is the second number, and z is the fifth number.

[0015] In an exemplary embodiment, after sorting the plurality of positive incentive value intervals and the plurality of negative incentive value intervals in the second number of incentive value intervals from large to small according to the area ratio, the method further includes: when n is greater than the third value, determining the second number of incentive value intervals as the first incentive value space; a splitting step: splitting the plurality of first incentive value spaces in half in sequence to obtain a second incentive value space; when the number of the second incentive value spaces is less than the sixth number, taking the second incentive value space as the first incentive value space, and cyclically performing the splitting step, wherein the sixth number is based on n is determined; when the number of the second incentive value spaces is equal to the sixth number, the multiple second positive incentive value intervals and the multiple second negative incentive value intervals in the sixth number of the second incentive value spaces are sorted from large to small according to the area ratio; the seventh number of positive incentive value intervals ranked first in the multiple second positive incentive value intervals are split in half in sequence, and the seventh number of negative incentive value intervals ranked first in the multiple second negative incentive value intervals are split in half in sequence, to obtain the third number of incentive value intervals, wherein b=(2n-a) / 2, b is the seventh number, and a is the sixth number.

[0016] In an exemplary embodiment, allocating the multiple random stimuli to t channels included in the target chip according to the random stimulus weights includes: sequentially traversing the random stimulus sample space and storing multiple first random stimuli in a temporary queue, wherein the capacity of the temporary queue is t and the random stimulus weights of the multiple first random stimuli in the temporary queue are different; when the temporary queue is full, respectively allocating the t first random stimuli in the temporary queue to t channels, and determining current cumulative weights of the t channels according to the first random stimulus weights of the t first random stimuli; continuing to traverse the random stimulus sample space, matching a target channel among the t channels according to a second random stimulus weight of a second random stimulus, and allocating the second random stimulus to the target channel, wherein the second random stimulus weight is the inverse of the current cumulative weight of the target channel; updating the current cumulative weight of the target channel according to the second random stimulus, and determining that one random stimulus allocation has been completed for the t channels when it is determined that the current cumulative weights of the t channels are all target values; and performing multiple random stimulus allocations on the t channels until the number of random stimuli allocated to the t channels reaches a preset number.

[0017] According to another embodiment of the present application, a stress testing device for a target chip is provided, comprising: a generation module for generating a random excitation sample space of the target chip through a random function, wherein the random excitation sample space includes multiple random excitations, and the multiple random excitations are used to perform stress testing on the target chip; a determination module for determining random excitation weights of the multiple random excitations based on the excitation values ​​of the multiple random excitations; and a distribution module for distributing the multiple random excitations to t channels included in the target chip according to the random excitation weights, so as to perform stress testing on the t channels, wherein t is a positive integer.

[0018] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored. The computer program is configured to execute the steps of any one of the above method embodiments when run.

[0019] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0020] According to another embodiment of the present application, a computer program product is provided, including a computer program, which implements the steps of the method described in each embodiment of the present application when executed by a processor.

[0021] Through the present application, a plurality of random excitations for stress testing a target chip are first generated by a random function to obtain a random excitation sample space; then, the random excitation weights of these random excitations are determined according to the excitation values ​​of these random excitations; finally, these random excitations are distributed to t channels of the target chip according to the random excitation weights to complete the stress test of these t channels, where t is a positive integer; by adopting the above scheme, the random excitations are dynamically and evenly distributed to each channel by assigning weights to the random excitations, so that the workload balance of each channel can be effectively evaluated while retaining the executableness of random verification; thereby solving the problem in the related art that the existing chip stress testing scheme cannot take into account the balance of multi-channel loads and the reliability of stress testing. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 1 is a hardware structure block diagram of a stress testing method for a target chip according to an embodiment of the present application;

[0023] Figure 2 is a flow chart of a stress testing method for a target chip according to the present application;

[0024] Figure 3 is a schematic diagram of area distribution of an optional normal distribution curve according to an embodiment of the present application;

[0025] Figure 4 This is a flow chart of an optional method for dynamically balancing test stimulus allocation according to an embodiment of the present application;

[0026] Figure 5 This is a schematic diagram of an application scenario of an optional target chip stress testing method according to an embodiment of the present application;

[0027] Figure 6 This is a structural block diagram of a stress testing device for a target chip according to an embodiment of the present application. DETAILED DESCRIPTION

[0028] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0029] It should be noted that the terms "first", "second", etc. in the description and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0030] The method embodiments provided in the embodiments of the present application can be executed in a computer terminal or similar computing device. Taking running on a computer terminal as an example, Figure 1 This is a hardware structure block diagram of a computer terminal for a method of determining a mapping relationship according to an embodiment of the present application. Figure 1 As shown, the computer terminal may include one or more ( Figure 1 Only one is shown) a processor 102 (the processor 102 may include but is not limited to a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data. The computer terminal may also include a transmission device 106 and an input / output device 108 for communication functions. It will be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above-mentioned computer terminal. For example, the computer terminal may also include Figure 1 More or fewer components than shown, or with Figure 1 Different configurations shown.

[0031] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for determining the mapping relationship in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories can be connected to the computer terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof.

[0032] Transmission device 106 is used to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by a computer terminal's communications provider. In one embodiment, transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0033] The following is an explanation of the professional terms used in this application:

[0034] IP: Intellectual Property, a hardware description language program with specific circuit functions. This program is independent of the integrated circuit process and can be transplanted to different semiconductor processes to produce integrated circuit chips.

[0035] IC: Integrated Circuit, abbreviated as IC, also known as microcircuit, microchip, chip / chip. In electronics, it is a way to miniaturize circuits (mainly including semiconductor devices, but also passive components, etc.) and is often manufactured on the surface of semiconductor wafers.

[0036] Multichannel: multichannel, the computer has multiple information input and output channels corresponding to the human sensory system.

[0037] In this embodiment, a stress test method for a target chip is provided. Figure 2 FIG. 1 is a flow chart of a method for stress testing a target chip according to an embodiment of the present application. Figure 2 As shown, the stress testing method of the target chip includes:

[0038] Step S202: generating a random stimulus sample space of the target chip by using a random function, wherein the random stimulus sample space includes a plurality of random stimuli, and the plurality of random stimuli are used to perform a stress test on the target chip;

[0039] Step S204, determining random incentive weights of the multiple random incentives according to the incentive values ​​of the multiple random incentives;

[0040] Step S206 : Allocating the multiple random stimuli to t channels included in the target chip according to the random stimulus weights to perform stress testing on the t channels, where t is a positive integer.

[0041] Using the above scheme, a plurality of random stimuli for stress testing a target chip are first generated by a random function to obtain a random stimulus sample space; then, random stimulus weights of these random stimuli are determined according to their stimulus values; finally, these random stimuli are distributed to t channels of the target chip according to the random stimulus weights to complete the stress test of these t channels, where t is a positive integer; using the above scheme, by assigning weights to the random stimuli, the random stimuli are dynamically and evenly distributed to each channel, so that the workload balance of each channel can be effectively evaluated while retaining the executableness of random verification; thereby solving the problem in the related art that the existing chip stress testing scheme cannot take into account both the balance of multi-channel loads and the reliability of stress testing.

[0042] Optionally, before determining the random incentive weights of the multiple random incentives based on the incentive values ​​of the multiple random incentives, the method also includes: counting the mean and standard deviation of the multiple incentive values; determining the normal distribution curve corresponding to the random incentive sample space based on the mean and the standard deviation; dividing the normal distribution curve into intervals according to t to obtain a first number of incentive value intervals, wherein the incentive value intervals include positive incentive value intervals and negative incentive value intervals, and the number of the positive incentive value intervals is the same as that of the negative incentive value intervals.

[0043] Theoretically, the larger the sample space, the better, but this is not practical. Therefore, the size of the sample space is selected to be twice or more than the number of stress tests (equivalent to the above-mentioned preset number). Select the sample space (i.e. the random incentive sample space mentioned above) , where X i is the workload value, , n is the size of the sample space. The normal distribution characteristic mean is calculated by the formula and standard deviation The statistics are as follows:

[0044] , .

[0045] Thus, a normal distribution curve corresponding to the random excitation sample space is drawn according to the mean and standard deviation; then the normal distribution curve is divided into intervals according to the number t of multiple channels to obtain a first number of excitation value intervals, and the excitation value interval uses the excitation value as the mean as the boundary, the negative excitation value interval is to the left of the boundary, and the positive excitation value interval is to the right of the boundary, and the number of positive and negative excitation value intervals is the same.

[0046] Through the above embodiment, according to the normal distribution characteristics of random excitation, the corresponding normal distribution curve is constructed, and the normal distribution curve is divided into intervals according to the number of channels, so that the random excitation weight of the random excitation can be determined according to the interval where the random excitation is located.

[0047] Optionally, determining the random incentive weights of the multiple random incentives based on the incentive values ​​of the multiple random incentives includes: determining the random incentive weight corresponding to each incentive value interval based on the area ratio of each incentive value interval in the first number of incentive value intervals in the normal distribution curve; and determining the random incentive weight of the corresponding random incentive based on the incentive value interval in which the incentive value is located.

[0048] The process of assigning a random incentive weight to a random incentive according to the incentive value of the random incentive includes: first determining the area ratio of each incentive value interval in a first number of incentive value intervals obtained after interval division in a normal distribution curve, and determining the random incentive weight corresponding to each incentive value interval according to the area ratio; then determining the random incentive weight of the random incentive according to the incentive value interval in which the incentive value is located.

[0049] Through this embodiment, a random excitation weight is assigned to each random excitation according to the normal distribution curve characteristics of the random excitation and the number of channels of the target chip, so that dynamic balanced distribution of random excitations can be achieved according to the random excitation weight when random excitations are subsequently distributed to channels.

[0050] Furthermore, the random incentive weight corresponding to each incentive value interval in the first number of incentive value intervals is determined based on the area ratio of each incentive value interval in the normal distribution curve, including: determining the size of multiple incentive values ​​corresponding to the target incentive value interval in the first number of incentive value intervals and the mean; when the multiple incentive values ​​are all greater than the mean, determining the target incentive value interval as a positive incentive value interval, and determining the area ratio corresponding to the target incentive value interval as the random incentive weight of the target incentive value interval; when the multiple incentive values ​​are all less than the mean, determining the target incentive value interval as a negative incentive value interval, and determining the inverse of the area ratio corresponding to the target incentive value interval as the random incentive weight of the target incentive value interval.

[0051] In order to ensure the dynamic and balanced distribution of random incentives, this application divides the left and right sides of the normal distribution curve on the left and right sides of the mean into negative incentive value intervals and positive incentive value intervals according to the symmetry of the normal distribution curve on both sides of the mean; the weight of the negative incentive value interval is assigned a negative value, and the weight of the positive incentive value interval is assigned a positive value. The left and right sides are symmetrical with each other, and the weight values ​​are opposite to each other. Therefore, when it is determined that the target incentive value interval is on the right side of the mean (that is, the incentive values ​​are all greater than the mean), it is determined to be a positive incentive value interval, and then its area ratio is determined as the random incentive weight; if it is determined that the target incentive value interval is on the left side of the mean (that is, the incentive values ​​are all less than the mean), it is determined to be a negative incentive value interval, and then the opposite of its area ratio is determined as the random incentive weight corresponding to the interval.

[0052] Optionally, the area ratio value may be multiplied by a certain multiple to serve as the random excitation weight of the corresponding interval, such as 10 times, 100 times, etc. This application does not impose any restrictions on this.

[0053] Optionally, dividing the normal distribution curve into intervals according to t to obtain multiple incentive value intervals includes: dividing the normal distribution curve into intervals according to the three standard deviation principle to obtain a second number of incentive value intervals; at t=2*2 m In the case of t=2*2, the second number of stimulus value intervals are processed according to m to obtain the first number of stimulus value intervals, wherein m is an integer; m *n, the second number of stimulus value intervals are processed according to n, and the obtained third number of stimulus value intervals are processed according to m to obtain the first number of stimulus value intervals, wherein n is an odd number and the third number is twice n.

[0054] Usually, the number of channels in a multi-channel design is an even number. According to the three standard deviation principle (also known as the 3 sigma principle), the normal distribution curve is divided into 8 intervals (also known as the second number of stimulus value intervals mentioned above). The area distribution of the normal distribution curve is shown as follows: Figure 3 As shown. The area ratio of each interval is also determined. The corresponding relationship between the eight intervals and their area ratios is shown in Table 1. Explicitly, these eight intervals can directly correspond to the eight channels. To ensure that the cumulative sum of the channel weights is 0, the corresponding weight parameters of each interval (i.e., the area ratios mentioned above) are converted into weight coefficients (i.e., random excitation weights). The conversion results are shown in Table 1.

[0055] If the number of channels t=2*2 m , then the second number of stimulus value intervals are processed according to the m value to obtain the first number of stimulus value intervals; and if t=2*2 m *n, where n is an odd number greater than 1, the second number of stimulus value intervals is first processed according to n to obtain a third number of stimulus value intervals, and then the obtained third number of stimulus value intervals is processed according to m to obtain the first number of stimulus value intervals. The third number is twice n.

[0056] Table 1 3 Sigma principle interval division and weight conversion

[0057]

[0058] When the number of channels is different, the way to divide the normal distribution curve into intervals is also different. When the number of channels is 8, that is, t=2*2 m , when m=2, the weight division can be performed directly in the manner shown in Table 1 without additional processing; however, when the number of channels is not 8, other division methods need to be used for processing. The following introduces different division methods in combination with several optional embodiments:

[0059] In a first optional embodiment, the processing of the second number of stimulus value intervals according to m to obtain the first number of stimulus value intervals includes: when m is less than a first value, determining a merging coefficient =2 2-m ,in, is a positive integer; according to the merging coefficient, the positive incentive value interval and the negative incentive value interval are merged in order from small to large to obtain the first number of incentive value intervals, wherein the merging coefficient is used to indicate the number of incentive value intervals to be merged.

[0060] In the embodiment of the present application, if m is less than 2 (i.e. the first value), it means that the number of channels is less than 8, and the original divided intervals need to be merged into two groups, the left and right groups, and the weight coefficient of the merged interval is the sum of the weight coefficients of the original multiple intervals. =2 2-m , according to each The left and right groups of intervals are merged respectively. The merging principle is from left to right. intervals to be merged. For example, when m=1, = 2, and the number of channels is 4. The left and right groups of intervals are each merged into 2 groups, that is, 4 intervals are merged into 2. The interval division and weight coefficients after the merger are shown in Table 2. In Table 2, the interval numbers in the first column are the original division intervals, and the interval numbers in the second column are the newly merged intervals.

[0061] Table 2 =2 time interval merging and weight coefficient

[0062]

[0063] In a second optional embodiment, the processing of the second number of stimulus value intervals according to m to obtain the first number of stimulus value intervals includes: when m is greater than a first value, determining a split coefficient =2 m-2 ,in, is a positive integer; the second number of incentive value intervals are proportionally split according to the split coefficient to obtain the first number of incentive value intervals, wherein the split coefficient is used to determine the split ratio of the proportional splitting of the incentive value interval.

[0064] When m is greater than 2 and the number of channels is greater than 8, the original partition interval needs to be split into two groups in a geometric ratio. The weight coefficient of the interval after the split is the proportional split of the original interval weight coefficient. =2 m-2 , that is, split the four groups of intervals on the left and right respectively. The splitting principle is to split each interval into equal proportions one by one. For example, when m=3, =2, and the number of channels is 16. Then each interval needs to be split into 2 in equal proportions one by one. The interval division and weight coefficients after the split are shown in Table 3. In Table 3, the interval labels in the first column are the original divided intervals, and the interval labels in the second column are the newly split intervals.

[0065] Table 3 =2 time interval splitting and weight coefficient

[0066]

[0067] In a third optional embodiment, the processing of the second number of incentive value intervals according to n includes: when n is less than a second value, sorting the multiple positive incentive value intervals and the multiple negative incentive value intervals in the second number of incentive value intervals from small to large according to the area ratio; merging the fourth number of positive incentive value intervals that are ranked higher among the multiple positive incentive value intervals, and merging the fourth number of negative incentive value intervals that are ranked higher among the multiple negative incentive value intervals, to obtain the third number of incentive value intervals, wherein n=x-y+1, 2x is the second number, and y is the fourth number.

[0068] Based on the value of n, the left and right groups of four intervals are merged or split, resulting in n intervals on each side. When n is less than 4 (for example, n=3), the original four intervals are merged, with the principle of merging the two intervals with the smallest areas. Therefore, it is necessary to first sort the positive and negative intervals in the second number of incentive value intervals from smallest to largest by area percentage, and then merge the top y positive / negative intervals to obtain the third number of incentive value intervals.

[0069] In a fourth optional embodiment, the processing of the second number of incentive value intervals according to n includes: when n is greater than a second value, sorting the multiple positive incentive value intervals and the multiple negative incentive value intervals in the second number of incentive value intervals from large to small according to the area ratio; when n is less than a third value, splitting the top fifth number of positive incentive value intervals in the multiple positive incentive value intervals in half, and splitting the top fifth number of negative incentive value intervals in the multiple negative incentive value intervals in half, to obtain the third number of incentive value intervals, wherein n=xz, 2x is the second number, and z is the fifth number.

[0070] When n is greater than 4, the original 4 intervals on the left and right are split. The splitting principle is to start from the interval with the largest area ratio and split them in half one by one. Therefore, it is necessary to first sort the positive incentive value intervals and the negative incentive value intervals according to the area ratio from large to small, and then split the top z positive incentive value intervals in half in turn, so as to obtain n incentive value intervals on the left and right, that is, the third number of incentive value intervals mentioned above.

[0071] In a fifth optional embodiment, after sorting the plurality of positive incentive value intervals and the plurality of negative incentive value intervals in the second number of incentive value intervals from large to small according to the area ratio, the method further includes: when n is greater than the third value, determining the second number of incentive value intervals as the first incentive value space; a splitting step: splitting the plurality of first incentive value spaces in half in sequence to obtain a second incentive value space; when the number of the second incentive value spaces is less than the sixth number, taking the second incentive value space as the first incentive value space, and cyclically executing the splitting step, wherein the sixth number is based on n is determined; when the number of the second incentive value spaces is equal to the sixth number, the multiple second positive incentive value intervals and the multiple second negative incentive value intervals in the sixth number of the second incentive value spaces are sorted from large to small according to the area ratio; the seventh number of positive incentive value intervals ranked first in the multiple second positive incentive value intervals are split in half in sequence, and the seventh number of negative incentive value intervals ranked first in the multiple second negative incentive value intervals are split in half in sequence, to obtain the third number of incentive value intervals, wherein b=(2n-a) / 2, b is the seventh number, and a is the sixth number.

[0072] When n is greater than 8, even after splitting the four left and right intervals, the number n cannot be met. At this time, it is necessary to continue splitting the eight left and right stimulus value intervals one by one starting from the interval with the largest area, and repeat the cycle until the number of intervals on each side meets n.

[0073] After processing the second number of stimulus value intervals according to n, it is necessary to continue processing the third number of stimulus value intervals according to the schemes described in the first and second optional embodiments to obtain final interval division and weight coefficient allocation results.

[0074] Through the above optional embodiments, different weight distribution methods are adopted when the number of channels is different, so that the present application can meet the requirements of dynamic and balanced distribution of random excitations in application scenarios with different numbers of channels.

[0075] Optionally, allocating the multiple random excitations to the t channels included in the target chip according to the random excitation weights includes: traversing the random excitation sample space in sequence, storing multiple first random excitations in a temporary queue, wherein the capacity of the temporary queue is t, and the random excitation weights of the multiple first random excitations in the temporary queue are different; when the temporary queue is full, allocating the t first random excitations in the temporary queue to t channels respectively, and determining the current cumulative weights of the t channels according to the first random excitation weights of the t first random excitations; continuing to traverse the random excitation sample space, matching a target channel among the t channels according to a second random excitation weight of a second random excitation, and allocating the second random excitation to the target channel, wherein the second random excitation weight and the current cumulative weight of the target channel are the inverse of each other; updating the current cumulative weight of the target channel according to the second random excitation, and when it is determined that the current cumulative weights of the t channels are all target values, determining that one random excitation allocation is completed for the t channels; performing multiple random excitation allocations on the t channels until the number of random excitations allocated to the t channels reaches a preset number.

[0076] After the random incentive weight distribution is completed, the cumulative weight of each channel in the t channels is set (that is, the current cumulative weight mentioned above) , dynamic random excitation is assigned to these t channels according to the following steps:

[0077] Step 1: Traverse multiple random stimuli in the random stimulus sample space in sequence, discard random stimuli that generate repeated weights (i.e., repeated random stimuli weights) directly until t random stimuli with different weight values ​​are obtained. Then, these t random stimuli are randomly assigned to t channels, and the current cumulative weights of these t channels are updated;

[0078] Step 2: Continue to traverse the random incentive sample space, according to the random incentive weight of the second random incentive, according to According to the principle, each channel is matched and allocated until all channels meet the , random excitations of repeated weights traversed during the matching process are directly discarded;

[0079] Step 3: Repeat steps 1 and 2 until the incentive allocation result meets the requirements of the number of stress tests (i.e. the above-mentioned preset number of times).

[0080] Through this embodiment, different random excitations are evenly distributed to different channels according to their different random excitation weights, thereby meeting the requirement that the random excitations distributed to different channels are random and balanced as a whole.

[0081] In an optional embodiment, the present application proposes a method for dynamic balanced distribution of test incentives, the process is as follows: Figure 4 As shown, the following steps are included:

[0082] Step 4.1, start;

[0083] Step 4.2, calculate the mean and standard deviation of random excitations in the random excitation sample space;

[0084] Step 4.3: Determine the weight allocation strategy based on the number of channels. If the number of channels t=2*2 m , then adopt strategy 1; if the number of channels t=2*2 m *n, then adopt strategy 2;

[0085] Step 4.4: Determine the merging coefficient based on the m value or split factor , merge or split the stimulus value intervals and execute step 4.6;

[0086] Step 4.5: Merge or split the stimulus value intervals according to the value of n, and then execute step 4.6;

[0087] Step 4.6: Divide the random incentive weight coefficient (i.e., the above-mentioned random incentive weight) according to the divided incentive value interval;

[0088] Step 4.7: Initialize the current cumulative weight of each channel ;

[0089] Step 4.8: Determine whether the current cumulative weights of all channels are 0. If so, proceed to step 4.9; if not, proceed to step 5.0;

[0090] Step 4.9: Randomly generate n random excitations with different weight values ​​and randomly assign them to each channel;

[0091] Step 5.0: Randomly generate n incentives with different weight values, according to The principle of assigning it to each channel;

[0092] Step 5.1: Determine whether the number of random stimuli allocated to each channel meets the stress testing requirements. If so, proceed to step 5.2; otherwise, return to step 4.8.

[0093] Step 5.2, end.

[0094] The following is an implementation of a RAID5 array stripe data conversion four-channel (ch0, ch1, ch2, ch3) controller. Figure 4 The test stimulus dynamic balanced allocation method is described with an implementation example.

[0095] The controller takes raid5 array as the control object, where the number of disks in raid5 array ( ) is a key input parameter. This parameter affects the organizational structure and data volume of data conversion. Therefore, controller verification requires dynamic and balanced allocation of this parameter across four channels to ensure a balanced total data volume across the four channels while also ensuring randomness within each test.

[0096] According to the disk value range, the normal distribution N (16, 42) is selected as the basis for the random excitation weight distribution of the four channels. According to the random excitation weight distribution method described in this application, the 3 sigma principle interval division and weight coefficient are shown in Table 4.

[0097] Table 4 Interval division and weight coefficient

[0098]

[0099] According to the random incentive dynamic balanced allocation strategy described in steps 1 to 3 above, the dynamic allocation implementation steps are as follows:

[0100] Generate random incentives in sequence, and the first 100 incentive values ​​are:

[0101] 1. Assign random excitation to each channel in turn:

[0102] The incentive 19 is assigned to ch0, ch0={19,}, and its weight is recorded as ;

[0103] The incentive 12 is assigned to ch1, ch1={12,}, and its weight is recorded as ;

[0104] Incentive 16 weights are repeated and discarded;

[0105] The incentive 25 is assigned to ch2, ch2={25,}, and its weight is recorded as ;

[0106] Incentive 18 weights are repeated and discarded;

[0107] The incentive 5 is assigned to ch3, out3 = {5,}, and its weight is recorded as ;

[0108] At this point, step 1 allocation is completed.

[0109] Step 2: Continue to distribute incentives based on the principle of balance:

[0110] The incentive 17 is assigned to ch0, ch0={19,17,}, and its weight is recorded as ;

[0111] The incentive 12 is assigned to ch2, ch2={25,12,}, and its weight is recorded as ;

[0112] Incentive 11 abandonment;

[0113] The incentive 18 is assigned to ch1, ch1={12,18}, and its weight is recorded as ;

[0114] Incentive 17 abandonment;

[0115] The incentive 28 is assigned to ch3, ch3={5,28,}, and its weight is recorded as ;

[0116] At this point, step 2 allocation is completed.

[0117] Step 3: Repeat steps 1 and 2 until the incentive allocation results meet the requirements of the number of stress tests.

[0118] Through the above method, on the one hand, the workload balance of each channel can be effectively evaluated, and on the other hand, the executableness of random verification can be effectively retained, so that each channel can be stress tested under a dynamic balanced load, thereby providing trigger conditions for the simultaneous flipping of the design code of each channel, further improving the coverage of multi-channel verification.

[0119] Figure 5 FIG. 1 is a schematic diagram of an application scenario of an optional target chip stress test method according to an embodiment of the present application. Figure 5 As shown, the chip sends the number of channels it contains and the stress test requirements (for example, the number of stress tests, the range of random excitation values, etc.) to the computer terminal. The computer terminal uses the stress testing method of the target chip provided in this application to randomly allocate excitations to multiple channels contained in the chip, so that the chip can complete the stress test. By adopting this scheme, by allocating weights to the random excitations, the random excitations are dynamically and evenly allocated to each channel, so that the workload balance of each channel can be effectively evaluated while retaining the executableness of random verification. This solves the problem in the related art that the existing chip stress testing scheme cannot take into account the balance of multi-channel loads and the reliability of stress testing.

[0120] Through the description of the above embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the existing technology, can be embodied in the form of a software product. The computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0121] This embodiment also provides a target chip stress test device, which is used to implement the above-mentioned embodiments and preferred embodiments. Details that have already been described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.

[0122] Figure 6 FIG. 1 is a structural block diagram of a stress test device for a target chip according to an embodiment of the present application. Figure 6 As shown, the device includes:

[0123] A generating module 62 is configured to generate a random stimulus sample space of the target chip using a random function, wherein the random stimulus sample space includes a plurality of random stimuli, and the plurality of random stimuli are used to perform a stress test on the target chip;

[0124] a determination module 64, configured to determine random incentive weights of the plurality of random incentives according to incentive values ​​of the plurality of random incentives;

[0125] The allocation module 66 is configured to allocate the multiple random stimuli to t channels included in the target chip according to the random stimulus weights, so as to perform stress testing on the t channels, where t is a positive integer.

[0126] Through the present application, a plurality of random excitations for stress testing a target chip are first generated by a random function to obtain a random excitation sample space; then, the random excitation weights of these random excitations are determined according to the excitation values ​​of these random excitations; finally, these random excitations are distributed to t channels of the target chip according to the random excitation weights to complete the stress test of these t channels, where t is a positive integer; by adopting the above scheme, the random excitations are dynamically and evenly distributed to each channel by assigning weights to the random excitations, so that the workload balance of each channel can be effectively evaluated while retaining the executableness of random verification; thereby solving the problem in the related art that the existing chip stress testing scheme cannot take into account the balance of multi-channel loads and the reliability of stress testing.

[0127] Optionally, the above-mentioned determination module 64 is also used to count the mean and standard deviation of multiple incentive values; determine the normal distribution curve corresponding to the random incentive sample space based on the mean and the standard deviation; divide the normal distribution curve into intervals according to t to obtain a first number of incentive value intervals, wherein the incentive value intervals include positive incentive value intervals and negative incentive value intervals, and the number of the positive incentive value intervals is the same as that of the negative incentive value intervals.

[0128] Theoretically, the larger the sample space, the better, but this is not practical. Therefore, the size of the sample space is selected to be twice or more than the number of stress tests (equivalent to the above-mentioned preset number). Select the sample space (i.e. the random incentive sample space mentioned above) , where X i is the workload value, , n is the size of the sample space. The normal distribution characteristic mean is calculated by the formula and standard deviation The statistics are as follows:

[0129] , .

[0130] Thus, a normal distribution curve corresponding to the random excitation sample space is drawn according to the mean and standard deviation; then the normal distribution curve is divided into intervals according to the number t of multiple channels to obtain a first number of excitation value intervals, and the excitation value interval uses the excitation value as the mean as the boundary, the negative excitation value interval is to the left of the boundary, and the positive excitation value interval is to the right of the boundary, and the number of positive and negative excitation value intervals is the same.

[0131] Through the above embodiment, according to the normal distribution characteristics of random excitation, the corresponding normal distribution curve is constructed, and the normal distribution curve is divided into intervals according to the number of channels, so that the random excitation weight of the random excitation can be determined according to the interval where the random excitation is located.

[0132] Optionally, the above-mentioned determination module 64 is also used to determine the random incentive weight corresponding to each incentive value interval according to the area ratio of each incentive value interval in the first number of incentive value intervals in the normal distribution curve; and determine the random incentive weight of the corresponding random incentive according to the incentive value interval in which the incentive value is located.

[0133] The process of assigning a random incentive weight to a random incentive according to the incentive value of the random incentive includes: first determining the area ratio of each incentive value interval in a first number of incentive value intervals obtained after interval division in a normal distribution curve, and determining the random incentive weight corresponding to each incentive value interval according to the area ratio; then determining the random incentive weight of the random incentive according to the incentive value interval in which the incentive value is located.

[0134] Through this embodiment, a random excitation weight is assigned to each random excitation according to the normal distribution curve characteristics of the random excitation and the number of channels of the target chip, so that dynamic balanced distribution of random excitations can be achieved according to the random excitation weight when random excitations are subsequently distributed to channels.

[0135] Optionally, the above-mentioned determination module 64 is also used to determine the size of multiple incentive values ​​corresponding to the target incentive value interval in the first number of incentive value intervals and the mean; when the multiple incentive values ​​are all greater than the mean, the target incentive value interval is determined to be a positive incentive value interval, and the area ratio corresponding to the target incentive value interval is determined as the random incentive weight of the target incentive value interval; when the multiple incentive values ​​are all less than the mean, the target incentive value interval is determined to be a negative incentive value interval, and the inverse of the area ratio corresponding to the target incentive value interval is determined as the random incentive weight of the target incentive value interval.

[0136] In order to ensure the dynamic and balanced distribution of random incentives, this application divides the left and right sides of the normal distribution curve on the left and right sides of the mean into negative incentive value intervals and positive incentive value intervals according to the symmetry of the normal distribution curve on both sides of the mean; the weight of the negative incentive value interval is assigned a negative value, and the weight of the positive incentive value interval is assigned a positive value. The left and right sides are symmetrical with each other, and the weight values ​​are opposite to each other. Therefore, when it is determined that the target incentive value interval is on the right side of the mean (that is, the incentive values ​​are all greater than the mean), it is determined to be a positive incentive value interval, and then its area ratio is determined as the random incentive weight; if it is determined that the target incentive value interval is on the left side of the mean (that is, the incentive values ​​are all less than the mean), it is determined to be a negative incentive value interval, and then the opposite of its area ratio is determined as the random incentive weight corresponding to the interval.

[0137] Optionally, the area ratio value may be multiplied by a certain multiple to serve as the random excitation weight of the corresponding interval, such as 10 times, 100 times, etc. This application does not impose any restrictions on this.

[0138] Optionally, the determination module 64 is further configured to divide the normal distribution curve into intervals according to the three standard deviation principle to obtain a second number of incentive value intervals; at t=2*2 m In the case of t=2*2, the second number of stimulus value intervals are processed according to m to obtain the first number of stimulus value intervals, wherein m is an integer; m *n, the second number of stimulus value intervals are processed according to n, and the obtained third number of stimulus value intervals are processed according to m to obtain the first number of stimulus value intervals, wherein n is an odd number and the third number is twice n.

[0139] Usually, the number of channels in a multi-channel design is an even number. According to the three standard deviation principle (also known as the 3 sigma principle), the normal distribution curve is divided into 8 intervals (also known as the second number of stimulus value intervals mentioned above). The area distribution of the normal distribution curve is shown as follows: Figure 3 As shown. The area ratio of each interval is also determined. The corresponding relationship between the eight intervals and their area ratios is shown in Table 1. Explicitly, these eight intervals can directly correspond to the eight channels. To ensure that the cumulative sum of the channel weights is 0, the corresponding weight parameters of each interval (i.e., the area ratios mentioned above) are converted into weight coefficients (i.e., random excitation weights). The conversion results are shown in Table 1.

[0140] If the number of channels t=2*2 m , then the second number of stimulus value intervals are processed according to the m value to obtain the first number of stimulus value intervals; and if t=2*2 m *n, where n is an odd number greater than 1, the second number of stimulus value intervals is first processed according to n to obtain a third number of stimulus value intervals, and then the obtained third number of stimulus value intervals is processed according to m to obtain the first number of stimulus value intervals. The third number is twice n.

[0141] When the number of channels is different, the way to divide the normal distribution curve into intervals is also different. When the number of channels is 8, that is, t=2*2 m , when m=2, the weight division can be performed directly in the manner shown in Table 1 without additional processing; however, when the number of channels is not 8, other division methods need to be used for processing. The following introduces different division methods in combination with several optional embodiments:

[0142] In a first optional embodiment, the determination module 64 is further configured to determine the merging coefficient when m is less than a first value. =2 2-m ,in, is a positive integer; according to the merging coefficient, the positive incentive value interval and the negative incentive value interval are merged in order from small to large to obtain the first number of incentive value intervals, wherein the merging coefficient is used to indicate the number of incentive value intervals to be merged.

[0143] In the embodiment of the present application, if m is less than 2 (i.e. the first value), it means that the number of channels is less than 8, and the original divided intervals need to be merged into two groups, the left and right groups, and the weight coefficient of the merged interval is the sum of the weight coefficients of the original multiple intervals. =2 2-m , according to each The left and right groups of intervals are merged respectively. The merging principle is from left to right. intervals to be merged. For example, when m=1, = 2, and the number of channels is 4. The left and right groups of intervals are each merged into 2 groups, that is, 4 intervals are merged into 2. The interval division and weight coefficients after the merger are shown in Table 2. In Table 2, the interval numbers in the first column are the original division intervals, and the interval numbers in the second column are the newly merged intervals.

[0144] In a second optional embodiment, the determination module 64 is further configured to determine the splitting coefficient when m is greater than the first value. =2 m-2 ,in, is a positive integer; the second number of incentive value intervals are proportionally split according to the split coefficient to obtain the first number of incentive value intervals, wherein the split coefficient is used to determine the split ratio of the proportional splitting of the incentive value interval.

[0145] When m is greater than 2 and the number of channels is greater than 8, the original partition interval needs to be split into two groups in a geometric ratio. The weight coefficient of the interval after the split is the proportional split of the original interval weight coefficient. =2 m-2 , that is, split the four groups of intervals on the left and right respectively. The splitting principle is to split each interval into equal proportions one by one. For example, when m=3, =2, and the number of channels is 16. Then each interval needs to be split into 2 in equal proportions one by one. The interval division and weight coefficients after the split are shown in Table 3. In Table 3, the interval labels in the first column are the original divided intervals, and the interval labels in the second column are the newly split intervals.

[0146] In a third optional embodiment, the above-mentioned determination module 64 is further used to, when n is less than a second value, sort the multiple positive incentive value intervals and the multiple negative incentive value intervals in the second number of incentive value intervals from small to large according to the area ratio; merge the fourth number of positive incentive value intervals that are ranked higher in the multiple positive incentive value intervals, and merge the fourth number of negative incentive value intervals that are ranked higher in the multiple negative incentive value intervals, to obtain the third number of incentive value intervals, wherein n=x-y+1, 2x is the second number, and y is the fourth number.

[0147] Based on the value of n, the left and right groups of four intervals are merged or split, resulting in n intervals on each side. When n is less than 4 (for example, n=3), the original four intervals are merged, with the principle of merging the two intervals with the smallest areas. Therefore, it is necessary to first sort the positive and negative intervals in the second number of incentive value intervals from smallest to largest by area percentage, and then merge the top y positive / negative intervals to obtain the third number of incentive value intervals.

[0148] In a fourth optional embodiment, the above-mentioned determination module 64 is also used to, when n is greater than a second value, sort the multiple positive incentive value intervals and the multiple negative incentive value intervals in the second number of incentive value intervals from large to small according to the area ratio; when n is less than a third value, split the top fifth number of positive incentive value intervals in the multiple positive incentive value intervals in half in sequence, and split the top fifth number of negative incentive value intervals in the multiple negative incentive value intervals in half in sequence, to obtain the third number of incentive value intervals, where n=xz, 2x is the second number, and z is the fifth number.

[0149] When n is greater than 4, the original 4 intervals on the left and right are split. The splitting principle is to start from the interval with the largest area ratio and split them in half one by one. Therefore, it is necessary to first sort the positive incentive value intervals and the negative incentive value intervals according to the area ratio from large to small, and then split the top z positive incentive value intervals in half in turn, so as to obtain n incentive value intervals on the left and right, that is, the third number of incentive value intervals mentioned above.

[0150] In a fifth optional embodiment, the determining module 64 is further configured to, when n is greater than the third value, determine the second number of incentive value intervals as the first incentive value space; a splitting step of: sequentially splitting the plurality of first incentive value spaces in half to obtain a second incentive value space; when the number of the second incentive value spaces is less than a sixth number, using the second incentive value space as the first incentive value space, and repeatedly performing the splitting step, wherein the sixth number is determined according to n; when the number of the second incentive value spaces is equal to the sixth number, sorting the plurality of second positive incentive value intervals and the plurality of second negative incentive value intervals in the sixth number of second incentive value spaces from largest to smallest according to area proportion; sequentially splitting the seventh number of positive incentive value intervals ranked higher among the plurality of second positive incentive value intervals in half, and sequentially splitting the seventh number of negative incentive value intervals ranked higher among the plurality of second negative incentive value intervals in half to obtain the third number of incentive value intervals, wherein b=(2n-a) / 2, b is the seventh number, and a is the sixth number.

[0151] When n is greater than 8, even after splitting the four left and right intervals, the number n cannot be met. At this time, it is necessary to continue splitting the eight left and right stimulus value intervals one by one starting from the interval with the largest area, and repeat the cycle until the number of intervals on each side meets n.

[0152] After processing the second number of stimulus value intervals according to n, it is necessary to continue processing the third number of stimulus value intervals according to the schemes described in the first and second optional embodiments to obtain final interval division and weight coefficient allocation results.

[0153] Through the above optional embodiments, different weight distribution methods are adopted when the number of channels is different, so that the present application can meet the requirements of dynamic and balanced distribution of random excitations in application scenarios with different numbers of channels.

[0154] Optionally, the allocation module 66 is further configured to sequentially traverse the random stimulus sample space and store multiple first random stimulus samples in a temporary queue, wherein the capacity of the temporary queue is t, and the random stimulus weights of the multiple first random stimulus samples in the temporary queue are different from each other; when the temporary queue is full, respectively allocate the t first random stimulus samples in the temporary queue to t channels, and determine the current cumulative weights of the t channels based on the first random stimulus weights of the t first random stimulus samples; continue to traverse the random stimulus sample space, match a target channel in the t channels based on the second random stimulus weight of the second random stimulus, and allocate the second random stimulus to the target channel, wherein the second random stimulus weight and the current cumulative weight of the target channel are the inverse of each other; update the current cumulative weight of the target channel based on the second random stimulus, and when it is determined that the current cumulative weights of the t channels are all target values, determine that the t channels have completed one random stimulus allocation; perform multiple random stimulus allocations on the t channels until the number of random stimulus allocated to the t channels reaches a preset number.

[0155] After the random incentive weight distribution is completed, the cumulative weight of each channel in the t channels is set (that is, the current cumulative weight mentioned above) , dynamic random excitation is assigned to these t channels according to the following steps:

[0156] Step 1: Traverse multiple random stimuli in the random stimulus sample space in sequence, discard random stimuli that generate repeated weights (i.e., repeated random stimuli weights) directly until t random stimuli with different weight values ​​are obtained. Then, these t random stimuli are randomly assigned to t channels, and the current cumulative weights of these t channels are updated;

[0157] Step 2: Continue to traverse the random incentive sample space, according to the random incentive weight of the second random incentive, according to According to the principle, each channel is matched and allocated until all channels meet the , random excitations of repeated weights traversed during the matching process are directly discarded;

[0158] Step 3: Repeat steps 1 and 2 until the incentive allocation result meets the requirements of the number of stress tests (i.e. the above-mentioned preset number of times).

[0159] Through this embodiment, different random excitations are evenly distributed to different channels according to their different random excitation weights, thereby meeting the requirement that the random excitations distributed to different channels are random and balanced as a whole.

[0160] Through the description of the above embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the existing technology, can be embodied in the form of a software product. The computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0161] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0162] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above method embodiments when run.

[0163] 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.

[0164] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0165] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0166] An embodiment of the present application further provides a computer program product, comprising a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program product, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.

[0167] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail here.

[0168] Obviously, those skilled in the art should understand that the modules or steps of the present application described above can be implemented using a general-purpose computing device, they can be concentrated on a single computing device, or distributed across a network composed of multiple computing devices, they can be implemented using program code executable by the computing device, and thus, they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be performed in a different order than herein, or they can be fabricated into separate integrated circuit modules, or multiple modules or steps can be fabricated into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0169] The above description is merely a preferred embodiment of the present application and is not intended to limit the present application. Various modifications and variations are possible for those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. made within the principles of the present application shall be included within the scope of protection of the present application.

Claims

1. A stress testing method for a target chip, It is characterized in that include: Generating a random stimulus sample space of the target chip by a random function, wherein the random stimulus sample space includes a plurality of random stimuli, and the plurality of random stimuli are used to perform a stress test on the target chip; Determining random incentive weights of the multiple random incentives according to the incentive values ​​of the multiple random incentives; Allocating the plurality of random stimuli to t channels included in the target chip according to the random stimuli weights to perform stress testing on the t channels, wherein t is a positive integer; Before determining the random incentive weights of the multiple random incentives according to the incentive values ​​of the multiple random incentives, the method further includes: Counting the mean and standard deviation of the plurality of incentive values; Determine a normal distribution curve corresponding to the random excitation sample space according to the mean and the standard deviation; Dividing the normal distribution curve into intervals according to t to obtain a first number of incentive value intervals, wherein the incentive value intervals include positive incentive value intervals and negative incentive value intervals, and the number of the positive incentive value intervals is the same as that of the negative incentive value intervals; The normal distribution curve is divided into intervals according to t to obtain multiple incentive value intervals, including: Dividing the normal distribution curve into intervals according to the three standard deviation principle to obtain a second number of incentive value intervals; At t=2*2 m In the case of, processing the second number of incentive value intervals according to m to obtain the first number of incentive value intervals, wherein m is an integer; At t=2*2 m *n, the second number of incentive value intervals are processed according to n, and the obtained third number of incentive value intervals are processed according to m to obtain the first number of incentive value intervals, wherein n is an odd number and the third number is twice n.

2. The stress testing method for a target chip according to claim 1, It is characterized in that The determining the random excitation weights of the multiple random excitations according to the excitation values ​​of the multiple random excitations includes: Determine a random incentive weight corresponding to each incentive value interval according to the area ratio of each incentive value interval in the first number of incentive value intervals in the normal distribution curve; A random incentive weight of a corresponding random incentive is determined according to an incentive value interval in which the incentive value is located.

3. The stress testing method of the target chip according to claim 2, It is characterized in that The determining, according to the area proportion of each incentive value interval in the normal distribution curve, of each incentive value interval in the first number of incentive value intervals, the random incentive weight corresponding to each incentive value interval includes: Determine the magnitude of a plurality of incentive values ​​corresponding to a target incentive value interval in the first number of incentive value intervals and the mean value; In the case where the multiple incentive values ​​are all greater than the mean value, determining the target incentive value interval as a positive incentive value interval, and determining the area proportion corresponding to the target incentive value interval as a random incentive weight of the target incentive value interval; When the multiple incentive values ​​are all smaller than the mean value, the target incentive value interval is determined to be a negative incentive value interval, and the inverse of the area ratio corresponding to the target incentive value interval is determined as the random incentive weight of the target incentive value interval.

4. The stress testing method of the target chip according to claim 1, It is characterized in that The processing of the second number of stimulus value intervals according to m to obtain the first number of stimulus value intervals includes: When m is less than the first value, determine the merging coefficient =2 2-m ,in, is a positive integer; The positive incentive value intervals and the negative incentive value intervals are merged in ascending order according to the merging coefficient to obtain the first number of incentive value intervals, wherein the merging coefficient is used to indicate the number of incentive value intervals to be merged.

5. The stress testing method for a target chip according to claim 1, It is characterized in that The processing of the second number of stimulus value intervals according to m to obtain the first number of stimulus value intervals includes: When m is greater than the first value, determine the split coefficient =2 m-2 ,in, is a positive integer; The second number of incentive value intervals are sequentially divided in equal proportion according to the division coefficient to obtain the first number of incentive value intervals, wherein the division coefficient is used to determine the division ratio of the incentive value intervals for equal proportion division.

6. The stress testing method of the target chip according to claim 1, It is characterized in that The processing of the second number of excitation value intervals according to n includes: When n is less than a second value, the plurality of positive incentive value intervals and the plurality of negative incentive value intervals in the second number of incentive value intervals are sorted from small to large according to their area proportions; The fourth number of positive incentive value intervals ranked top among the multiple positive incentive value intervals are merged, and the fourth number of negative incentive value intervals ranked top among the multiple negative incentive value intervals are merged to obtain the third number of incentive value intervals, where n=x-y+1, 2x is the second number, and y is the fourth number.

7. The stress testing method of the target chip according to claim 1, It is characterized in that The processing of the second number of excitation value intervals according to n includes: When n is greater than a second value, the plurality of positive incentive value intervals and the plurality of negative incentive value intervals in the second number of incentive value intervals are sorted from large to small according to their area proportions; When n is less than a third value, the fifth number of positive incentive value intervals ranked at the top of the multiple positive incentive value intervals are split in half in sequence, and the fifth number of negative incentive value intervals ranked at the top of the multiple negative incentive value intervals are split in half in sequence to obtain the third number of incentive value intervals, where n=xz, 2x is the second number, and z is the fifth number.

8. The stress testing method for a target chip according to claim 7, It is characterized in that After sorting the plurality of positive excitation value intervals and the plurality of negative excitation value intervals in the second number of excitation value intervals from large to small according to their area proportions, the method further includes: When n is greater than the third value, determining the second number of incentive value intervals as the first incentive value space; Splitting step: splitting the plurality of first stimulus value spaces in half in sequence to obtain a second stimulus value space; When the number of the second incentive value space is less than the sixth number, the second incentive value space is used as the first incentive value space, and the splitting step is performed cyclically, wherein the sixth number is determined according to n; When the number of the second incentive value spaces is equal to the sixth number, the plurality of second positive incentive value intervals and the plurality of second negative incentive value intervals in the sixth number of second incentive value spaces are sorted from large to small according to their area proportions; The seventh number of positive incentive value intervals ranked top among the multiple second positive incentive value intervals are split in half in sequence, and the seventh number of negative incentive value intervals ranked top among the multiple second negative incentive value intervals are split in half in sequence to obtain the third number of incentive value intervals, wherein b=(2n-a) / 2, b is the seventh number, and a is the sixth number.

9. The stress testing method for a target chip according to claim 7, It is characterized in that The allocating the multiple random excitations to t channels included in the target chip according to the random excitation weights includes: Traversing the random stimulus sample space in sequence, storing a plurality of first random stimulus into a temporary queue, wherein the capacity of the temporary queue is t, and the random stimulus weights of the plurality of first random stimulus in the temporary queue are different from each other; When the temporary queue is full, the t first random excitations in the temporary queue are respectively allocated to the t channels, and the current cumulative weights of the t channels are determined according to the first random excitation weights of the t first random excitations; Continue to traverse the random excitation sample space, match a target channel among the t channels according to a second random excitation weight of a second random excitation, and assign the second random excitation to the target channel, wherein the second random excitation weight and the current cumulative weight of the target channel are inverse numbers of each other; updating the current cumulative weight of the target channel according to the second random incentive, and determining that the t channels complete one random incentive allocation when it is determined that the current cumulative weights of the t channels are all target values; The random excitation allocation is performed multiple times on the t channels until the number of random excitations allocated to the t channels reaches a preset number.

10. A pressure test device for a target chip, It is characterized in that include: A generating module, used for generating a random stimulus sample space of the target chip through a random function, wherein the random stimulus sample space includes a plurality of random stimuli, and the plurality of random stimuli are used for performing a stress test on the target chip; A determination module, configured to determine random incentive weights of the plurality of random incentives according to incentive values ​​of the plurality of random incentives; an allocation module, configured to allocate the plurality of random excitations to t channels included in the target chip according to the random excitation weights, so as to perform stress testing on the t channels, wherein t is a positive integer; The determination module is further used to count the mean and standard deviation of the plurality of incentive values; determine the normal distribution curve corresponding to the random incentive sample space according to the mean and the standard deviation; divide the normal distribution curve into intervals according to t to obtain a first number of incentive value intervals, wherein the incentive value intervals include positive incentive value intervals and negative incentive value intervals, and the number of the positive incentive value intervals is the same as that of the negative incentive value intervals; The determining module is further used to divide the normal distribution curve into intervals according to the three standard deviation principle to obtain a second number of incentive value intervals; at t=2*2 m In the case of t=2*2, the second number of stimulus value intervals are processed according to m to obtain the first number of stimulus value intervals, wherein m is an integer; m *n, the second number of incentive value intervals are processed according to n, and the obtained third number of incentive value intervals are processed according to m to obtain the first number of incentive value intervals, wherein n is an odd number and the third number is twice n.

11. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method according to any one of claims 1 to 9 when executed by a processor.

12. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, It is characterized in that When the processor executes the computer program, the steps of the method according to any one of claims 1 to 9 are implemented.

13. A computer program product comprising a computer program, It is characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 are implemented.