CN109145411B - Key circuit unit positioning method based on embedded parallel structure genetic algorithm - Google Patents

Key circuit unit positioning method based on embedded parallel structure genetic algorithm Download PDF

Info

Publication number
CN109145411B
CN109145411B CN201810872257.4A CN201810872257A CN109145411B CN 109145411 B CN109145411 B CN 109145411B CN 201810872257 A CN201810872257 A CN 201810872257A CN 109145411 B CN109145411 B CN 109145411B
Authority
CN
China
Prior art keywords
individual
pat
fitness
circuit
population
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810872257.4A
Other languages
Chinese (zh)
Other versions
CN109145411A (en
Inventor
肖杰
施展辉
季奇瓯
胡海根
杨旭华
黄玉娇
李伟
马伟峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201810872257.4A priority Critical patent/CN109145411B/en
Publication of CN109145411A publication Critical patent/CN109145411A/en
Application granted granted Critical
Publication of CN109145411B publication Critical patent/CN109145411B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming

Abstract

Genetic algorithm based on embedded parallel structureThe key circuit unit positioning method belongs to the field of IC key circuit unit positioning technology. The method specifically comprises the following steps: 1) Analyzing a netlist and initializing a correlation quantity; 2) Establishing an initialization population facing to a key circuit unit and initializing a current evolution algebraic variablej=1; 3) Newly building a celebrity hall HG, and storing the best individual in each generation into the HG; 4) If it isi>NsmGo to step 7), otherwise go to step 5); 5) Calculating the diversity of a populationdiv(ii) a 6) Calculating the key value of each circuit unit in the circuit through the current HG; 7) Calculating the critical value of each circuit unit in the LC; 8) And (4) arranging the key values obtained in the step (7) in a descending order and outputting the circuit units corresponding to the key values. The invention is beneficial to realizing the high-reliability design of the circuit structure with less cost and shortening the design period of the circuit.

Description

