CN103714384B - Layout method based on Move Mode sequence and the integrated circuit of heredity taboo - Google Patents
Layout method based on Move Mode sequence and the integrated circuit of heredity taboo Download PDFInfo
- Publication number
- CN103714384B CN103714384B CN201310733464.9A CN201310733464A CN103714384B CN 103714384 B CN103714384 B CN 103714384B CN 201310733464 A CN201310733464 A CN 201310733464A CN 103714384 B CN103714384 B CN 103714384B
- Authority
- CN
- China
- Prior art keywords
- module
- move mode
- fitness
- indi
- individual
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The present invention relates to a kind of based on Move Mode sequence with heredity taboo Integrated circuit layouts method it is characterised in that:Individual width and height, Move Mode, rotary mode first in initialization population, then calculate the area cost of individuality, fitness according to the method for Move Mode sequence.Then apply the selection opertor of genetic algorithm, carry out Local Search with TABU search afterwards, finally with intersection, mutation operator.Certainly, every time change sequence of modules, Move Mode, be intended to recalculate fitness with the method for Move Mode sequence to individuality after rotary mode.The present invention has a lot of advantages for solving super large-scale integration aspect, can be extended to solve on other combinatorial optimization problems.
Description
Technical field
The present invention relates to physical Design floor planning is and in particular to a kind of be based on Move Mode sequence (moving modal
Sequence, MMS) and the hereditary Integrated circuit layouts method avoiding (Genetic Tabu Search).
Background technology
Floor planning (floorplanning) is super large-scale integration (very large scale
Integration, VLSI) physical Design key link, its result has to the size of final chip and globally interconnected structure
Material impact.Making rapid progress with technology, the complexity of chip design is skyrocketed through, the size to chip and intraconnection
Can requirement also more and more higher, this make floor planning effect particularly important.For floor planning problem, existing many scholars
Apply different mathematical tools to propose many algorithms, including smallest partition algorithm, grading design method, analytical type algorithm and with
Machine optimized algorithm etc..The basic operation of Stochastic Optimization Algorithms is that each new explanation producing is estimated, and retains and preferably solves.By
The feature of problem can be directed in it and complexity carry out specific operation, flexible design is it is ensured that the optimality of solution, thus is subject to
Widely pay close attention to.
The core of Stochastic Optimization Algorithms is design layout method for expressing, that is, design a kind of coding representing layout result.?
Some Butut method for expressing can be divided into two big class:Two scattergrams represent that (slicing) and non-two scattergrams represent
(nonslicing).Two scattergrams represent by using horizontal or vertical dividing line, layout regions recurrence two is divided into some
Subregion, one and only one module of each subregion.The method of representative has On Binary Tree Representation, specification polish expression (pe) method, rule
Model postfix expression method etc..This is that a simplest class method, its solution space are less, thus solving speed is very fast.But by
There is no slicing structure so that its scope of application is less in most Butut problem.In contrast to this, non-two distribution graphs
Show with more generality, also more flexible, higher area utilization and more excellent interconnection performance can be obtained, therefore current grinds
Study carefully in the design all concentrating on non-two scattergram method for expressing.The method of representative has sequence pair, bounded segmentation grid, O-tree, B*-
Tree, Corner Block List Representation sequence, transitive closure figure, twin binary sequence, angle sequence etc..
Algorithm for floor planning problem research mostly adopts simulated annealing, seldom adopts evolution algorithm optimization.
Here the search space being mainly considered the randomized optimization process representing due to non-two scattergrams is all non-convex, is unfavorable for evolving
Algorithm, and its amount of storage is also very big.
The algorithm of a large amount of solution floor plannings proposing in document at present has been all based on sequence pair, bounded splits grid,
Under the frameworks such as O-tree, B*-tree, the algorithm used has a genetic algorithm, particle cluster algorithm and under the framework of population
Add and intersect, the strategy such as variation.Wherein, genetic algorithm is a kind of the most frequently used meta-heuristic algorithm.More broadly ground is said, heredity
Algorithm belongs to a kind of evolution algorithm, because evolution algorithm is compared with traditional optimization, have simple, general, strong robustness and
The advantages of being easy to parallelization and process, the fields such as numerical optimization, Combinatorial Optimization, classifier design it have been widely used in.But practice
Also indicate that, simply using such issues that evolution algorithm with genetic algorithm as representative to solve is inadequate it is necessary to more deepen
Ask level and excavate and using biological intelligent resource.In genetic algorithm, the individuality for producing filial generation is according to fitness
Choosing from whole population it is therefore necessary to predefine whole population fitness.It is true that natural selection is in itself
A kind of local phenomenon, it is only relevant with the individual local environment being located.That is, a certain stage, natural evolution is an office
Portion's process, it passes through gradually to spread, and just makes information be globally shared.Therefore, only use genetic algorithm for solving Butut problem not
The good mimic biology of energy processes the intelligence of things.In addition genetic algorithm also has that easy Premature Convergence, convergence rate be slow, stability is poor
The shortcomings of, thus the Butut scheme that cannot have obtained.
Content of the invention
The purpose of the present invention is for above-mentioned deficiency, provides a kind of integrated electricity based on Move Mode sequence and heredity taboo
Road layout method, it be based on Move Mode sequence, using global search and Local Search optimization method to floor planning problem
Solved such that it is able to more effectively obtain optimal solution.
The technical scheme is that and be achieved in that:Integrated circuit layouts based on Move Mode sequence and heredity taboo
Method, is characterized in that:Comprise the steps:
Step 101:Proceed by parameter setting, N is individual number in Population in Genetic Algorithms, M is each individual middle mold
The number of block, H is a constant, is set to 100, for divided by each individual area cost value, thus obtaining this individual adaptation degree;
RX, RY represent the maximum of abscissa in the two dimensional surface place rectangular module, the maximum of vertical coordinate respectively;T represents input
The txt document data columns of data, for representing the row of array;Maxgen represents the maximum algebraically of evolution, and pc represents and hands over two-by-two
Fork probability, pm represents mutation probability;R is the length of taboo list;
Step 102:Make evolutionary generation gen=0, in initialization population, sequence of modules has M module, upsets suitable at random
Sequence saves, and then initializes individual length and width in population according to these different orders, randomly generates the mobile mould of individuality
Formula, rotary mode;Wherein group [i] .indi [j] .* represents the attribute of j-th module of i-th individuality, and * can be l, w,
M, n, x, y, wherein l and w represent length and the width of j-th module respectively;M represents the Move Mode of j-th module, can be 0,1,
2 or 3;N represents the rotary mode of j-th module, and 0 expression does not rotate, and 1 represents rotation, i.e. the length of this module and wide exchange;X and y
The abscissa in the j-th module lower left corner and vertical coordinate respectively;Group [i] .cost and group [i] .fitness represents respectively
I individual area cost and fitness;LTR [j] .*, Edgy [j] .*, wherein * are xr, yb, yt, represent j-th mould respectively
The vertical coordinate of the abscissa, the vertical coordinate of left margin lower extreme point and left margin upper extreme point of right margin when the parallel y-axis of block is placed;BTT
[j] .*, Edgx [j] .*, wherein * are xl, xr, yt, lower boundary left end point when representing that j-th module parallel x-axis is placed respectively
Abscissa, the abscissa of lower boundary right endpoint, the vertical coordinate of lower boundary;
Step 103:Individuality after initialization is placed in two dimensional surface according to Move Mode and rotary mode, from
And calculate each individual area cost and fitness;
Step 104:Judge whether to meet condition gen<Maxgen, if so, then turns to step 111, exports optimal value, otherwise
Turn to step 105;
Step 105:With roulette, individuality is selected;
Step 106:TABU search carries out local optimum;Using the individuality after selecting as initial solution, it is empty taboo list, j '=
0, carry out neighborhood search with 2-opt, be equivalent to variation, change its sequence of modules or Move Mode every time, use Move Mode sequence
Column count fitness, a maximum candidate solution of fitness is solved as current, j ' Jia 1 automatically, repeats the process of neighborhood search,
Until meeting end condition;The initial population of intersection, variation is produced with this;
Step 107:Randomly generate the random number t between (0,1), if t<Pc, then randomly choose two Different Individual and carry out two
Point intersects, and calculates fitness, repeat step 107 with Move Mode sequence, until meeting end condition;Pc is crossover probability;
Step 108:Randomly generate the random number t between (0,1), if t<Pm, then randomly choose an individual and carry out single-point
Variation, calculates fitness, repeat step 108 with Move Mode sequence, until meeting end condition;Pm is mutation probability;
Step 109:Obtained population is ranked up from high to low by fitness, and by the individual in per generation
Leave in an Array for structural body, be easy to retain the optimum individual in the successive dynasties;
Step 110:Gen Jia 1 automatically, goes to step 104;
Step 111:Output optimal result, end loop.
Described step 106, comprises the following steps:
Step 201:Proceed by TABU search;
Step 202:Parameter setting, is empty taboo list;J '=0, the population after selection opertor is selected as initial population,
And TABU search is carried out to each individuality in population, using current individual as optimum individual;Each individuality is carried out next
Step;
Step 203:Whether reach iterative steps, if so, then optimal solution is preserved, otherwise turn to step 204;
Step 204:Method using 2-opt is updated, and is to carry out the order of any two module in individuality
The method exchanging is optimized;
Step 205:Produce current neighborhood solution, select candidate solution, and the maximum candidate solution of fitness in candidate solution is substituted
Former optimal candidate solution, updates taboo list;
Step 206:J '=j '+1, turns to step 203;
Step 207:Keeping optimization simultaneously terminates circulating.
Described step 103, the Move Mode sequence that 106,107,108 use calculates fitness, has the following steps:
Step 301:Start the calculating of Move Mode sequence fitness;
Step 302:The length and width of M module of initialization, randomly generates Move Mode, rotary mode;
Step 303:Make k=0, the 0th module in M module is put into the lower left corner of first quartile, even this module
The coordinate of lower-left angle point be (0,0), and initialize the right margin RX of the minimum rectangle envelope putting module, coboundary RY,
And by from left to right order and each parameter in the LTR [0] and BTT [0] of the module that journal has placed from top to bottom
Value;
Step 304:K=1, judges whether to meet end condition k<M, if then turning to step 305, otherwise goes to step 312;
Step 305:J "=k-1, according to the value of individual Move Mode m:If the value of m is 0, turn to step 306;If m's
It is worth for 1, then turn to step 307;If the value of m is 2, assign initial value indi [k] .x=max (0, RX-indi [k] .w), indi [k] .y
=RY, turns to step 308;If the value of m is 3, assign initial value indi [k] .y=max (0, RY-indi [k] .l), indi [k] .x=
RX, turns to step 309;
Step 306:It is entered as 0, indi [k] .w, RY to Edgx [k] parameters respectively, if the non-upper covering of Edgx [k]
[j "] then makes j "=j " -1, and turns to step 306 BTT;[j "] .yt turns to step 310 otherwise to make indi [k] .y=BTT;
Step 307:It is entered as RX to Edgy [k] parameters respectively, 0, indi [k] .l, if the non-right covering of Edgy [k]
[j "] then makes j "=j " -1, and turns to step 307 LTR;[j "] .xr turns to step 310 otherwise to make indi [k] .x=LTR;
Step 308:When module reaches lower tight, then be moved to the left, to reach the tight state in lower-left, be module not
Can to the left, the state that moves down, turn to step 310;
Step 309:When module reaches left tight, then moved down, to reach the tight state in lower-left, be module not
Can to the left, the state that moves down, turn to step 310;
Step 310:Update parameters value, update LTR, the value of each variable in BTT;
Step 311:Make k=k+1, turn to step 304 and judged;
Step 312:Calculate this individual area cost and fitness;
Step 313:End loop.
The present invention haggles over compared with prior art with advantages below:
1. the present invention is based on a kind of new non-two scattergram method for expressing Move Mode sequence (moving modal
Sequences, MMS) so that its search space is convex, it is that the design of crossover operator in evolution algorithm provides platform.
2. the present invention to any one layout can by iteration to the left and move down module and obtain lower-left tight
Layout, and the area of the tight layout in obtained lower-left is not more than the area of original layout, the therefore Move Mode of the present invention
The method of sequence can ensure that the layout of gained is the tight layout in lower-left.
3. global search is combined by the present invention with Local Search, devises a kind of Move Mode sequence that is based on and prohibits with heredity
Avoid the super large-scale integration layout method of algorithm.Genetic algorithm has ability of searching optimum, it be mainly characterized by simulate
The computation model of the biological evolution process of the natural selection of Darwinian evolutionism and genetic mechanisms " survival of the fittest ", is one
Plant the method by simulating natural evolution process searches optimal solution.Directly structure objects can be operated, there is inherence
Implicit Parallelism and more preferable global optimizing ability, but be easily absorbed in local optimum and produce " precocious " phenomenon.And TABU search has
Good local search ability, avoids roundabout search by quoting a flexible storage organization and corresponding taboo criterion,
And by the aspiration criterion excellent condition that some are avoided come privilege, and then ensure multifarious effective search, it is to avoid heredity is calculated
Method reaches local optimum.The simulation experiment result shows, the super large based on Move Mode sequence and heredity taboo proposed by the present invention
Scale integrated circuit layout method can effectively solve Butut problem.
Brief description
With reference to example figure, the invention will be further described:
Fig. 1 is the definition figure of Move Mode sequence;
Fig. 2 be the present invention realize general flow chart;
Fig. 3 is TABU search flow chart;
Fig. 4 is the flow path switch figure to layout for the Move Mode sequence;
Fig. 5 is various upper coverings in Move Mode sequence, right cover type figure;
Fig. 6 is the experimental result of apte in MCNC data set;
Fig. 7 is the experimental result of xerox in MCNC data set;
Fig. 8 is the experimental result of hp in MCNC data set;
Fig. 9 is the experimental result of ami33 in MCNC data set;
Figure 10 is the experimental result of 10a in GSRC data set;
Figure 11 is the experimental result of 10b in GSRC data set;
Figure 12 is the experimental result of 10c in GSRC data set.
Specific embodiment
The layout method of present invention research is for determining position on chip for the mold block so that some performances of chip,
As interconnection line overall length between chip area, module etc., optimized.What the present invention solved is how placement module, and target is
Minimize the area of chip, and typical problem storehouse MCNC Benchmark is tested.
As shown in Fig. 2
Main flow chart steps characteristic is:
Step 101:Proceed by parameter setting, N is individual number in Population in Genetic Algorithms, M is each individual middle mold
The number of block, H is a constant, is set to 100, for divided by each individual area cost value, thus obtaining this individual adaptation degree;
RX, RY represent the maximum of abscissa in the two dimensional surface place rectangular module, the maximum of vertical coordinate respectively;T represents input
The txt document data columns of data, for representing the row of array;Maxgen represents the maximum algebraically of evolution, and pc represents and hands over two-by-two
Fork probability, pm represents mutation probability;R is the length of taboo list;
Step 102:Make evolutionary generation gen=0, in initialization population, sequence of modules has M module, upsets suitable at random
Sequence saves, and then initializes individual length and width in population according to these different orders, randomly generates the mobile mould of individuality
Formula, rotary mode;Wherein group [i] .indi [j] .* represents the attribute of j-th module of i-th individuality, and * can be l, w,
M, n, x, y, wherein l and w represent length and the width of j-th module respectively;M represents the Move Mode of j-th module, can be 0,1,
2 or 3;N represents the rotary mode of j-th module, and 0 expression does not rotate, and 1 represents rotation, i.e. the length of this module and wide exchange;X and y
The abscissa in the j-th module lower left corner and vertical coordinate respectively;Group [i] .cost and group [i] .fitness represents respectively
I individual area cost and fitness;LTR [j] .*, Edgy [j] .*, wherein * are xr, yb, yt, represent j-th mould respectively
The vertical coordinate of the abscissa, the vertical coordinate of left margin lower extreme point and left margin upper extreme point of right margin when the parallel y-axis of block is placed;BTT
[j] .*, Edgx [j] .*, wherein * are xl, xr, yt, lower boundary left end point when representing that j-th module parallel x-axis is placed respectively
Abscissa, the abscissa of lower boundary right endpoint, the vertical coordinate of lower boundary;
Step 103:Individuality after initialization is placed in two dimensional surface according to Move Mode and rotary mode, from
And calculate each individual area cost and fitness;
Step 104:Judge whether to meet condition gen<Maxgen, if so, then turns to step 111, exports optimal value, otherwise
Turn to step 105;
Step 105:With roulette, individuality is selected;
Step 106:TABU search carries out local optimum;Using the individuality after selecting as initial solution, it is empty taboo list, j '=
0, carry out neighborhood search with 2-opt, be equivalent to variation, change its sequence of modules or Move Mode every time, use Move Mode sequence
Column count fitness, a maximum candidate solution of fitness is solved as current, j ' Jia 1 automatically, repeats the process of neighborhood search,
Until meeting end condition;The initial population of intersection, variation is produced with this;
Step 107:Randomly generate the random number t between (0,1), if t<Pc, then randomly choose two Different Individual and carry out two
Point intersects, and calculates fitness, repeat step 107 with Move Mode sequence, until meeting end condition;Pc is crossover probability;
Step 108:Randomly generate the random number t between (0,1), if t<Pm, then randomly choose an individual and carry out single-point
Variation, calculates fitness, repeat step 108 with Move Mode sequence, until meeting end condition;Pm is mutation probability;
Step 109:Obtained population is ranked up from high to low by fitness, and by the individual in per generation
Leave in an Array for structural body, be easy to retain the optimum individual in the successive dynasties;
Step 110:Gen Jia 1 automatically, goes to step 104;
Step 111:Output optimal result, end loop.
As shown in figure 3,
Described step 106, comprises the following steps:
Step 201:Proceed by TABU search;
Step 202:Parameter setting, is empty taboo list;J '=0, the population after selection opertor is selected as initial population,
And TABU search is carried out to each individuality in population, using current individual as optimum individual;Each individuality is carried out next
Step;
Step 203:Whether reach iterative steps, if so, then optimal solution is preserved, otherwise turn to step 204;
Step 204:Method using 2-opt is updated, and is to carry out the order of any two module in individuality
The method exchanging is optimized;
Step 205:Produce current neighborhood solution, select candidate solution, and the maximum candidate solution of fitness in candidate solution is substituted
Former optimal candidate solution, updates taboo list;
Step 206:J '=j '+1, turns to step 203;
Step 207:Keeping optimization simultaneously terminates circulating.
As shown in figure 4,
Described step 103, the Move Mode sequence that 106,107,108 use calculates fitness, comprises the steps:
Step 301:Start the calculating of Move Mode sequence fitness;
Step 302:The length and width of M module of initialization, randomly generates Move Mode, rotary mode;
Step 303:Make k=0, the 0th module in M module is put into the lower left corner of first quartile, even this module
The coordinate of lower-left angle point be (0,0), and initialize the right margin RX of the minimum rectangle envelope putting module, coboundary RY,
And by from left to right order and each parameter in the LTR [0] and BTT [0] of the module that journal has placed from top to bottom
Value;
Step 304:K=1, judges whether to meet end condition k<M, if then turning to step 305, otherwise goes to step 312;
Step 305:J "=k-1, according to the value of individual Move Mode m:If the value of m is 0, turn to step 306;If m's
It is worth for 1, then turn to step 307;If the value of m is 2, assign initial value indi [k] .x=max (0, RX-indi [k] .w), indi [k] .y
=RY, turns to step 308;If the value of m is 3, assign initial value indi [k] .y=max (0, RY-indi [k] .l), indi [k] .x=
RX, turns to step 309;
Step 306:It is entered as 0, indi [k] .w, RY to Edgx [k] parameters respectively, if the non-upper covering of Edgx [k]
[j "] then makes j "=j " -1, and turns to step 306 BTT;[j "] .yt turns to step 310 otherwise to make indi [k] .y=BTT;
Step 307:It is entered as RX to Edgy [k] parameters respectively, 0, indi [k] .l, if the non-right covering of Edgy [k]
[j "] then makes j "=j " -1, and turns to step 307 LTR;[j "] .xr turns to step 310 otherwise to make indi [k] .x=LTR;
Step 308:When module reaches lower tight, then be moved to the left, to reach the tight state in lower-left, be module not
Can to the left, the state that moves down, turn to step 310;
Step 309:When module reaches left tight, then moved down, to reach the tight state in lower-left, be module not
Can to the left, the state that moves down, turn to step 310;
Step 310:Update parameters value, update LTR, the value of each variable in BTT;
Step 311:Make k=k+1, turn to step 304 and judged;
Step 312:Calculate this individual area cost and fitness;
Step 313:End loop.
The effect of the present invention can be verified by following emulation experiment:
1. experiment running environment and condition setting:
The environment that experiment runs:Processor is Intel (R) Core (TM) 2 CPU 6300@1.86GHZ, and 1.97GB's is interior
Deposit, hard disk is 250G, operating system is Microsoft Windows XP Professional 2002, programmed environment is
Microsoft Visual C++6.0.
Experiment condition is arranged:Test a set of floor planning problem base in experiment, be to Floorplan_Data data base
10a in 9,10,11,33,49 mold block in middle MCNC Benchmark data and GSRC data base, 10b, 10c are carried out
Experiment, they are respectively:apte hard、xerox hard、hp hard、ami33 hard、ami49 hard、n10a、n10b、
n10c.Entering evolutionary generation maxgen in experiment was 200 generations, and N is 100, that is, refer to have individuality in each population, crossover probability is
Pc=0.95, mutation probability is pm=0.15.In view of the randomness of algorithm, in Solve problems during each example, program repeats
Run 10 times, its test result is as shown in Table 1.It is to be utilized with the minimum rectangle envelope size of Butut result and area in table
Rate two indices are weighing the quality of Butut result.The calculation of area utilization is as follows:
Table one solves MCNC GSRC problem set example with genetic-Tabu search
Test MCNC problem set and GSRC subproblem collection in example in table, calculate optimal area value and 10
The meansigma methodss of experiment and average operating time.
Problem for convenience of description, method therefor of the present invention solves super large-scale integration with some classical ways
The Performance comparision of MCNC data set is shown in Table two:
Table two and existing Performance comparision on MCNC data set for the method
Because GSRC data set is using less, only partial results are compared with acquired results below, such as table three:
Table three and existing Performance comparision on GSRC data set for the method
In terms of above experimental result, the present invention is a kind of effective layout method, best with respect to the effect that presently, there are
Method, the present invention is not more preferable, but based on Move Mode sequence heredity taboo solve super large-scale integration cloth
Figure is an innovative point, and the Butut problem that other evolution algorithms solve super large-scale integration to development has good guidance to make
With.
Based on Move Mode sequence, apply the selection of genetic algorithm, intersect, mutation operator simultaneously applies taboo under its framework
Search is optimized to area.
Now make one to Move Mode sequence briefly to introduce:As shown in figure 1, plane is divided into lower boundary and right margin, point
It is not fixed as x-axis, y-axis, the moving range of all modules is all in first quartile.The module of first need discharge be placed on first as
The lower left corner of limit, that is, the coordinate in the lower left corner of this module is (0,0).For the module that need to put for i-th, i-1 mould to be placed on
The upper or side of the rectangular envelope of block;The numbering of the first position is 0, and it represents the left side that this module is placed on envelope coboundary
Side, even the abscissa in this module lower left corner is 0, vertical coordinate is the coboundary of envelope, and this i module has constituted left tight layout,
It is can not be again to moving to left in the case that other modules do not move, therefore can only be by this module to moving down tight layout under composition;
The numbering of second position is 1, and it represents the lower section that module is placed on envelope right margin, even the abscissa in this module lower left corner
For the right margin of envelope, vertical coordinate is 0, and this i module has constituted tight layout under one kind, is the feelings not moved in other modules
Can not move still further below under condition, therefore this module can only be moved to the left to constitute left tight layout;The numbering of the third position is 2,
It represents the right that module is placed on envelope coboundary, even the abscissa in this module lower right corner is the right margin of envelope, indulges and sits
It is designated as the coboundary of envelope.When this module be wider than envelope wide when, its left margin would be at the second quadrant.At this moment, must
Must be moved right, until the abscissa in its lower left corner is 0.The module being in the third position both can be moved to the left and can
To move down, if but if being moved to the left, first reach left tight, then repeat with the first position, therefore be in the third position
The priority that module moves down is higher than the priority that is moved to the left, be first moved down into immovable till, then to the left
Mobile, till reaching the tight layout in lower-left;4th kind of Position Number is 3, and its expression will be placed on the top of envelope right margin, that is,
Make the right margin for envelope for the abscissa in this module upper left corner, vertical coordinate is the coboundary of envelope.When this module tall and big in bag
Network high when, its lower boundary would be at fourth quadrant.At this moment it is necessary to be moved up, until the vertical coordinate in its lower left corner
For 0.The module being in the 4th kind of position both can move down and can also be moved to the left, if but if moving down, first reach
Lower tight, then repeat with second position, therefore the priority that the module being in the 4th kind of position is moved to the left is higher than move down
Priority, be first moved to the left to immovable till, then move down, till reaching the tight layout in lower-left.
Move Mode make module reach lower-left tight during to use covering and right covering, its definition is as shown in Figure 5:
If the border parallel to X-axis is Edgya, EdgybIf they are unsatisfactory for Edgxa.xr≤EdgxbOr Edgx .xr,a.xl≥
EdgxbOr Edgx .xr,a.yt≤Edgxb.yt, Edgy is then describedaUpper covering Edgyb, it is overlay module B in modules A;If flat
Row is Edgy in the border of X-axisa,EdgybIf they are unsatisfactory for Edgya.yt≤EdgybOr Edgy .yb,a.yb≥
EdgybOr Edgy .yt,a.xr≤Edgyb.xr, then Edgy is describedaRight covering Edgyb, it is modules A right overlay module B;
The explanation of experimental result:
1) be apte in data set MCNC shown in Fig. 6, i.e. 0~8 totally nine modules, the Butut result of the application present invention;
2) be xerox in data set MCNC shown in Fig. 7, i.e. 0~9 totally ten module, the Butut result of the application present invention;
3) Fig. 8 is hp in MCNC data set MCNC, i.e. 0~10 totally ten one modules, the Butut result of the application present invention;
4) Fig. 9 is ami33 in data set MCNC, i.e. 0~32 totally three ten three modules, the Butut result of the application present invention;
5) Figure 10 is 10a in data set GSRC, i.e. 0~9 totally ten modules, the Butut result of the application present invention;
6) Figure 11 is 10b in data set GSRC, i.e. 0~9 totally ten modules, the Butut result of the application present invention;
7) Figure 12 is 10c in data set GSRC, i.e. 0~9 totally ten modules, the Butut result of the application present invention;
The part of narration and english abbreviation in detail does not belong to the common knowledge of the industry to the present embodiment, may search on the net
Arrive, do not describe one by one here.
Claims (2)
1. the layout method based on Move Mode sequence and the integrated circuit of heredity taboo, is characterized in that:Comprise the steps:
Step 101:Proceed by parameter setting, N is individual number in Population in Genetic Algorithms, and M is module in each individuality
Number, H is a constant, is set to 100, for divided by each individual area cost value, thus obtaining this individual adaptation degree;RX,RY
Represent the maximum of abscissa in the two dimensional surface place rectangular module, the maximum of vertical coordinate respectively;T represents input data
Txt document data columns, for representing the row of array;Maxgen represents the maximum algebraically of evolution, and pc represents crossover probability two-by-two,
Pm represents mutation probability;R is the length of taboo list;
Step 102:Make evolutionary generation gen=0, in initialization population, sequence of modules has M module, upset order at random and protect
Store away, then initialize individual length and width in populations according to these different orders, randomly generate individuality Move Mode,
Rotary mode;Wherein group [i] .indi [j] .* represents the attribute of j-th module of i-th individuality, and * can be l, w, m, n,
X, y, wherein l and w represent length and the width of j-th module respectively;M represents the Move Mode of j-th module, can be 0,1,2 or
3;N represents the rotary mode of j-th module, and 0 expression does not rotate, and 1 represents rotation, i.e. the length of this module and wide exchange;X and y divides
The abscissa in the other j-th module lower left corner and vertical coordinate;Group [i] .cost and group [i] .fitness represents i-th respectively
Individual area cost and fitness;LTR [j] .*, Edgy [j] .*, wherein * are xr, yb, yt, represent j-th module respectively
The vertical coordinate of the abscissa, the vertical coordinate of right margin lower extreme point and right margin upper extreme point of right margin when parallel y-axis is placed;BTT
[j] .*, Edgx [j] .*, wherein * are xl, xr, yb, lower boundary left end point when representing that j-th module parallel x-axis is placed respectively
Abscissa, the abscissa of lower boundary right endpoint, the vertical coordinate of lower boundary;
Step 103:Individuality after initialization is placed in two dimensional surface according to Move Mode and rotary mode, thus counting
Calculate each individual area cost and fitness;
Step 104:Judge whether to meet condition gen<Maxgen, if so, then turns to step 111, exports optimal value, otherwise turns to
Step 105;
Step 105:With roulette, individuality is selected;
Step 106:TABU search carries out local optimum;Using the individuality after selecting as initial solution, it is empty taboo list, j '=0, uses
2-opt carries out neighborhood search, is equivalent to variation, changes its sequence of modules or Move Mode every time, with Move Mode sequence meter
Calculate fitness, a maximum candidate solution of fitness is solved as current, j ' Jia 1 automatically, repeat the process of neighborhood search, until
Meet end condition;The initial population of intersection, variation is produced with this;
Step 107:Randomly generate the random number t between (0,1), if t<Pc, then randomly choose two Different Individual and carry out 2 points of friendships
Fork, and calculate fitness, repeat step 107 with Move Mode sequence, until meeting end condition;Pc is crossover probability;
Step 108:Randomly generate the random number t between (0,1), if t<Pm, then randomly choose an individual and carry out single-point variation,
Calculate fitness, repeat step 108 with Move Mode sequence, until meeting end condition;Pm is mutation probability;
Step 109:Obtained population is ranked up from high to low by fitness, and the individual in per generation is deposited
In an Array for structural body, it is easy to retain the optimum individual in the successive dynasties;
Step 110:Gen Jia 1 automatically, goes to step 104;
Step 111:Output optimal result, end loop;
Described step 103, the Move Mode sequence that 106,107,108 use calculates fitness, has the following steps:
Step 301:Start the calculating of Move Mode sequence fitness;
Step 302:The length and width of M module of initialization, randomly generates Move Mode, rotary mode;
Step 303:Make k=0, the 0th module in M module is put into the lower left corner of first quartile, even a left side for this module
The coordinate of lower angle point is (0,0), and initializes the right margin RX of the minimum rectangle envelope putting module, coboundary RY, and
By from left to right order and each parameter value in the LTR [0] and BTT [0] of the module that journal has placed from top to bottom, k
=1;
Step 304:Judge whether to meet end condition k<M, if then turning to step 305, otherwise goes to step 312;
Step 305:J "=k-1, according to the value of kth module Move Mode m:If the value of m is 0, turn to step 306;If the value of m
For 1, then turn to step 307;If the value of m is 2, assign initial value indi [k] .x=max (0, RX-indi [k] .w), indi [k] .y=
RY, turns to step 308;If the value of m is 3, assign initial value indi [k] .y=max (0, RY-indi [k] .l), indi [k] .x=RX,
Turn to step 309;
Step 306:It is entered as 0, indi [k] .w, RY to Edgx [k] parameters respectively, if Edgx [k] is non-upper covering BTT
[j "] then makes j "=j " -1, and turns to step 306;[j "] .yt turns to step 310 otherwise to make indi [k] .y=BTT;
Step 307:It is entered as RX to Edgy [k] parameters respectively, 0, indi [k] .l, if Edgy [k] is non-right covering LTR
[j "] then makes j "=j " -1, and turns to step 307;[j "] .xr turns to step 310 otherwise to make indi [k] .x=LTR;
Step 308:When module reaches lower tight, then it is moved to the left, to reach the tight state in lower-left, be that module can not be to
State that is left, moving down, turns to step 310;
Step 309:When module reaches left tight, then moved down, to reach the tight state in lower-left, be that module can not be to
State that is left, moving down, turns to step 310;
Step 310:Update parameters value, update LTR, the value of each variable in BTT;
Step 311:Make k=k+1, turn to step 304 and judged;
Step 312:Calculate this individual area cost and fitness;
Step 313:End loop.
2. the Integrated circuit layouts method based on Move Mode sequence and heredity taboo according to claim 1, its feature
It is:
Described step 106, comprises the following steps:
Step 201:Proceed by TABU search;
Step 202:Parameter setting, is empty taboo list;J '=0, the population after selection opertor is selected is as initial population and right
Each individuality in population carries out TABU search, using current individual as optimum individual;Next step is carried out for each individuality;
Step 203:Whether reach iterative steps, if so, then enter step 207, keeping optimization simultaneously terminates circulating, and otherwise turns to
Step 204;
Step 204:Method using 2-opt is updated, and is to swap the order of any two module in individuality
Method be optimized;
Step 205:Produce current neighborhood solution, select candidate solution, and will be former for candidate solution replacement maximum for fitness in candidate solution
Good candidate solution, updates taboo list;
Step 206:J '=j '+1, turns to step 203;
Step 207:Keeping optimization simultaneously terminates circulating.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310733464.9A CN103714384B (en) | 2013-12-24 | 2013-12-24 | Layout method based on Move Mode sequence and the integrated circuit of heredity taboo |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310733464.9A CN103714384B (en) | 2013-12-24 | 2013-12-24 | Layout method based on Move Mode sequence and the integrated circuit of heredity taboo |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103714384A CN103714384A (en) | 2014-04-09 |
CN103714384B true CN103714384B (en) | 2017-03-01 |
Family
ID=50407339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310733464.9A Active CN103714384B (en) | 2013-12-24 | 2013-12-24 | Layout method based on Move Mode sequence and the integrated circuit of heredity taboo |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103714384B (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI646315B (en) | 2017-11-15 | 2019-01-01 | 財團法人工業技術研究院 | Temperature estimating device and temperature estimating method |
CN109033510B (en) * | 2018-06-14 | 2023-10-13 | 佛山市顺德区中山大学研究院 | Three-dimensional integrated circuit interconnection line length optimization method and device based on genetic algorithm |
CN109543217B (en) * | 2018-10-16 | 2023-05-02 | 成都华微电子科技股份有限公司 | Serial equivalent FPGA parallel layout method |
CN109726479B (en) * | 2018-12-29 | 2023-05-09 | 南京宁麒智能计算芯片研究院有限公司 | Deployment method of three-dimensional network-on-chip vertical channel |
CN111268564B (en) * | 2020-02-10 | 2021-05-28 | 河北工业大学 | Intelligent overhead traveling crane anti-swing control system based on iteration-genetic algorithm |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150459A (en) * | 2013-01-10 | 2013-06-12 | 北京航空航天大学 | Optimization design method of low-noise amplifier based on genetic algorithm |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090307636A1 (en) * | 2008-06-05 | 2009-12-10 | International Business Machines Corporation | Solution efficiency of genetic algorithm applications |
-
2013
- 2013-12-24 CN CN201310733464.9A patent/CN103714384B/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103150459A (en) * | 2013-01-10 | 2013-06-12 | 北京航空航天大学 | Optimization design method of low-noise amplifier based on genetic algorithm |
Non-Patent Citations (3)
Title |
---|
An adaptive genetic algorithm for VLSI floorplanning based on sequence-pair;Nakaya S etal.;《IEEE International Symposium on Circuits and Systems》;20000531;第3卷;第65-68页 * |
协同进化算法及其应用研究;刘静;《中国博士学位论文全文数据库 信息科技辑》;20050615;第96-113页 * |
用于VLSI布局的计算智能方法研究;符宁;《中国优秀硕士学位论文全文数据库 信息科技辑》;20021215;第28-35页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103714384A (en) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103714384B (en) | Layout method based on Move Mode sequence and the integrated circuit of heredity taboo | |
Wang et al. | Multi-objective optimization of turbomachinery using improved NSGA-II and approximation model | |
CN102446236B (en) | Automatically optimized piping arrangement method based on improved genetic algorithm | |
Ghiasi et al. | A non-dominated sorting hybrid algorithm for multi-objective optimization of engineering problems | |
CN104699899B (en) | A kind of ship pipeline path optimization design method | |
Aiello et al. | A non dominated ranking Multi Objective Genetic Algorithm and electre method for unequal area facility layout problems | |
CN106971242A (en) | A kind of clothes Automatic Optimal discharging method | |
CN107784380A (en) | The optimization method and optimization system of a kind of inspection shortest path | |
CN102521854B (en) | Parallel flow line placing method applicable to two-dimensional flow field | |
CN108846526A (en) | A kind of CO2 emissions prediction technique | |
CN106527381A (en) | Fast evaluation method facing parallel batch processing machine dynamic scheduling | |
CN103336855A (en) | Two-dimensional irregular layout method based on multi-subpopulation particle swarm optimization | |
CN109102107A (en) | A kind of multirow workshop equipment layout method based on logistics simulation | |
CN103729694B (en) | The method that improvement GA based on polychromatic sets hierarchical structure solves Flexible workshop scheduling | |
García‐Hernández et al. | Facility layout design using a multi‐objective interactive genetic algorithm to support the DM | |
CN103455612B (en) | Based on two-stage policy non-overlapped with overlapping network community detection method | |
CN104899446A (en) | Method for simulating fluctuating wind speeds on basis of data drive | |
CN104574517B (en) | The treating method and apparatus of the boundary face grid cell of threedimensional model | |
CN103353916B (en) | Composite Laminated Panel based on engineering optimizes post-processing approach | |
CN103150614A (en) | Automatic configuration method for land utilization space | |
CN106250933A (en) | Method, system and the FPGA processor of data clusters based on FPGA | |
CN108540988A (en) | A kind of scene partitioning method and device | |
CN102323960A (en) | Layout module distribution density smoothing method considering degree of overlapping and wire length | |
CN103677960A (en) | Game resetting method for virtual machines capable of controlling energy consumption | |
Su et al. | Cabin placement layout optimisation based on systematic layout planning and genetic algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |