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 PDF

Info

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
Application number
CN201310733464.9A
Other languages
Chinese (zh)
Other versions
CN103714384A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201310733464.9A priority Critical patent/CN103714384B/en
Publication of CN103714384A publication Critical patent/CN103714384A/en
Application granted granted Critical
Publication of CN103714384B publication Critical patent/CN103714384B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Layout method based on Move Mode sequence and the integrated circuit of heredity taboo
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.
CN201310733464.9A 2013-12-24 2013-12-24 Layout method based on Move Mode sequence and the integrated circuit of heredity taboo Active CN103714384B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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