Key circuit unit positioning method based on embedded parallel structure genetic algorithm
Technical Field
The invention belongs to the technical field of positioning of key circuit units in an integrated circuit, and particularly relates to a key circuit unit positioning method based on an embedded parallel structure genetic algorithm.
Background
With the continuous decrease of the feature size of the integrated circuit, the decrease of the power voltage and the increase of the operating frequency, the process technology becomes more complex, so that the reliability tolerance of the circuit is inevitably reduced, which is not favorable for rapidly realizing the highly reliable design of the integrated circuit product. For this reason, it is common practice in the industry to reinforce weak devices in the circuit structure, so that a great degree of improvement in the reliability of the circuit structure is achieved at a small cost. This clearly requires a precise and efficient method of locating critical circuit elements to achieve the above objectives. The key circuit unit is a circuit unit having a large influence on the reliability of the circuit structure.
Currently, a variety of methods or tools, such as graph theory based analysis methods, simulation based analysis methods, and evolutionary strategy based analysis methods, are proposed to locate critical elements in circuit structures. However, the existing methods often have difficulty in effectively unifying the positioning accuracy and the computational complexity. The analysis shows that, although the existing analysis method based on the evolution strategy is still insufficient, the method still remains a promising research method and obtains the important attention of the industry. Thus, the present invention selects a widely recognized genetic algorithm framework to develop a localized analysis of critical elements in a circuit structure.
Disclosure of Invention
Aiming at the problems in the prior art, the invention aims to construct a quick and effective technical scheme for a method for positioning a critical circuit unit. By analyzing the characteristics of the reliability of the circuit structure, a genetic algorithm framework embedded with parallel crossing and variant loop structures and related evolutionary operation strategies are elaborately designed. In addition, a circuit unit criticality evaluation method with strong robustness is designed based on a scoring mechanism so as to realize stable, accurate and effective positioning of a key circuit unit.
The technical scheme adopted by the invention for solving the technical problem is as follows:
the key circuit unit positioning method based on the embedded parallel structure genetic algorithm is characterized by comprising the following steps of:
step 1: netlist parsing and related quantity initialization:
1.1. reading the circuit sub netlist, and establishing an integrity linked list LC corresponding to the circuit sub netlist, wherein input end information of any node in an LC finger linked list can be extracted from output end information of a preamble node of the node;
1.2. extracting the original input end and circuit unit of the circuit, and comparing all the input ends and circuit unitsN LC Each circuit unit implements binary coding and initializes a cyclic variablei=1, number of experimental repetitionsNsmEvolutionary algebra of genetic algorithmsNGEAnd size of populationnps
Step 2: establishing an initialization population facing to a key circuit unit and initializing a current evolution algebraic variablej=1:
2.1. Random generationnchCalculating the fitness of each individual by using an E-PTM model;
2.2. selecting an individual with the best fitness from the results in the step 2.1 as a member of the initial population;
2.3. if the population size reachesnpsTurning to step 3; otherwise, turning to the step 2.1;
and 3, step 3: newly building a celebrity hall library HG, and storing the best individual in each generation into the HG:
3.1. arranging all individuals in the current population according to the descending order of fitness and initializing cycle variablesk=1;
3.2. Is calculated according to the method of formula (1)kIs first and secondk+1 parent individual pat k And pat k+1 Degree of similarity ofsimIf at allsim <Lambda 1, turning to step 3.3; otherwise go to step 3.4. Wherein λ 1 denotes a threshold value given in advance, bitand () denotes a bit-by-bit and operation, sum denotes a summation operation;
sim=sum(bitand(pat k , pat k+1 ))/N LC (1)
3.3. for parent individual pat k And pat k+1 Performing a crossover operation;
3.3.1. the generation of the signal in the interval [1,N LC ×(2-j/NGE)/2]inner integer random numberrncIn whichNGEMeans total evolution algebra;
3.3.2. generating crossover probabilities by the method of equation (2)pcrWherein, in the step (A),pcr min for a given minimum probability of cross-over,fpat k andfpat k+1 respectively refer to individual pat k And pat k+1 The degree of fitness of (a) to (b),fmaxandfminrespectively referring to the maximum fitness and the minimum fitness of the current generation population;
pcr = pcr min + |fpat k -fpat k+1 |/|fmax-fmin| (2)
3.3.3. generating an interval [0, 1 ]]Random number of cellsrd. If it isrd < pcrThen for individual pat k And pat k+1 The gene position of (1) in (b),rnc]performing a single-point crossover operation to generate a new individual chd k And chd k+1
3.3.4. For individual pat k 、pat k+1 、chd k And chd k+1 Executing a parent-child competition strategy, reserving the two individuals with better fitness as filial generations of the cross operation, and going to step 3.5;
3.4. for parent individual pat k And pat k+1 Performing mutation operation and initializing loop variablesh=k
3.4.1. The number of the generation intervals [1,N LC ]inner integer random numberrnm
3.4.2. Generating variation probability according to the method of formula (3)pmtWherein, in the step (A),pmt min refers to the probability of the smallest variation,fpat h finger individual pat h The degree of fitness of (a) to (b),b(>0) Is a parameter given by a person;
pmt=pmt min +(1-j/NGE) b ×|fmax-fpat h | (3)
3.4.3. generating an interval [0, 1 ]]Random number of cellsrdIf, ifrd < pmtThen for individual pat h Gene position ofrnmPerforming a single point mutation operation and generating a new individual chd h
3.4.4. For individual pat h And chd h Executing a parent-child competition strategy and reserving an individual with better fitness as the individualProgeny of the mutation operation. If it ish > k+1, go to step 3.5; otherwise, executeh = h+1 and go to step 3.4.1;
3.5. if it isk > N LC Then go to step 3.6; otherwise, executek=k+2 and go to step 3.2;
3.6. performing selection operation on the result after the crossing and mutation operation to generate a new population and updating the HG;
3.6.1. for each individual, respectively calculated randomly generated using the E-PTM modelniv=max{Ncon, pm×βThe fitness corresponding to the input vectors is calculated, and the median value of the input vectors is taken as the fitness of the individual,Nconand withβAre all parameters that are given by human beings,pmthe number of the original input ends of the circuit;
3.6.2. sequencing all individuals of the current population according to the descending order of fitness;
3.6.3. before extractionnsoThe best individual and randomly generating the restnps-nsoThe individuals jointly form a new population;
3.6.4. extracting the individuals with the first rank in the step 3.6.2 and placing the individuals into the HG;
and 4, step 4: if it isi > NsmIf yes, go to step 7; otherwise go to step 5;
and 5: calculating the diversity of the population according to the method of formula (4)divIf, ifdiv ≥ λ2 && jNGEThen executej=j+1 and go to step 3.1; otherwise, go to step 6, where λ 2 refers to the artificially given threshold,f q mean the first in the populationqThe fitness of the individual is determined by the fitness of the individual,f ave means the average fitness of the population;
Figure 649682DEST_PATH_IMAGE001
(4)
and 6: calculating the critical value of each circuit unit in the circuit through the current HG:
6.1. counting the occurrence frequency of '1' in corresponding gene positions of all individuals contained in HG;
6.2. the frequencies obtained in step 6.1 are ranked in descending order and reassigned according to the method of equation (5) whereinRC it Is indicated atiRank in turn istA new value of (d);
RC it = (N LC -t+1)/N LC (5)
6.3. using the result of step 6.3 as the criticality value of the associated circuit element in the LC;
6.4. executei=i+1 and go to step 2;
and 7: calculating the criticality value of each circuit cell in the LC according to the formula (6), whereinRC s In finger LCsThe critical value of the individual circuit elements,RC is first fingeriLC in wheel calculationsCritical values corresponding to the circuit units;
Figure 820681DEST_PATH_IMAGE002
(6)
and 8: and (4) arranging the key values obtained in the step (7) in a descending order and outputting the circuit units corresponding to the key values.
The technical conception of the invention is as follows: according to the characteristics of the reliability of the circuit structure, firstly, a key circuit unit coding method based on a binary strategy is designed, and an ordered initial population facing the key circuit unit is formed by utilizing a specified number of dominant individuals selected from a large number of randomly generated individuals so as to improve the quality of the initial population. Secondly, an embedded parallel crossing and mutation cyclic operation structure with a guidance function is constructed to make up for the defect of insufficient local searching capability of the traditional genetic algorithm. Then, a selection method based on the elite reservation strategy is designed to accelerate the convergence rate of the population, and the diversity protection strategy of the population is combined to prevent the population from falling into local optimum. And finally, designing an ordered identification method facing to a critical circuit unit based on a scoring mechanism according to the potential optimal solution stored in each generation to enhance the robustness of the method. The result is helpful for circuit designers to know weak links in the circuit structure in time so as to make a reasonable decision.
A genetic algorithm with an embedded parallel crossing and variation loop structure is used as a main model frame, an E-PTM model is used, a crossing and variation strategy which is dynamically self-adaptive and has a guidance function, a selection method based on an elite retention strategy, a population diversity protection mechanism, a key circuit unit ordered identification method based on a grading mechanism and the like are used, an effective key circuit unit positioning method is designed, the accuracy is ensured, the convergence speed of the method is accelerated, and the method is expected to play an important role in the design process of a circuit structure.
The invention has the following beneficial effects: by means of the accurate and fast circuit structure reliability calculation method E-PTM, a genetic algorithm framework based on embedded parallel intersection and variation cycle structure is designed to realize fast and accurate positioning of key circuit units in the circuit structure. The achievement of the invention is beneficial to realizing the high-reliability design of the circuit structure with less cost and shortening the design period of the circuit.
Drawings
FIG. 1 is a flow chart of a key circuit unit positioning method based on an embedded parallel structure genetic algorithm.
Detailed Description
The invention is further described below with reference to the accompanying drawings.
Referring to fig. 1, a key circuit unit positioning method based on an embedded parallel structure genetic algorithm includes the following steps:
step 1: netlist resolution and correlation initialization
1.1. Reading the circuit sub netlist, and establishing an integrity linked list LC corresponding to the circuit sub netlist, wherein input end information of any node in an LC finger linked list can be extracted from output end information of a preamble node of the node;
1.2. extracting the original input of the circuit andcircuit unit and for allN LC Each circuit unit implements binary coding and initializes a cyclic variablei=1, number of experimental repetitionsNsmEvolutionary algebra of genetic algorithmsNGEAnd size of populationnps
Step 2: establishing an initialization population facing to a key circuit unit and initializing a current evolution algebraic variablej=1
2.1. Random generationnchCalculating the fitness of each individual by using an E-PTM model;
2.2. selecting an individual with the best fitness from the results in the step 2.1 as a member of the initial population;
2.3. if the population size reachesnpsTurning to step 3; otherwise, go to step 2.1.
And step 3: newly building celebrity hall bank HG, and storing the best individual in each generation into HG
3.1. Arranging all individuals in the current population according to the descending order of fitness and initializing cycle variablesk=1;
3.2. Is calculated according to the method of formula (1)kIs first and secondk+1 parent individual pat k And pat k+1 Degree of similarity of (2)simIf at allsim <If lambda 1, go to step 3.3; otherwise, turning to a step 3.4, wherein the lambda 1 refers to a preset threshold, the bitand () refers to bitwise and operation, and the sum refers to summation operation;
sim=sum(bitand(pat k , pat k+1 ))/N LC (1)
3.3. for parent individual pat k And pat k+1 Performing a crossover operation;
3.3.1. the generation of the signal in the interval [1,N LC ×(2-j/NGE)/2]inner integer random numberrncWhereinNGEMeans total evolution algebra;
3.3.2. generating crossover probability by the method of equation (2)pcrWherein, in the step (A),pcr min for a given minimum probability of cross-over,fpat k andfpat k+1 respectively refer to individual pat k And pat k+1 The degree of fitness of (a) to (b),fmaxandfminrespectively referring to the maximum fitness and the minimum fitness of the current generation population;
pcr = pcr min + |fpat k -fpat k+1 |/|fmax-fmin| (2)
3.3.3. generating an interval [0, 1 ]]Random number of cellsrd. If it isrd < pcrThen for individual pat k And pat k+1 The gene position of (1),rnc]performing a single-point crossover operation to generate a new individual chd k And chd k+1
3.3.4. For individual pat k 、pat k+1 、chd k And chd k+1 Executing a parent-child competition strategy, reserving the two individuals with better fitness as filial generations of the cross operation, and going to step 3.5;
3.4. for parent individual pat k And pat k+1 Performing mutation operations and initializing loop variablesh=k
3.4.1. The number of the generation intervals [1,N LC ]inner integer random numberrnm
3.4.2. Generating variation probability according to the method of formula (3)pmtWherein, in the process,pmt min refers to the probability of the smallest variation,fpat h finger individual pat h The degree of fitness of (a) to (b),b(>0) Is a parameter given by a person;
pmt=pmt min +(1-j/NGE) b ×|fmax-fpat h | (3)
3.4.3. generating an interval [0, 1 ]]Random number of cellsrd. If it isrd < pmtThen for individual pat h Gene position ofrnmPerforming a single point mutation operation and generating a new individual chd h
3.4.4. For individual pat h And chd h Executing parent-child competition strategy and ensuringAnd (4) leaving one individual with better fitness as a descendant of the mutation operation. If it ish > k+1, go to step 3.5; otherwise, executeh = h+1 and go to step 3.4.1;
3.5. if it isk > N LC Then go to step 3.6; otherwise, executek=k+2 and go to step 3.2;
3.6. performing a selection operation on the results of the crossover and mutation operations to generate a new population, and updating the HG;
3.6.1. for each individual, respectively calculated randomly generated using the E-PTM modelniv=max{Ncon, pm×βThe fitness corresponding to the input vectors is multiplied, and the median value of the fitness corresponding to the input vectors is taken as the fitness of the individual, wherein,Nconandβare all parameters that are given by human beings,pmthe number of the original input ends of the circuit;
3.6.2. sequencing all individuals of the current population according to the descending order of fitness;
3.6.3. before extractionnsoThe best individual and randomly generating the restnps-nsoThe individuals jointly form a new population;
3.6.4. the first ranked individual from extraction step 3.6.2 is placed in the HG.
And 4, step 4: if it isi > NsmGo to step 7; otherwise go to step 5.
And 5: calculating the diversity of the population according to the method of formula (4)divIf at alldiv ≥ λ2 && jNGEThen executej=j+1 and go to step 3.1; otherwise, go to step 6; where λ 2 refers to a threshold value given by humans,f q mean the first in the populationqThe fitness of the individual is determined by the fitness of the individual,f ave refers to the average fitness of the population.
Figure 837178DEST_PATH_IMAGE001
(4)
And 6: calculating criticality values of circuit units in a circuit by current HG
6.1. Counting the occurrence frequency of '1' in corresponding gene positions of all individuals contained in HG;
6.2. the frequencies obtained in step 6.1 are ranked in descending order and re-assigned according to the method of equation (5). WhereinRC it Is indicated atiRank in turn istA new value of (d);
RC it = (N LC -t+1)/N LC (5)
6.3. using the result of step 6.3 as the criticality value of the associated circuit element in the LC;
6.4. executei=i+1, and go to step 2.
And 7: calculating the criticality value of each circuit cell in the LC according to the formula (6), whereinRC s In finger LCsThe critical value of the individual circuit elements,RC is first fingeriLC in wheel calculationsThe critical value to which each circuit element corresponds.
Figure 272839DEST_PATH_IMAGE002
(6)
And 8: and 7, arranging the key values obtained in the step 7 in a descending order and outputting the circuit units corresponding to the key values.
In the embodiment, a genetic algorithm with an embedded parallel intersection and variation loop structure is used as a main model frame, an E-PTM model, a dynamically self-adaptive intersection and variation strategy with a guidance function, a selection method based on an elite retention strategy, a population diversity protection mechanism, a critical circuit unit ordered identification method based on a grading mechanism and the like are used for designing an effective critical circuit unit positioning method facing a circuit structure, so that the convergence speed of the method is accelerated while the accuracy is ensured, and the method is expected to play an important role in the design process of the circuit structure.
Example 1
The ordering of the critical circuit elements in the above circuits is given in descending order, taking as an example the subcircuits C17-22, C17-23, 74155-41, 74157-39 and 74182-63 in the ISCS 85 and 74 series of circuits.
Step 1: netlist resolution and correlation initialization
1.1. And reading the circuit sub-netlist and establishing an integrity linked list LC corresponding to the circuit sub-netlist. Wherein, the input end information of any node in the LC finger chain table can be extracted from the output end information of the preorder node of the node;
1.2. extracting the original input terminal and circuit unit of the circuit, and comparing all the input terminals and circuit unitsN LC Each circuit unit implements binary coding and initializes a cyclic variablei=1, number of experimental repetitionsNsm=10, evolutionary algebra of genetic algorithmsNGE=100, and population sizenps=10。
And 2, step: establishing an initialization population facing to a key circuit unit and initializing a current evolution algebraic variablej=1
2.1. Random generationnch=3 individuals, and respectively calculating the fitness of each individual by utilizing an E-PTM model;
2.2. selecting one individual with the best fitness from the results in the step 2.1 as a member of the initial population;
2.3. if the population scale reaches 10, turning to step 3; otherwise, go to step 2.1.
And step 3: newly creating a celebrity hall HG, and storing the best individual in each generation into the HG
3.1. Arranging all individuals in the current population according to the descending order of fitness and initializing cycle variablesk=1;
3.2. Is calculated according to the method of formula (1)kA first and a secondk+1 parent pat k And pat k+1 Degree of similarity ofsimIf, ifsim <0.8, go to step 3.3; otherwise go to step 3.4. Wherein, bitand () refers to bitand operation, sum refers to summation operation;
sim=sum(bitand(pat k , pat k+1 ))/N LC (1)
3.3. for parent individual pat k And pat k+1 Performing a crossover operation;
3.3.1. the result is that in the interval 1,N LC ×(2-j/100)/2]inner integer random numberrnc
3.3.2. Generating crossover probability by the method of equation (2)pcrWherein, in the step (A),fpat k and withfpat k+1 Respectively refer to individual pat k And pat k+1 The degree of fitness of (a) to (b),fmaxandfminrespectively indicating the maximum fitness and the minimum fitness of the current population;
pcr = 0.4+ |fpat k -fpat k+1 |/|fmax-fmin| (2)
3.3.3. generating an interval [0, 1 ]]Random number of cellsrd. If it isrd < pcrThen for individual pat k And pat k+1 The gene position of (1),rnc]performing single-point crossing operation to generate new individual chd k And chd k+1
3.3.4. For individual pat k 、pat k+1 、chd k And chd k+1 Executing a parent-child competition strategy, reserving the two individuals with better fitness as filial generations of the cross operation, and going to step 3.5;
3.4. for parent individual pat k And pat k+1 Performing mutation operations and initializing loop variablesh=k
3.4.1. The number of the generation intervals [1,N LC ]inner integer random numberrnm
3.4.2. Generating variation probability according to the method of formula (3)pmtWherein, in the step (A),fpat h finger individual pat h The fitness of (2);
pmt = 0.01 +(1-j/100) 4 ×|fmax-fpat h | (3)
3.4.3. generating an interval [0, 1 ]]Random number of cellsrd. If it isrd < pmtThen for individual pat h Gene position ofrnmPerforming a single point mutation operation and generating a new individual chd h
3.4.4. For individual pat h And chd h And executing a parent-child competition strategy, and reserving an individual with better fitness as a child of the mutation operation. If it ish > k+1, go to step 3.5; otherwise, executeh = h+1 and go to step 3.4.1;
3.5. if it isk > N LC Then go to step 3.6; otherwise, executek=k+2 and go to step 3.2;
3.6. performing a selection operation on the results of the crossover and mutation operations to generate a new population, and updating the HG;
3.6.1. for each individual, respectively calculated randomly generated using the E-PTM modelniv=max{10, pmX 0.1) input vectors and taking the median value thereof as the fitness of the individual, whereinpmThe number of the original input ends of the circuit;
3.6.2. sequencing all individuals of the current population according to the descending order of fitness;
3.6.3. 0.5 before extractionnpsThe best individual is randomly generated, and the rest 0.5 template is generatednpsThe individuals jointly form a new population;
3.6.4. the first ranked individual from extraction step 3.6.2 is placed in the HG.
And 4, step 4: if it isi >10, turning to step 7; otherwise go to step 5.
And 5: calculating the diversity of the population according to the method of formula (4)divIf at alldiv ≥ 0.01 && jIf the number is less than or equal to 100, executej=j+1, and go to step 3.1; otherwise, go to step 6; wherein, the first and the second end of the pipe are connected with each other,f q mean the first in the populationqThe fitness of the individual is determined by the fitness of the individual,f ave refers to the average fitness of the population.
Figure 982169DEST_PATH_IMAGE001
(4)
Step 6: calculating criticality values of circuit units in a circuit by current HG
6.1. Counting the occurrence frequency of '1' in corresponding gene positions of all individuals contained in HG;
6.2. the frequencies obtained in step 6.1 are sorted in descending order and they are reassigned according to the method of equation (5). WhereinRC it Is indicated atiRank in turn istA new value of (d);
RC it = (N LC -t+1)/N LC (5)
6.3. using the result of step 6.3 as the criticality value of each circuit element associated in the LC;
6.4. executei=i+1 and go to step 2.
And 7: calculating the criticality value of each circuit cell in the LC according to the formula (6), whereinRC s In finger LCsThe critical value of the individual circuit elements,RC is first fingeriLC in wheel calculationsCritical values corresponding to the individual circuit elements.
Figure 932808DEST_PATH_IMAGE002
(6)
And 8: and (4) arranging the key values obtained in the step (7) in a descending order and outputting the circuit units corresponding to the key values.
Example 1 validation or feasibility:
TABLE 1 comparison of the calculation results of the method of the invention with the Monte Carlo model
Figure 251531DEST_PATH_IMAGE003
As can be seen from Table 1, the calculation accuracy of the method of the present invention is completely consistent with that of the Monte Carlo method on the illustrated sub-circuit, and the average calculation speed is 86.61 times that of the Monte Carlo model. Further analysis shows that the speed advantage of the method of the invention is more obvious as the circuit scale is increased.
The embodiments described in this specification are merely illustrative of implementations of the inventive concept and the scope of the present invention should not be considered limited to the specific forms set forth in the embodiments but rather by the equivalents thereof as may occur to those skilled in the art upon consideration of the present inventive concept.

