2.5d integrated circuit delay defect detection method based on clustering of differential evolution algorithm
By selecting representative critical paths using the differential evolution algorithm, the problems of high cost and slow speed in traditional 2.5D integrated circuit inspection are solved, and efficient low-delay defect detection is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-03
- Publication Date
- 2026-03-27
AI Technical Summary
Traditional 2.5D integrated circuit hour delay defect detection methods are costly and slow. Common clustering algorithms are inefficient in large-scale critical paths and cannot quickly detect hour delay defects.
Differential evolution algorithm is used for cluster analysis to select representative critical paths. Defects on other paths are detected by time delay similarity mapping, avoiding the need to pre-set the number of clusters.
It enables rapid detection of hourly delay defects, reduces testing costs and time consumption, and improves testing efficiency.
Smart Images

Figure CN116842408B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application relates to a 2.5D integrated circuit time delay defect detection method based on differential evolution algorithm clustering, and belongs to the technical field of integrated circuit test optimization. BACKGROUND
[0002] Under the background of a new round of scientific and technological and industrial revolution, integrated circuits are facing growing market demand, and in order to make their functions more powerful and performance more superior, the scale of integrated circuits is also getting larger. However, the long path delay and high test cost caused by the scale expansion have become serious problems in the design and manufacturing process of integrated circuits. At present, a 2.5D integrated circuit with low manufacturing cost and design complexity is one of the mainstream directions of the development of the integrated circuit industry.
[0003] With the continuous reduction of the process size and the continuous improvement of the working frequency of the 2.5D integrated circuit, the timing fluctuation allowed by the normal operation of the circuit becomes smaller and smaller, and therefore the additional delay caused by the time delay defect cannot be ignored. Research shows that when the integrated circuit technology develops to below 45nm, most of the faults caused by the delay are caused by the time delay defect, and therefore it is crucial to effectively detect the time delay defect on the critical path. However, there are a large number of critical paths in the 2.5D integrated circuit, and the detection of each critical path will consume a large amount of test time cost, and how to select a group of representative critical paths with typical characteristics from the critical paths is the key to realize the rapid detection of the time delay defect.
[0004] The selection process of the representative critical path is essentially a clustering process using the similarity of the characteristics of different critical paths. However, the common clustering algorithm needs to pre-set the number of clusters during the execution process, and when facing the large-scale critical paths in the integrated circuit, the clustering efficiency is low and the combination explosion will occur, and the rapid detection of the time delay defect cannot be effectively realized. SUMMARY
[0005] In view of the problems of large test cost and slow test speed of the traditional 2.5D integrated circuit time delay defect detection method, the application provides a 2.5D integrated circuit time delay defect detection method based on differential evolution algorithm clustering. The differential evolution algorithm is used for clustering analysis, a small number of representative critical paths are selected, and the measurement value is mapped to other critical paths by using the similarity of the time delay; and the method does not need to know the data to be clustered in advance, and the optimal clustering number of the data can be determined in the clustering process, and the rapid detection of the time delay defect is realized.
[0006] The 2.5D integrated circuit time delay defect detection method based on differential evolution algorithm clustering provided by the application comprises the following steps:
[0007] Step one, read 2.5D integrated circuit critical path data as clustering data to be stored in the register to be processed;
[0008] Step two, using differential evolution algorithm to process the clustering data in the register, to obtain the optimal clustering scheme:
[0009] First, the clustering data is initialized to form an initial population, the initial population includes K subclasses, and the initial population is evaluated;
[0010] Then repeatedly perform mutation, crossover and selection operations to optimize the clustering process until the maximum number of iterations is set, and the optimal clustering scheme is obtained;
[0011] Step three, according to the optimal clustering scheme, select the clustering center in each subclass as the representative critical path, measure the delay on the representative critical path and map it to other critical paths, complete the detection of the integrated circuit critical path on the short delay defect.
[0012] Preferably, the clustering data is an X×Y data set P X×Y ={P1,P2,…,P X} T , the row vector P x ,x=1,2,…,X represents the xth critical path in the data set, X is the number of critical paths, and each path is encoded with Y characteristics; P x,y represents the yth characteristic of the xth critical path, y=1,2,...,Y.
[0013] Preferably, the process of step two using differential evolution algorithm to obtain the optimal clustering scheme is:
[0014] S1, population initialization, each individual in the initial population represents a clustering scheme, the population contains NP individuals, and each individual is initialized as a K max +K max ×Y dimensional vector:
[0015]
[0016] Where, np represents the serial number of the individual in the population, G is the number of iterations, X np,G is the npth individual in the Gth iteration, K max represents the maximum allowed number of clusters, in the individual code, the first K max elements A np,k ,(k=1,2,…,K max ) are the activation flags of the cluster centers, and are random numbers between 0 and 1, which are set to random numbers between 0.5 and 1 during initialization; the remaining elements s np,k(k = 1, 2, …, K max ) is the cluster center of the kth subclass, and is a Y-dimensional vector, initialized as K max paths randomly selected from X critical paths; during the execution, if A np,k ≥ 0.5, then the corresponding kth cluster center s np,k is in the active state; otherwise, it is in the inactive state;
[0017] S2, evaluate the initial population, and obtain the optimal clustering scheme of the initial population;
[0018] First, classify each individual, and divide all critical paths in the clustering scheme into different subclasses according to the Euclidean distance from the critical path to the cluster center;
[0019] Then, evaluate the fitness value of each individual in the initial population, and the evaluation index CS(K) is obtained as follows:
[0020]
[0021] Where C k represents the kth subclass, k = 1, 2, …, K, K represents the number of clusters in the active state, and K ≤ K max ;
[0022] P a ,P b are critical paths in the kth subclass, a = 1, 2, …, N k , b = 1, 2, …, N k , and a ≠ b, N k represents the number of critical paths in the kth subclass;
[0023] d(P a ,P b ) represents the Euclidean distance between critical paths P a and P b ,
[0024] av k is the average position of the kth subclass, av k' is the average position of the k'th subclass, k' = 1, 2, …, K, and k ≠ k', and av k and av k' are calculated in the same way, where av k is obtained as follows:
[0025]
[0026] The individual with the minimum value of the evaluation index CS(K) is the optimal clustering scheme of the initial population, which is the optimal individual X of the 0th iterationbest,0 ;
[0027] S3, Differential Mutation Operation;
[0028] The optimal clustering scheme generated in the G-th iteration is mutated to generate mutated individuals. The mutated individual V generated by the np-th individual in the G-th iteration is... np,G for:
[0029]
[0030] X best,G The optimal individual generated in the Gth iteration;
[0031] Let G be three current individuals randomly selected from the population during the G-th iteration, where G is the number of individuals selected from the population. The elite individual with the best fitness value among the three individuals;
[0032] w is a process parameter, through which the vector is... With X best,G The combination was performed, and the result is obtained using the following formula:
[0033] w = GP / exp(ES)
[0034] In the formula, GP=(G max -G+1) / G max It is a parameter related to the number of iterations, which decreases as the evolution process progresses. G max Indicates the maximum allowed number of iterations; parameter ES = r * / NP represents elite individuals The state parameter, r * Representing elite individuals Fitness values ranked within the entire population;
[0035] F1 and F2 are two independent scaling parameters, which are calculated as follows:
[0036] F=WP·N(μ,σ 2 )+(1-WP)·ES
[0037] In the formula, WP=exp[3·(GP-1)] is the weight parameter, and N(μ,σ) is the weight parameter. 2 Let N(μ,σ) be a Gaussian distributed random number, with standard deviation μ set to 0.5 and standard deviation σ set to 0.1. 2 Run the program twice to get F1 and F2 respectively;
[0038] S4, Cross Operation;
[0039] The crossover operation is implemented by using the crossover probability parameter CR to cross over the current individual X. np,G With variant individual Vnp,G crossing, to generate a trial individual U np,G , a current individual X np,G as a parent individual, the implementation process is as follows:
[0040]
[0041] U np,q,G represents the q-dimensional variable of the npth trial individual, randi(D) is a number randomly selected from the set {1, 2, …, D}, D represents the individual dimension, and it is ensured that at least one dimension of the trial individual U np,G is from the mutated individual V np,G , so as to avoid being exactly the same as the parent individual X np,G ; the calculation formula of the crossover probability parameter CR is as follows:
[0042] CR = WP·N(μ,σ 2 )+(1-WP)·IS
[0043] The parameter IS = rank np / NP represents the ranking state value of the parent individual X np,G ;
[0044] S5, selection operation;
[0045] The differential evolution algorithm adopts a greedy selection method to retain elite solutions, and the individuals in the population in the Gth iteration are selected according to the following formula:
[0046]
[0047] Wherein, f(·) represents the fitness function, that is, the CS index function of each clustering scheme;
[0048] Update the optimal clustering scheme found in the Gth iteration process;
[0049] Repeat steps S3-S5 until the maximum number of iterations is reached, and obtain the final optimal clustering scheme of the population.
[0050] Preferably, after step S4, the following solution repair step is further included:
[0051] When the first K max active flag parameters in the individual code are greater than 1 or less than 0, they are repaired to 1 or 0 respectively; in addition, if all clustering centers are in an invalid state, two clustering centers are randomly selected, and their active flag parameters are randomly generated in the range of [0.5, 1] to ensure that the data can be clustered into at least 2 subclasses.
[0052] Preferably, the process of step three to obtain the 2.5D integrated circuit time delay is:
[0053] Step three one, select the clustering center of each sub-class in the optimal clustering scheme as the representative critical path of the sub-class, and obtain K representative critical paths P from the K sub-classes of the optimal clustering scheme K ={P1',P2',…,P k K} K ' T ;P k ' is the representative critical path of the kth sub-class;
[0054] Step three two, measure the delay D of the K representative critical paths K =[d1',d'2,…,d' k K K ] T , d' k is the delay of the kth representative critical path;
[0055] Step three three, map the delay on the representative critical path to other critical paths to obtain the 2.5D integrated circuit time delay
[0056]
[0057] In the formula, P is a data set P X×Y composed of all critical paths.
[0058] Advantages of the present application:
[0059] (1) The differential evolution algorithm is a high-efficiency heuristic intelligent optimization algorithm, which has the advantages of simple principle, few control parameters, high optimization efficiency, etc.
[0060] (2) The clustering method based on differential evolution algorithm is used to group the critical paths in the 2.5D integrated circuit, and a small number of representative critical paths are selected. The delay on the representative critical path is detected to estimate the delay on other critical paths, and then the fast detection of the time delay defect is realized, and the problem of large test cost and slow test speed caused by detecting the delay on each critical path in the traditional method is overcome. BRIEF DESCRIPTION OF DRAWINGS
[0061] Figure 1 is an individual coding schematic diagram;
[0062] Figure 2 is a flow chart of the 2.5D integrated circuit time delay defect detection method based on differential evolution algorithm clustering according to the present application. DETAILED DESCRIPTION
[0063] With reference to the drawings and specific embodiments, the present application will be further described, but the present application is not limited by the drawings and specific embodiments.
[0064] It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.
[0065] With reference to the drawings and specific embodiments, the present application will be further described, but the present application is not limited by the drawings and specific embodiments.
[0066] Specific embodiment one: the present embodiment will be described below Figure 1 And Figure 2 The 2.5D integrated circuit delay defect detection method based on differential evolution algorithm clustering is described in the present embodiment, 1, the 2.5D integrated circuit delay defect detection method based on differential evolution algorithm clustering, characterized in that the method comprises the following steps:
[0067] Step one, read the 2.5D integrated circuit critical path data as the data to be clustered, and store it in the register to be processed;
[0068] Step two, using differential evolution algorithm to process the data to be clustered in the register, and obtaining the optimal clustering scheme:
[0069] Firstly, the data to be clustered is initialized to form an initial population, and the initial population includes K subclasses. The initial population is evaluated;
[0070] Then, the mutation operation, crossover operation and selection operation are repeatedly performed to optimize the clustering process until the maximum number of iterations set is met, and the optimal clustering scheme is obtained;
[0071] Step three, according to the optimal clustering scheme, the clustering center in each subclass is selected as the representative critical path, the delay on the representative critical path is measured and mapped to other critical paths, and the delay defect on the integrated circuit critical path is detected.
[0072] In step one, the data to be clustered is a data set P X×Y ={P1,P2,…,P X} T , the row vector P x ,x=1,2,…,X represents the xth critical path in the data set, X is the number of critical paths, and each path is encoded with Y characteristics; P x,y represents the yth characteristic of the xth critical path, y=1,2,...,Y.
[0073] The purpose of clustering is to divide these X critical paths into K subclasses Λ={C1,C2,…,C…} K In clustering, the similarity of critical paths within the same subclass should be as high as possible, while the similarity of patterns across different subclasses should be as low as possible. Clustering needs to satisfy at least the following three aspects:
[0074] (1) Each subclass contains at least one critical path, namely:
[0075] (2) No two subclasses can contain the same critical path, that is:
[0076] (3) Each critical path should belong to a subclass, that is:
[0077] Given the above conditions, the same dataset may have multiple different ways of being partitioned. Therefore, the clustering problem is to select the optimal classification method from among these different methods. Mathematically, this can be described as:
[0078]
[0079] Λ represents a classification method for dataset P, and f represents the CS index function that measures the clustering effect.
[0080] The delay generated on the critical path in 2.5D integrated circuits is mainly caused by characteristics such as network structure, process variations, temperature characteristics, voltage drop, and bias temperature instability. Assuming there are X critical paths in the circuit, and each path is encoded using Y characteristics, then an X×Y matrix P can be used. X×Y ={P1,P2,…,P X} T Let d represent these paths, and the delay d on each path. x (x = 1, 2, ..., X) will be determined by the sum of delays caused by each characteristic, i.e.: d x =P x T, T = {t1, t2, ... t} y} T The time delay caused by each feature can be represented as: D = [d1, d2, ..., d...]. X ] T The R representative critical paths selected from the X critical paths can be represented as: P R ={P1',P2',…,P R '} T Obviously, And if R << X, then the delay on the representative critical path can be expressed as: DR = [d1', d2',..., dR'] R ] T where d r ' = P r ' · T, 1≤r≤R represents the time delay on each representative critical path. Further, the delay on each critical path can be estimated by a linear combination of the delays on the representative critical paths, and the estimated delay can be represented as:
[0081]
[0082] As described above, the core of the process is the accurate selection of the representative critical path, and for this purpose, the application proposes a clustering process based on the differential evolution algorithm. The clustering method does not need to set the number of sub-classes in advance, but determines the optimal number of sub-classes during the running process, and selects the center of each sub-class as the selected representative critical path.
[0083] The process of step two for obtaining the optimal clustering scheme using the differential evolution algorithm is as follows:
[0084] S1, population initialization, each individual in the initial population represents a clustering scheme, and the population contains NP individuals in total, each individual is initialized as a K max +K max ×Y-dimensional vector:
[0085]
[0086] where np represents the serial number of the individual in the population, G is the iteration number, X np,G is the np-th individual in the G-th iteration, K max represents the maximum allowed number of clusters, in the individual coding, the first K max elements A np,k (k = 1, 2,..., K max ) are the activation flags of the clustering centers, which are random numbers between 0 and 1, and are set to random numbers between 0.5 and 1 during initialization; the remaining elements s np,k (k = 1, 2,..., K max ) are the clustering centers of the k-th sub-class, which are Y-dimensional vectors, and are initialized as K max critical paths randomly selected from X critical paths; during execution, if A np,k ≥ 0.5, then the k-th clustering center s np,k is in the active state; otherwise, it is in the inactive state;
[0087] In this step, the population is initialized, and NP individuals (clustering schemes) in the initial population are described by formula (3). The iteration number of the initialized population is G=0, and the individuals of the initialized population are X 1,0 2,0 NP,0
[0088] S2, evaluate the initial population, and obtain the optimal clustering scheme of the initial population;
[0089] First, classify each individual, and divide all critical paths in the clustering scheme into different subclasses according to the Euclidean distance from the critical path to the clustering center;
[0090] This classification process is a prior art, and is not described in detail. After classification, each individual includes K subclasses, and the number of subclasses can be the same or different between different individuals, which is limited to a maximum of K max .
[0091] Then, the fitness value of each individual in the initial population is evaluated, and the evaluation index CS(K) is obtained according to the following formula:
[0092]
[0093] wherein C k represents the kth subclass, k=1, 2,..., K, K represents the number of clusters in the active state, and K≤K max ;
[0094] P a ,P b are critical paths in the kth subclass, a=1, 2,..., N k , b=1, 2,..., N k , and a≠b, N k represents the number of critical paths in the kth subclass;
[0095] d(P a ,P b ) represents the Euclidean distance between the critical paths P a and P b ,
[0096] av k is the average position of the kth subclass, av k' is the average position of the k'th subclass, k'=1, 2,..., K, and k≠k', and av k and av k' are calculated in the same way, wherein av k is obtained according to the following formula:
[0097]
[0098] The individual with the minimum value of the evaluation index CS(K) is the optimal clustering scheme of the initial population, and is the optimal individual X best,0 ;
[0099] For each individual X 1,0 of the initial population 2,0 ,...,X NP,0 , the evaluation index CS is obtained respectively as CS 1,0 ,CS 2,0 ,...,CS NP,0 , and the individual with the minimum value of the evaluation index CS is the optimal individual X best,0 of the 0th iteration.
[0100] S3, differential mutation operation;
[0101] The optimal clustering scheme generated in the Gth iteration is mutated to generate a mutated individual, and the mutated individual V np,G of the npth individual in the Gth iteration is generated as follows: G = 0, 1, 2,..., G max , G max represents the maximum number of iterations allowed;
[0102]
[0103] X best,G is the optimal individual generated in the Gth iteration;
[0104] are three current individuals randomly selected from the population in the Gth iteration, wherein is the elite individual with the optimal fitness value among the three individuals;
[0105] w is a process parameter, and the vector is combined with X best,G , and is obtained according to the following formula:
[0106] w = GP / exp(ES)
[0107] In the formula, GP = (G max -G+1) / G max is a parameter related to the number of iterations, which decreases with the evolution process; the parameter ES = r * / NP represents the state parameter of the elite individual , and r * represents the fitness value ranking value of the elite individual in the entire population;
[0108] F1 and F2 are two independent scaling parameters, and the parameters are calculated as follows:
[0109] F = WP - N (μ, σ 2 ) + (1 - WP) - ES (7)
[0110] wherein WP = exp[3 - (GP - 1)] is a weight parameter, N(μ, σ 2 ) is a Gaussian distribution random number, the standard deviation μ is set to 0.5, and the standard deviation σ is set to 0.1, and N(μ, σ 2 ) is run twice to obtain F1 and F2 respectively;
[0111] In this step, the first iteration is taken as an example for illustration, G = 1, and the current individual at the first iteration is the individual X 1,0 ,X 2,0 ,...,X NP,0 generated at the 0th iteration, and the variation individual V 1,0 ,V 2,0 ,...,V NP,0 at the first iteration is generated according to formula (6).
[0112] S4, crossover operation;
[0113] The crossover operation realizes the crossover mixing of the current individual X np,G and the variation individual V np,G to generate a trial individual U np,G , and the current individual X np,G serves as the parent individual, and the specific implementation process is as follows:
[0114]
[0115] U np,q,G represents the qth dimensional variable of the npth trial individual, randi(D) is a number randomly selected from the set {1, 2,..., D}, D represents the dimension of the individual, and it is ensured that at least one dimension in the trial individual U np,G is from the variation individual V np,G , so as to avoid being completely the same as the parent individual X np,G ; the calculation formula of the crossover probability parameter CR is as follows:
[0116] CR = WP - N(μ, σ 2 ) + (1 - WP) - IS (9)
[0117] The parameter IS = rank np / NP represents the ranking state value of the parent individual X np,G .
[0118] Taken the first iteration as an example for illustration, the current individual X 1,0 ,X 2,0 ,...,X NP,0V 1,0 ,V 2,0 ,...,V NP,0 are crossed and mixed to generate trial individuals U 1,0 ,U 2,0 ,...,U NP,0 .
[0119] S5, selecting operation;
[0120] The differential evolution algorithm adopts a greedy selection method to reserve elite solutions, and the individuals in the Gth iteration population are selected according to the following formula:
[0121]
[0122] Wherein, f(·) represents the fitness function, that is, the CS index function of each clustering scheme;
[0123] Update the optimal clustering scheme found in the Gth iteration process;
[0124] Taking the 1st iteration as an example, in this step, the current individuals X 1,0 ,X 2,0 ,...,X NP,0 are compared with the trial individuals U 1,0 ,U 2,0 ,...,U NP,0 one by one, the individuals with smaller CS index values are protected, which are the individuals generated in the 1st iteration, and the optimal clustering scheme of the 1st iteration is updated according to the results.
[0125] Repeat steps S3-S5 until the maximum number of iterations is reached, and obtain the final optimal clustering scheme of the population.
[0126] Step three, the process of obtaining the time delay of 2.5D integrated circuits is:
[0127] Step three, one, select the clustering center of each sub-class in the optimal clustering scheme as the representative critical path of the sub-class, and obtain K representative critical paths P K ={P1',P2',…,P k ',…,P K '} T from K sub-classes of the optimal clustering scheme; k P' is the representative critical path of the kth sub-class;
[0128] Step three, two, measure the delay D K =[d1',d'2,…,d' k ,…,d' K ] T of the K representative critical paths, d' kthe delay of the kth representative critical path;
[0129] Step three, mapping the delay of the representative critical path to other critical paths to obtain the 2.5D integrated circuit delay time
[0130]
[0131] wherein P is a data set P consisting of all critical paths X×Y .
[0132] By using the method of this step, only the delay data of a limited number of critical paths (representative critical paths) need to be measured, once for each sub-class, and then the total delay of all critical paths in the 2.5D integrated circuit is mapped by using formula (11), i.e. the integrated circuit delay time can be obtained with a large amount of resources saved.
[0133] Specific implementation method two: this implementation method further illustrates the implementation method one, and further includes the following repair steps after step S4 is executed:
[0134] When the first K max active flag parameters in the individual code are greater than 1 or less than 0, they are repaired to 1 or 0 respectively; in addition, if all cluster centers are in an invalid state, two cluster centers are randomly selected, and their active flag parameters are randomly generated in the range of [0.5, 1] to ensure that the data can be clustered into at least two sub-classes.
[0135] Although the present application is described herein with reference to particular embodiments, it is to be understood that these examples are merely illustrative of principles and applications of the present application. It should therefore be understood that numerous modifications can be made to the illustrative embodiments and that other arrangements can be devised without departing from the spirit and scope of the present application as defined by the appended claims. It should be understood that the features described in relation to one embodiment can be used in combination with features described in relation to other embodiments. It should also be understood that features described in relation to separate embodiments can be used in other described embodiments.
Claims
1. A method for detecting hour delay defects in 2.5D integrated circuits based on differential evolution clustering, characterized in that, The method includes the following steps: Step 1: Read the critical path data of 2.5D integrated circuits as clustering data and store it in the register to be processed; Step two: Use the differential evolution algorithm to process the data to be clustered in the register to obtain the optimal clustering scheme: First, the data to be clustered is initialized to form an initial population, which includes K subclasses. The initial population is then evaluated. Then, mutation, crossover, and selection operations are repeatedly performed to optimize the clustering process until the maximum number of iterations is met, and the optimal clustering scheme is obtained. Step 3: Select the cluster center in each subclass as the representative critical path according to the optimal clustering scheme, measure the delay on the representative critical path and map it to other critical paths to complete the detection of small delay defects on the critical path of the integrated circuit. The dataset P to be clustered is X×Y X×Y ={P1,P2,…,P X } T Row vector P x x = 1, 2, ..., X represents the x-th critical path in the dataset, where X is the number of critical paths, and each path is coded using Y features; P x,y Let y, y = 1, 2, ..., Y be the y-th characteristic of the x-th critical path; Step two involves using the differential evolution algorithm to obtain the optimal clustering scheme as follows: S1. Population initialization: In the initial population, each individual represents a clustering scheme. The population contains NP individuals, and each individual is initialized with a K... max +K max A vector of dimensions ×Y: Where np represents the index of an individual in the population, G is the iteration number, and X is the number of iterations. np,G For the np-th individual in the G-th iteration, K max This represents the maximum allowed number of clusters, in the individual encoding, the top K max Element A np,k (k = 1, 2, ..., K) max ) is the activation flag for the cluster centers, and is a random number between [0,1], which is initialized to a random number between [0.5,1]; the remaining elements s np,k (k = 1, 2, ..., K) max Let K be the cluster center of the k-th subclass, and let K be a Y-dimensional vector, initialized with K values randomly selected from X critical paths. max Critical path; during execution, if A np,k If the value is ≥0.5, then the corresponding k-th cluster center s np,k It is in an active state; otherwise, it is in an invalid state. S2. Evaluate the initial population and obtain the optimal clustering scheme for the initial population; First, each individual is classified, and all critical paths in the clustering scheme are divided into different subclasses based on the Euclidean distance from the critical path to the cluster center; Then, the fitness value of each individual in the initial population is evaluated, and the evaluation index CS(K) is obtained by the following formula: Among them, C k Let K represent the k-th subclass, k = 1, 2, ..., K, where K represents the number of clusters in the active state, and K ≤ K. max ; P a ,P b Let a be the critical path in the k-th subclass, where a = 1, 2, ..., N. k b = 1, 2, ..., N k And a≠b, N k This represents the number of critical paths in the k-th subclass; d(P a ,P b ) represents the critical path P a With P b The Euclidean distance between them av k Let av be the average position of the k-th subclass. k' Let k' be the average position of the k'-th subclass, where k' = 1, 2, ..., K, and k ≠ k'. av k and av k' The calculation method is the same, where av k Obtain by the following formula: The individual with the smallest evaluation index CS(K) value is selected as the optimal clustering scheme for the initial population, and is taken as the optimal individual X in the 0th iteration. best,0 ; S3, Differential Mutation Operation; The optimal clustering scheme generated in the G-th iteration is mutated to generate mutated individuals. The mutated individual V generated by the np-th individual in the G-th iteration is... np,G for: X best,G The optimal individual generated in the Gth iteration; X r*,G , Let X be one of the three current individuals randomly selected from the population during the G-th iteration. r*,G The elite individual with the best fitness value among the three individuals; w is a process parameter, through which vector X is... r*,G With X best,G The combination was performed, and the result is obtained using the following formula: w = GP / exp(ES) In the formula, GP=(G max -G+1) / G max It is a parameter related to the number of iterations, which decreases as the evolution process progresses. G max Indicates the maximum allowed number of iterations; parameter ES = r * / NP represents an elite individual X r*,G The state parameter, r * Represents elite individual X r*,G Fitness values ranked across the entire population; F1 and F2 are two independent scaling parameters, which are calculated as follows: F=WP·N(μ,σ 2 )+(1-WP)·ES In the formula, WP=exp[3·(GP-1)] is the weight parameter, and N(μ,σ) is the weight parameter. 2 Let N(μ,σ) be a Gaussian distributed random number, with standard deviation μ set to 0.5 and standard deviation σ set to 0.
1. 2 Run the program twice to get F1 and F2 respectively; S4, Cross Operation; The crossover operation is implemented by using the crossover probability parameter CR to cross over the current individual X. np,G With variant individual V np,G The cross-mixing produces experimental individual U np,G Current individual X np,G As a parent entity, the specific implementation process is as follows: U np,q,G Let q be the variable of the np-th individual in the experiment, and randi(D) be a number randomly selected from the set {1,2,…,D}, where D represents the individual dimension. This ensures that the experimental individual U... np,G At least one dimension comes from the variant individual V. np,G This avoids interaction with parent individual X. np,G They are exactly the same; the formula for calculating the crossover probability parameter CR is as follows: CR=WP·N(μ,σ 2 )+(1-WP)·IS Parameter IS = rank np / NP represents the parent individual X np,G The sorting status value; S5, Select Operation; The differential evolution algorithm uses a greedy selection method to preserve elite solutions, selecting individuals in the population during the G-th iteration using the following formula: Where f(·) represents the fitness function, which refers to the CS index function of each clustering scheme; Update the optimal clustering scheme found in the Gth iteration; Repeat steps S3 to S5 until the maximum number of iterations is reached to obtain the final optimal clustering scheme for the population.
2. The method for detecting hour delay defects in 2.5D integrated circuits based on differential evolutionary clustering according to claim 1, characterized in that, After step S4, the following solution repair steps are also included: When the top K in the individual encoding max If an activation flag parameter is greater than 1 or less than 0, it is corrected to 1 or 0 respectively. In addition, if all cluster centers are in an invalid state, two cluster centers are randomly selected and their activation flag parameters are randomly generated in the range of [0.5,1] to ensure that the data can be clustered into at least 2 subclasses.
3. The 2.5D integrated circuit hour delay defect detection method based on differential evolutionary algorithm clustering according to claim 1 or 2, characterized in that, Step three involves obtaining the hour delay of the 2.5D integrated circuit: Step 3:
1. Select the cluster center of each subclass in the optimal clustering scheme as the representative critical path of that subclass. Obtain K representative critical paths P from the K subclasses of the optimal clustering scheme. K ={P'1,P'2,…,P' k ,…,P' K } T ;P k 'This represents the critical path of the k-th subclass; Step 3.2: Measure the delay D of K representative critical paths. K =[d'1,d'2,…,d' k ,…,d' K ] T ,d' k Let be the delay of the k-th representative critical path; Step 3: Map the delays on representative critical paths to other critical paths to obtain the 2.5D integrated circuit hourly delay. In the formula, P is the dataset P consisting of all critical paths. X×Y .
Citation Information
Patent Citations
Neural network compression method and device, equipment and medium
CN114154634A
Non-invasive timing characterization of integrated circuits using sensitizable signal paths and sparse equations
US20110055781A1