Claims (1)

1. A key circuit unit positioning method based on embedded parallel structure genetic algorithm is characterized by comprising the following steps:
step 1: netlist parsing and related quantity initialization:
1.1 reading a circuit sub netlist, and establishing an integrity linked list LC corresponding to the circuit sub netlist, wherein input end information of any node in an LC finger linked list can be extracted from output end information of a preamble node of the node;
1.2 extracting the original input end and circuit unit of the circuit, and comparing all the input ends and circuit unitsN LC Each circuit unit implements binary coding and initializes a cyclic variablei=1, number of experimental repetitionsNsmEvolutionary algebra of genetic algorithmsNGEAnd size of populationnps
Step 2: establishing an initialization population facing to a key circuit unit and initializing a current evolution algebraic variablej=1:
2.1 random GenerationnchCalculating the fitness of each individual by using an E-PTM model;
2.2 selecting an individual with the best fitness from the results in the step 2.1 as a member of the initial population;
2.3 if the population size reachesnpsTurning to step 3; otherwise, turning to the step 2.1;
and step 3: newly building a celebrity hall bank HG, and storing the best individual in each generation into the HG:
3.1 ranking all individuals in the current population in descending order of fitness and initializing the Loop variablesk=1;
3.2 calculating the second step by the method of equation (1)kIs first and secondk+1 parent pat k And pat k+1 Degree of similarity ofsimIf, ifsim <Lambda 1, turning to step 3.3; otherwise, go to step 3.4, where λ 1 refers to a predetermined threshold, bitand () refers to bitand operation, sum refers to sum operation;
sim=sum(bitand(pat k , pat k+1 ))/N LC (1)
3.3 pairs of parent individuals pat k And pat k+1 Performing a crossover operation;
3.3.1 generating a signal in the interval [1,N LC ×(2-j/NGE)/2]inner integer random numberrncIn whichNGEMeans total evolution algebra;
3.3.2 generating crossover probability by equation (2)pcrWherein, in the process,pcr min for a given minimum probability of cross-over,fpat k and withfpat k+1 Respectively refer to individual pat k And pat k+1 The degree of fitness of (a) to (b),fmaxandfminrespectively indicating the maximum fitness and the minimum fitness of the current population;
pcr = pcr min + |fpat k -fpat k+1 |/|fmax-fmin| (2)
3.3.3 Generating an interval [0, 1 ]]Random number of cellsrdIf, ifrd < pcrThen to individual pat k And pat k+1 The gene position of (1),rnc]performing a single-point crossover operation to generate a new individual chd k And chd k+1
3.3.4 pairs of individual pat k 、pat k+1 、chd k And chd k+1 Executing a parent-child competition strategy, reserving the two individuals with better fitness as filial generations of the cross operation, and turning to the step 3.5;
3.4 pairs of parent individuals pat k And pat k+1 Performing mutation operation and initializing loop variablesh=k
3.4.1 The interval of the generation of the interval 1,N LC ]inner integer random numberrnm
3.4.2 Generating mutation probability according to the method of formula (3)pmtWherein, in the step (A),pmt min refers to the probability of the smallest variation,fpat h finger individual pat h The degree of fitness of (a) to (b),b(>0) Is a parameter given by a person;
pmt=pmt min +(1-j/NGE) b ×|fmax-fpat h | (3)
3.4.3 Generating an interval [0, 1 ]]Random number of cellsrdIf, ifrd < pmtThen for individual pat h Gene position of (2)rnmPerforming a single point mutation operation and generating a new individual chd h
3.4.4 For individual pat h And chd h Executing a parent-child competition strategy, and reserving an individual with better fitness as a child of the mutation operation if the parent-child competition strategy is executedh > k+1, go to step 3.5; otherwise, executeh = h+1 and go to step 3.4.1;
3.5 ifk > N LC Then go to step 3.6; otherwise, executek=k+2 and go to step 3.2;
3.6 executing selection operation on the result after the crossover and mutation operation to generate a new population and updating HG;
3.6.1 For each individual, respectively calculated randomly generated using the E-PTM modelniv=max{Ncon, pm×βThe fitness corresponding to the input vectors is multiplied, and the median value of the fitness corresponding to the input vectors is taken as the fitness of the individual, wherein,Nconandβare all parameters that are given by human beings,pmthe number of the original input ends of the circuit;
3.6.2 Sequencing all individuals of the current population according to the descending order of fitness;
3.6.3 Before extractionnsoThe best individual and randomly generating the restnps-nsoThe individuals jointly form a new population;
3.6.4 Extracting the individuals with the first rank in the step 3.6.2 and placing the individuals into the HG;
and 4, step 4: if it isi > NsmGo to step 7; otherwise go to step 5;
and 5: calculating the diversity of the population according to the method of formula (4)divIf, ifdiv ≥ λ2 && jNGEThen executej=j+1 and go to step 3.1; otherwise, go to step 6, where λ 2 refers to the threshold value given for the person,f q mean the first in the populationqThe fitness of the individual is determined by the fitness of the individual,f ave the average fitness of the population;
Figure 848672DEST_PATH_IMAGE001
(4)
and 6: calculating the critical value of each circuit unit in the circuit through the current HG:
6.1 counting the occurrence frequency of '1' in corresponding gene positions of all individuals contained in HG;
6.2 sorting the frequencies obtained in step 6.1 in descending order and re-assigning them according to the method of equation (5), whereinRC it Is indicated atiRank in turn oftA new value of (d);
RC it = (N LC -t+1)/N LC (5)
6.3 using the results of step 6.3 as critical values for the relevant circuit elements in the LC;
6.4 executioni=i+1 and go to step 2;
and 7: calculating the criticality value of each circuit cell in the LC according to the formula (6), whereinRC s In finger LCsThe critical value of the individual circuit elements,RC is first fingeriLC in wheel calculationsCritical values corresponding to the circuit units;
Figure 554460DEST_PATH_IMAGE002
(6)
and 8: and (4) arranging the key values obtained in the step (7) in a descending order and outputting the circuit units corresponding to the key values.
CN201810872257.4A 2018-08-02 2018-08-02 Key circuit unit positioning method based on embedded parallel structure genetic algorithm Active CN109145411B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810872257.4A CN109145411B (en) 2018-08-02 2018-08-02 Key circuit unit positioning method based on embedded parallel structure genetic algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810872257.4A CN109145411B (en) 2018-08-02 2018-08-02 Key circuit unit positioning method based on embedded parallel structure genetic algorithm

Publications (2)

Publication Number Publication Date
CN109145411A CN109145411A (en) 2019-01-04
CN109145411B true CN109145411B (en) 2023-04-18

Family

ID=64799382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810872257.4A Active CN109145411B (en) 2018-08-02 2018-08-02 Key circuit unit positioning method based on embedded parallel structure genetic algorithm

Country Status (1)

Country Link
CN (1) CN109145411B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110135005B (en) * 2019-04-18 2023-11-03 国网江苏省电力有限公司响水县供电分公司 Critical circuit unit positioning method based on pruning strategy
CN110188394B (en) * 2019-05-05 2023-04-18 浙江工业大学 Circuit structure-oriented quick and effective key unit positioning method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364594A (en) * 2007-08-09 2009-02-11 中国科学院半导体研究所 Silicon based single electron neure quantum circuit
CN103593287A (en) * 2013-10-30 2014-02-19 北京信息控制研究所 Genetic-algorithm-based method for automatically generating data stream test cases
CN104318307A (en) * 2014-10-21 2015-01-28 重庆工商职业学院 Tread pattern noise reduction method based on self-adaptive fuzzy genetic algorithm
CN104917044A (en) * 2015-06-08 2015-09-16 湖北航天技术研究院总体设计所 Optical fiber type laser beam quality optimization device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364594A (en) * 2007-08-09 2009-02-11 中国科学院半导体研究所 Silicon based single electron neure quantum circuit
CN103593287A (en) * 2013-10-30 2014-02-19 北京信息控制研究所 Genetic-algorithm-based method for automatically generating data stream test cases
CN104318307A (en) * 2014-10-21 2015-01-28 重庆工商职业学院 Tread pattern noise reduction method based on self-adaptive fuzzy genetic algorithm
CN104917044A (en) * 2015-06-08 2015-09-16 湖北航天技术研究院总体设计所 Optical fiber type laser beam quality optimization device

Also Published As

Publication number Publication date
CN109145411A (en) 2019-01-04

Similar Documents

Publication Publication Date Title
Dang et al. Escaping local optima with diversity mechanisms and crossover
Liu et al. XGRouter: high-quality global router in X-architecture with particle swarm optimization
Brázdil et al. One-counter stochastic games
Kramer Iterated local search with Powell’s method: a memetic algorithm for continuous global optimization
CN109145411B (en) Key circuit unit positioning method based on embedded parallel structure genetic algorithm
US20220398373A1 (en) Multi-stage fpga routing method for optimizing time division multiplexing
CN108052696B (en) Three-value FPRM circuit area and delay optimization method using particle swarm optimization
Wen et al. Enhancing PUF reliability by machine learning
Hilder et al. Use of a multi-objective fitness function to improve cartesian genetic programming circuits
Xiao et al. A locating method for reliability-critical gates with a parallel-structured genetic algorithm
Leman et al. The multiset sampler
Hung et al. BDD variable ordering by scatter search
Barhum Tight bounds for the advice complexity of the online minimum steiner tree problem
Turlea et al. A test suite generation approach based on EFSMs using a multi-objective genetic algorithm
Chen et al. Statistically consistent coarse-grained simulations for critical phenomena in complex networks
Corno et al. Experiences in the use of evolutionary techniques for testing digital circuits
Das et al. Markov clustering algorithms and their application in analysis of PPI network of malaria genes
Prashanth et al. Improving Digital Circuit Synthesis of Complex Functions using Binary Weighted Fitness and Variable Mutation Rate in Cartesian Genetic Programming.
Clark Evolution of algebraic terms 1: term to term operation continuity
Lee et al. Prediction of RNA pseudoknots-comparative study of genetic algorithms
Faye et al. Improved Design Verification by Random Simulation Guided by Genetic Algorithms
Santikellur et al. APUF-BNN: An Automated Framework for Efficient Combinational Logic Based Implementation of Arbiter PUF through Binarized Neural Network
Su et al. Formal verification of constrained arithmetic circuits using computer algebraic approach
Ni et al. An orthogonal cartesian genetic programming algorithm for evolvable hardware
Elysia et al. Hybrid latin-hyper-cube-hill-climbing method for optimizing: Experimental testing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant