CN103714384A - Integrated circuit floor planning method based on moving modal sequence and Memetic algorithm - Google Patents

Integrated circuit floor planning method based on moving modal sequence and Memetic algorithm Download PDF

Info

Publication number
CN103714384A
CN103714384A CN201310733464.9A CN201310733464A CN103714384A CN 103714384 A CN103714384 A CN 103714384A CN 201310733464 A CN201310733464 A CN 201310733464A CN 103714384 A CN103714384 A CN 103714384A
Authority
CN
China
Prior art keywords
module
fitness
move mode
value
indi
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.)
Granted
Application number
CN201310733464.9A
Other languages
Chinese (zh)
Other versions
CN103714384B (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

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention relates to an integrated circuit floor planning method based on a moving modal sequence and a Memetic algorithm. The integrated circuit floor planning method based on the moving modal sequence and the Memetic algorithm is characterized by comprising the steps that the widths, the heights, the moving modes and the rotating modes of individuals in a group are initialized, and the size cost and the fitness of each individual are calculated by using the method of the moving modal sequence; a selection operator of a genetic algorithm is applied, tabu searching is used for carrying out local searching, and a crossover operator and a mutation operator are used. It is certain that after the module sequence, the moving mode and the rotating mode are changed each time, the fitness of each individual needs to be calculated again through the method of the moving modal sequence. The integrated circuit floor planning method based on the moving modal sequence and the Memetic algorithm has the advantages of being capable of solving a very large scale integration, and also capable of expanding to solution of other combinational optimization problems.

Description

Layout method based on Move Mode sequence with the integrated circuit of heredity taboo
Technical field
The present invention relates to physical Design floor planning, be specifically related to a kind of based on Move Mode sequence (moving modal sequence, MMS) and heredity taboo (Memetic algorithm) integrated circuit layout method.
Background technology
Floor planning (floorplanning) is the key link of VLSI (very large scale integrated circuit) (very large scale integration, VLSI) physical Design, and its result is to the size of final chip and globally interconnected structure important.Along with making rapid progress of technology, the complexity of chip design rapidly increases, also more and more higher to the requirement of the size of chip and intraconnection performance, and this makes the effect of floor planning particularly important.For floor planning problem, existing many scholars apply different mathematical tools and have proposed many algorithms, comprise smallest partition algorithm, grading design method, analytical type algorithm and Stochastic Optimization Algorithms etc.The basic operation of Stochastic Optimization Algorithms is that the new explanation of each generation is assessed, and retains preferably and separates.Because it can carry out specific operation for feature and the complicacy of problem, flexible design, can guarantee the optimality of solution, thereby be paid close attention to widely.
The core of Stochastic Optimization Algorithms is design layout method for expressing, designs a kind of coding that represents layout result.Existing Butut method for expressing can be divided into two large classes: two distribution plans represent that (slicing) and non-two distribution plans represent (nonslicing).Two distribution plans represent that each subregion has and only have a module by using horizontal or vertical dividing line that cloth graph region recurrence two is divided into some subregions.The method of representative has On Binary Tree Representation, standard polish expression (pe) method, standard postfix expression method etc.This is that the simplest class methods, its solution space are less, thereby solves speed.But because most Butut problem does not have two planning separation structures, make its scope of application less.Therefore in contrast to this, non-two distribution plans represent to have more generality, also more flexible, can obtain higher area utilization and more excellent interconnection performance, and current research all concentrates on non-two distribution plans and represents in the design of method.The method of representative has sequence to cut apart grid, O-tree, B*-tree, Corner Block List Representation sequence, transitive closure figure, twin binary sequence, angle sequence etc. to, bounded.
The algorithm of having studied for floor planning problem mostly adopts simulated annealing, seldom adopts evolution algorithm optimization.Here the equal right and wrong in search volume of mainly thinking the random optimization method that represents due to non-two distribution plans are protruding, be unfavorable for evolution algorithm, and its memory space are also very large.
The algorithm that solves in a large number floor planning proposing in document is at present all based on there being sequence to cut apart under the frameworks such as grid, O-tree, B*-tree, bounded, the algorithm of using has genetic algorithm, particle cluster algorithm and add intersection under the framework of population, the strategies such as variation.Wherein, genetic algorithm is the most frequently used a kind of meta-heuristic algorithm.More the ground of broad sense is said, genetic algorithm belongs to a kind of evolution algorithm, because evolution algorithm is compared with traditional optimization, there is simple, general, strong robustness and be convenient to the advantages such as parallelization processing, be widely used in the fields such as numerical optimization, Combinatorial Optimization, classifier design.But practice also shows, only use and take evolution algorithm that genetic algorithm is representative to solve this class problem be inadequate, also must ask more profoundly and excavate and utilize biological intelligent resource.In genetic algorithm, individuality for generation of filial generation chooses from whole population according to fitness, therefore must pre-determine the fitness of whole population, in fact, natural selection itself is a kind of local phenomenon, and it is only relevant with the local environment at individual place.That is to say, certain one-phase, natural evolution is a local process, and it is by gradually spreading, and just making information is that the overall situation is shared.Therefore, only with genetic algorithm for solving Butut problem well mimic biology process the intelligence of things, in addition genetic algorithm also have easy Premature Convergence, speed of convergence slowly, the shortcoming such as poor stability, thereby the project process plan that cannot obtain.
Summary of the invention
The object of the invention is for above-mentioned deficiency, a kind of integrated circuit layout method of avoiding based on Move Mode sequence and heredity is provided, it is based on Move Mode sequence, utilize the optimization method of global search and Local Search to solve floor planning problem, thereby can more effectively obtain optimum solution.
Technical scheme of the present invention is achieved in that the integrated circuit layout method with heredity taboo based on Move Mode sequence, it is characterized in that: comprise the steps:
Step 101: start to carry out setting parameter, N is population number in genetic algorithm, and M is individual amount in each population, and H is a constant, is made as 100, is used for divided by each individual area cost value, thereby obtains this ideal adaptation degree; RX, RY represents respectively to place the maximal value of horizontal ordinate in the two dimensional surface of rectangular module, the maximal value of ordinate; T represents to input the txt document data columns of data, for representing the row of array; Maxgen represents the maximum algebraically of evolving, and pc represents crossover probability between two, and pm represents the probability that makes a variation; R is the length of taboo list;
Step 102:gen=0, sequence of modules in initialization population, has M module, upsets at random order and saves, and then, according to individual wide, high in these different order initialization populations, produces at random individual Move Mode, rotary mode; Group[i wherein] .indi[j] .*, represent the attribute of j the individuality of i population, wherein * can be w, h, m, n, x, y, represents respectively the wide, high of j module, numerical value in Move Mode is 0,1,2, a value in 3, represents not rotate with 0 in rotary mode, and 1 represents length and the wide exchange of rectangular module, module lower left corner horizontal ordinate, lower left corner ordinate; Group[i] .cost and group[i] .fitness represents respectively area cost and the fitness of i population; LTR[j] .*, Edgy[j] .*, wherein * can be expressed as xr, yb, yt, while representing that respectively j the parallel y axle of module placed, right margin horizontal ordinate, the ordinate of left margin lower extreme point, the ordinate of left margin upper extreme point; BTT[j] .*, Edgx[j] .*, wherein * can be expressed as xl, xr, yt, while representing that respectively j the parallel x axle of module placed, lower boundary left end point horizontal ordinate, the horizontal ordinate of lower boundary right endpoint, the ordinate of lower boundary;
Step 103: the individuality after initialization is placed in two dimensional surface according to Move Mode and rotary mode, thereby calculated each individual area cost and fitness;
Step 104: the gen<maxgen that whether satisfies condition, if so, turn to step 111, output optimal value, otherwise turn to step 105;
Step 105: individuality is selected by roulette;
Step 106: tabu search is carried out local optimum; Individuality after selecting is as initial solution, put sky taboo list, j=0, carries out neighborhood search with 2-opt, is equivalent to variation, each its sequence of modules or Move Mode of becoming, by Move Mode sequence, calculate fitness, using a candidate solution of fitness maximum as current solution, j adds 1 automatically, repeat the process of neighborhood search, until meet end condition; With this, produce the initial population of intersection, variation;
Step 107: the random random number t producing between (0,1), if t<pc selects two Different Individual to carry out 2 intersections at random, and calculates fitness by Move Mode sequence. repeating step 107, until meet end condition; Pc is crossover probability;
Step 108: the random random number t producing between (0,1), if t<pm selects body one by one to carry out single-point variation at random, calculates fitness by Move Mode sequence. repeating step 108, until meet end condition; Pm is variation probability;
Step 109: resulting population is sorted from high to low by fitness, and first individuality in per generation is left in a structure array, be convenient to retain the optimum individual in the successive dynasties;
Step 110:gen adds 1 automatically, goes to step 104;
Step 111: output optimal result, end loop.
Described step 106, comprises the following steps:
Step 201: start to carry out tabu search;
Step 202: setting parameter, put sky taboo list; J=0, using the population after the selection of selection operator as initial population, and carries out tabu search to each individuality in population, using current individuality as optimum individual; For each individuality, carry out next step;
Step 203: whether arrive iterative steps, if so, optimum solution is preserved, otherwise turn to step 204;
Step 204: adopting the method for 2-opt to upgrade, is that the method that the order of any two modules in individuality is exchanged is optimized;
Step 205: produce current neighborhood solution, select candidate solution, and the candidate solution of fitness maximum in candidate solution is substituted to former optimal candidate solution, upgrade taboo list;
Step 206:j=j+1, turns to step 203;
Step 207: keeping optimization also stops circulation.
Described step 103,106,107, the 108 Move Mode sequences of using are calculated fitness, have the following steps:
Step 301: start the calculating of Move Mode sequence fitness;
Step 302: initialization M individual length and width, produces Move Mode, rotary mode at random;
Step 303: make i=0, the 0th module in M individuality is put into the lower left corner of first quartile, even the coordinate of the lower-left angle point of this module is (0,0), and the right margin RX of the minimum rectangle envelope of module has been put in initialization, coboundary RY, and by from left to right order and the from top to bottom LTR[0 of module that journal has placed], BTT[0] in each parameter value;
Step 304:i=1, judges whether to meet end condition i<M, if turn to step 305, otherwise goes to step 312;
Step 305:j=i-1, according to the value of individual Move Mode m: if the value of m is 0, turn to step 306; If the value of m is 1, turn to step 307; If the value of m is 2, initialize indi[i] and .x=max (0, RX-indi[i] .w), indi[i] and .y=RY, turn to step 308; If the value of m is 3, initialize indi[i] and .y=max (0, RY-indi[i] .h), indi[i] and .x=RX, turn to step 309;
Step 306: give Edgx[i] parameters respectively assignment be 0, indi[i] .w, RY, if Edgx[i] non-upper covering BTT[j], make j=j-1, and turn to step 306; Otherwise make indi[i] .y=BTT[j] .yt. turns to step 310;
Step 307: give Edgy[i] parameters respectively assignment be RX, 0, indi[i] .h, if Edgy[i] non-right covering LTR[j], make j=j-1, and turn to step 307; Otherwise make indi[i] .x=LTR[j] .xr. turns to step 310;
Step 308: module reaches lower tight time, then is moved to the left, to reach the tight state in lower-left, is the state that module can not be left, moved down, and turns to step 310;
Step 309: module reaches left tight time, then is moved down, to reach the tight state in lower-left, is the state that module can not be left, moved down, and turns to step 310;
Step 310: upgrade parameters value.Upgrade LTR, the value of each variable in BTT;
Step 311: make i=i+1, turn to step 304 to judge;
Step 312: calculate this individual area cost and fitness;
Step 313: end loop.
The present invention haggles over and has the following advantages compared with prior art:
1. the present invention is based on a kind of new non-two distribution plans and represent method---Move Mode sequence (moving modal sequences, MMS), the search volume that makes it is protruding, for the design of crossover operator in evolution algorithm provides platform.
2. the present invention is based on any one layout can by iteration left and move down module and obtain the tight layout in lower-left, and the area of the tight layout in resulting lower-left can not be greater than the area of original layout, so the method for the Move Mode sequence used of the present invention can guarantee that the layout of gained is the tight layout in lower-left.
3. the present invention combines global search with Local Search, has designed a kind of VLSI (very large scale integrated circuit) layout method of the cultural gene algorithm based on Move Mode sequence.Genetic algorithm is to have ability of searching optimum based on it, its principal feature is the computation model of the natural selection of simulation Darwin theory of biological evolution and the biological evolution process of science of heredity mechanism " survival of the fittest ", is a kind of by the method for simulating nature evolutionary process search optimum solution.Can directly to structure objects, operate, there is inherent Implicit Parallelism and better global optimizing ability, but easily reach local optimum and produce " precocity " phenomenon.And tabu search has good local search ability, by reference one storage organization and corresponding taboo criterion are avoided roundabout search flexibly, and carry out some excellent conditions of being avoided of privilege by despising criterion, and then guarantee the multifarious efficient search that has, avoid genetic algorithm to reach local optimum.The simulation experiment result shows, what the present invention proposed can effectively solve Butut problem based on Move Mode sequence and the VLSI (very large scale integrated circuit) layout method of heredity taboo.
Below in conjunction with example figure, the invention will be further described:
Accompanying drawing explanation
Fig. 1 is the definition figure of Move Mode sequence;
Fig. 2 is the general flow chart of realizing of the present invention;
Fig. 3 is tabu search process flow diagram;
Fig. 4 is that Move Mode sequence is to the flow path switch figure of layout;
Fig. 5 is various upper coverings in Move Mode sequence, right cover type figure;
Fig. 6 is the experimental result of MCNC data centralization apte;
Fig. 7 is the experimental result of MCNC data centralization xerox;
Fig. 8 is the experimental result of MCNC data centralization hp;
Fig. 9 is the experimental result of MCNC data centralization ami33;
Figure 10 is the experimental result of GSRC data centralization 10a;
Figure 11 is the experimental result of GSRC data centralization 10b;
Figure 12 is the experimental result of GSRC data centralization 10c.
Embodiment
The layout method of the present invention research, is to be to determine the position of die piece on chip, makes some performance of chip, as the interconnection line overall length between chip area, module etc., is optimized.The present invention solves is placement module how, and target is the area that minimizes chip, and typical problem storehouse MCNC Benchmark is tested.
As shown in Figure 2,
Main flow chart steps characteristic is:
Step 101: start to carry out setting parameter, N is population number in genetic algorithm, and M is individual amount in each population, and H is a constant (being made as 100 herein), is used for divided by each individual area cost value, thereby obtains this ideal adaptation degree.RX, RY represents respectively to place the maximal value of horizontal ordinate in the two dimensional surface of rectangular module, the maximal value of ordinate.T represents to input the txt document data columns of data, for representing the row of array.Maxgen represents the maximum algebraically of evolving, and pc represents crossover probability between two, and pm represents the probability that makes a variation.R is the length of taboo list;
Step 102:gen=0, sequence of modules in initialization population, has M module, upsets at random order and saves, and then, according to individual wide, high in these different order initialization populations, produces at random individual Move Mode, rotary mode.Group[i wherein] .indi[j] .*, represent the attribute of j the individuality of i population, wherein * can be w, h, m, n, x, y, represents respectively the wide, high of j module, numerical value in Move Mode is 0,1,2, a value in 3, represents not rotate with 0 in rotary mode, and 1 represents length and the wide exchange of rectangular module, module lower left corner horizontal ordinate, lower left corner ordinate; Group[i] .cost and group[i] .fitness represents respectively area cost and the fitness of i population.LTR[j] .*, Edgy[j] .*, wherein * can be expressed as xr, yb, yt, while representing that respectively j the parallel y axle of module placed, right margin horizontal ordinate, the ordinate of left margin lower extreme point, the ordinate of left margin upper extreme point.BTT[j] .*, Edgx[j] .*, wherein * can be expressed as xl, xr, yt, while representing that respectively j the parallel x axle of module placed, lower boundary left end point horizontal ordinate, the horizontal ordinate of lower boundary right endpoint, the ordinate of lower boundary;
Step 103: the individuality after initialization is placed in two dimensional surface according to Move Mode and rotary mode, thereby calculated each individual area cost and fitness;
Step 104: the gen<maxgen that whether satisfies condition, if so, turns to step 111 output optimal value, otherwise turn to step 105;
Step 105: individuality is selected by roulette;
Step 106: tabu search is carried out local optimum.Individuality after selecting is as initial solution, put sky taboo list, j=0, carries out neighborhood search with 2-opt, is equivalent to variation, each its sequence of modules or Move Mode of becoming, by Move Mode sequence, calculate fitness, using a candidate solution of fitness maximum as current solution, j adds 1 automatically, repeat the process of neighborhood search, until meet end condition.With this, produce the initial population of intersection, variation;
Step 107: random generation (0,1) the random number t between, if t<pc(crossover probability), select at random two Different Individual to carry out 2 intersections, and calculate fitness by Move Mode sequence. repeating step 107, until meet end condition;
Step 108: the random random number t producing between (0,1), if t<pm(variation probability), select at random body one by one to carry out single-point variation, by Move Mode sequence, calculate fitness. repeating step 108, until meet end condition;
Step 109: resulting population is sorted from high to low by fitness, and first individuality in per generation is left in a structure array, be convenient to retain the optimum individual in the successive dynasties;
Step 110:gen adds 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: start to carry out tabu search;
Step 202: setting parameter, put sky taboo list.J=0, using the population after the selection of selection operator as initial population, and carries out tabu search to each individuality in population, using current individuality as optimum individual.For each individuality, carry out next step;
Step 203: whether arrive iterative steps, if so, optimum solution is preserved, otherwise turn to step 204;
Step 204: adopting the method for 2-opt to upgrade, is that the method that the order of any two modules in individuality is exchanged is optimized;
Step 205: produce current neighborhood solution, select candidate solution, and the candidate solution of fitness maximum in candidate solution is substituted to former optimal candidate solution, upgrade taboo list;
Step 206:j=j+1, turns to step 203;
Step 207: keeping optimization also stops circulation;
As shown in Figure 4,
Described step 103,106,107, the 108 Move Mode sequences of using are calculated fitness, comprise the steps:
Step 301: start the calculating of Move Mode sequence fitness;
Step 302: initialization M individual length and width, produces Move Mode, rotary mode at random;
Step 303: make i=0, the 0th module in M individuality is put into the lower left corner of first quartile, even the coordinate of the lower-left angle point of this module is (0,0), and the right margin RX of the minimum rectangle envelope of module has been put in initialization, coboundary RY, and by from left to right order and the from top to bottom LTR[0 of module that journal has placed], BTT[0] in each parameter value;
Step 304:i=1, judges whether to meet end condition i<M, if turn to step 305, otherwise goes to step 312;
Step 305:j=i-1, according to the value of individual Move Mode m: if the value of m is 0, turn to step 306; If the value of m is 1, turn to step 307; If the value of m is 2, initialize indi[i] and .x=max (0, RX-indi[i] .w), indi[i] and .y=RY, turn to step 308; If the value of m is 3, initialize indi[i] and .y=max (0, RY-indi[i] .h), indi[i] and .x=RX, turn to step 309;
Step 306: give Edgx[i] parameters respectively assignment be 0, indi[i] .w, RY, if Edgx[i] non-upper covering BTT[j], make j=j-1, and turn to step 306.Otherwise make indi[i] .y=BTT[j] .yt. turns to step 310;
Step 307: give Edgy[i] parameters respectively assignment be RX, 0, indi[i] .h, if Edgy[i] non-right covering LTR[j], make j=j-1, and turn to step 307; Otherwise make indi[i] .x=LTR[j] .xr. turns to step 310;
Step 308: module reaches lower tight time, then is moved to the left, to reach the tight state in lower-left, is the state that module can not be left, moved down, and turns to step 310;
Step 309: module reaches left tight time, then is moved down, to reach the tight state in lower-left, is the state that module can not be left, moved down, and turns to step 310;
Step 310: upgrade parameters value.Upgrade LTR, the value of each variable in BTT;
Step 311: make i=i+1, turn to step 304 to judge;
Step 312: calculate this individual area cost and fitness;
Step 313: end loop;
Effect of the present invention can be verified by following emulation experiment:
1. test running environment and condition setting:
The environment of experiment operation: processor is Intel (R) Core (TM) 2CPU6300@1.86GHZ, 1.97GB internal memory, hard disk is 250G, and operating system is Microsoft windows XP Professional2002, and programmed environment is microsoft Visual C++6.0
Experiment condition arranges: in experiment, tested a set of floor planning problem base, to 10a in 9,10,11,33,49 die pieces in MCNC Benchmark data in Floorplan_Data database and GSRC database, 10b, 10c tests, they are respectively: apte hard, xerox hard, hp hard, ami33hard, ami49hard, n10a, n10b, n10c.In experiment, entering evolutionary generation maxgen was 200 generations, and N is 100, refer to have in each population N individual, crossover probability is pc=0.95, and variation probability is the randomness that pm=0.15. considers algorithm, in Solve problems during each example, program has reruned 10 times, and its test result as shown in Table 1.It in table, is the quality of weighing Butut result by minimum rectangle envelope size and two indexs of area utilization of Butut result.The account form of area utilization is as follows:
Cultural gene Algorithm for Solving MCNC GSRC problem set example for table one
Figure BDA0000445279750000132
In table, in example, test MCNC problem set and GSRC subproblem collection, calculated mean value and the average operating time of optimal area value and 10 experiments.
Problem for convenience of explanation, method therefor of the present invention and some classical ways solve VLSI (very large scale integrated circuit) MCNC data set Performance Ratio, result is as table two:
Table two
Because GSRC data set is used lessly, only partial results and acquired results are compared below, as table three:
Table three
Figure BDA0000445279750000151
From above experimental result, the present invention is a kind of effective layout method, effect the best way with respect to current existence, the present invention is not better, but it is an innovative point that the heredity taboo based on Move Mode sequence solves the Butut of VLSI (very large scale integrated circuit), and the Butut problem that may solve to developing other evolution algorithms VLSI (very large scale integrated circuit) has good directive function.
Based on Move Mode sequence, the selection of application genetic algorithm, intersects, and mutation operator is also applied tabu search area is optimized under its framework.
Now Move Mode sequence being done to one briefly introduces: as shown in Figure 1, plane is divided into lower boundary and right margin, is fixed as respectively x axle, and y axle, the moving range of all modules is all at first quartile.First module that need discharge is placed on the lower left corner of first quartile, and the coordinate in the lower left corner of this module is (0,0).The module of putting for i need, be placed on the upper or side of the rectangle envelope of i-1 module; The first position be numbered 0, it represents this module to be placed on the left of envelope coboundary, even the horizontal ordinate in this module lower left corner is 0, ordinate is the coboundary of envelope, this i module has formed left tight layout, be can not, again to moving to left, therefore this module can only not formed to lower tight layout to moving down in the situation that other modules are mobile; The second position be numbered 1, it represents module to be placed on the below of envelope right margin, even the right margin that the horizontal ordinate in this module lower left corner is envelope, ordinate is 0, this i module has formed a kind of lower tight layout, be can not, again to moving down, therefore this module can only be moved to the left to form left tight layout in the situation that other modules are mobile; The third position be numbered 2, its represents module to be placed on the right-hand of envelope coboundary, even the right margin that the horizontal ordinate in this module lower right corner is envelope, the coboundary that ordinate is envelope.When this module be wider than envelope wide time, its left margin will be in the second quadrant.At this moment, must be moved right, until the horizontal ordinate in its lower left corner is 0.Module in the third position both can be moved to the left also and can move down, if but the words that are moved to the left, first reach left tight, repeat with the first position, therefore the priority that the module in the third position moves down is higher than the priority being moved to the left,, till being first moved down into and can not moving, be then moved to the left, until reach the tight layout in lower-left; The 4th kind of Position Number is 3, and it represents to be placed on the top of envelope right margin, even the right margin that the horizontal ordinate in this module upper left corner is envelope, the coboundary that ordinate is envelope.When this module tall and big is during in envelope high, its lower boundary will be in fourth quadrant.At this moment, must be moved up, until the ordinate in its lower left corner is 0. module in the 4th kind of position, both can moves down also and can be moved to the left, if but move down, first reach lower tight, repeat with the second position, therefore the priority that the module in the 4th kind of position is moved to the left is higher than the priority moving down,, till being first moved to the left to and can not moving, then move down, until reach the tight layout in lower-left.
Move Mode reaches in the tight process in lower-left module will use covering and right covering, and it defines as shown in Figure 5: establishing the border that is parallel to X-axis is Edgy a, Edgy bif they do not meet Edgx a.xr≤Edgx bor Edgx .xr, a.xl>=Edgx bor Edgx .xr, a.yt≤Edgx b.yt, Edgy is described aupper covering Edgy b, be overlay module B in modules A; If being parallel to the border of X-axis is Edgy a, Edgy bif they do not meet Edgy a.yt≤Edgy bor Edgy .yb, a.yb>=Edgy bor Edgy .yt, a.xr≤Edgy b.xr, Edgy is described aright covering Edgy b, be the right overlay module B of modules A;
The explanation of experimental result:
1) shown in Fig. 6, be apte in data set MCNC, 0~8 totally nine modules, apply Butut result of the present invention;
2) shown in Fig. 7, be xerox in data set MCNC, 0~9 totally ten modules, apply Butut result of the present invention;
3) Fig. 8 is hp in MCNC data set MCNC, and 0~10 totally ten one modules, apply Butut result of the present invention;
4) Fig. 9 is ami33 in data set MCNC, and 0~32 totally three ten three modules, apply Butut result of the present invention;
5) Figure 10 is 10a in data set GSRC, and 0~9 totally ten modules, apply Butut result of the present invention;
6) Figure 11 is 10b in data set GSRC, and 0~9 totally ten modules, apply Butut result of the present invention;
7) Figure 12 is 10c in data set GSRC, and 0~9 totally ten modules, apply Butut result of the present invention;
The part that the present embodiment does not describe in detail and english abbreviation belong to the common practise of the industry, can search on the net, here not narration one by one.

Claims (3)

1. the integrated circuit layout method with heredity taboo based on Move Mode sequence, is characterized in that: comprise the steps:
Step 101: start to carry out setting parameter, N is population number in genetic algorithm, and M is individual amount in each population, and H is a constant, is made as 100, is used for divided by each individual area cost value, thereby obtains this ideal adaptation degree; RX, RY represents respectively to place the maximal value of horizontal ordinate in the two dimensional surface of rectangular module, the maximal value of ordinate; T represents to input the txt document data columns of data, for representing the row of array; Maxgen represents the maximum algebraically of evolving, and pc represents crossover probability between two, and pm represents the probability that makes a variation; R is the length of taboo list;
Step 102:gen=0, sequence of modules in initialization population, has M module, upsets at random order and saves, and then, according to individual wide, high in these different order initialization populations, produces at random individual Move Mode, rotary mode; Group[i wherein] .indi[j] .*, represent the attribute of j the individuality of i population, wherein * can be w, h, m, n, x, y, represents respectively the wide of j module, height, the numerical value in Move Mode is 0,1, a value in 2,3, represents not rotate with 0 in rotary mode, 1 represents length and the wide exchange of rectangular module, module lower left corner horizontal ordinate, lower left corner ordinate; Group[i] .cost and group[i] .fitness represents respectively area cost and the fitness of i population; LTR[j] .*, Edgy[j] .*, wherein * can be expressed as xr, yb, yt, while representing that respectively j the parallel y axle of module placed, right margin horizontal ordinate, the ordinate of left margin lower extreme point, the ordinate of left margin upper extreme point; BTT[j] .*, Edgx[j] .*, wherein * can be expressed as xl, xr, yt, while representing that respectively j the parallel x axle of module placed, lower boundary left end point horizontal ordinate, the horizontal ordinate of lower boundary right endpoint, the ordinate of lower boundary;
Step 103: the individuality after initialization is placed in two dimensional surface according to Move Mode and rotary mode, thereby calculated each individual area cost and fitness;
Step 104: judge whether the gen<maxgen that satisfies condition, if so, turn to step 111, output optimal value, otherwise turn to step 105;
Step 105: individuality is selected by roulette;
Step 106: tabu search is carried out local optimum; Individuality after selecting is as initial solution, put sky taboo list, j=0, carries out neighborhood search with 2-opt, is equivalent to variation, each its sequence of modules or Move Mode of becoming, by Move Mode sequence, calculate fitness, using a candidate solution of fitness maximum as current solution, j adds 1 automatically, repeat the process of neighborhood search, until meet end condition; With this, produce the initial population of intersection, variation;
Step 107: the random random number t producing between (0,1), if t<pc selects two Different Individual to carry out 2 intersections at random, and calculates fitness by Move Mode sequence. repeating step 107, until meet end condition; Pc is crossover probability;
Step 108: the random random number t producing between (0,1), if t<pm selects body one by one to carry out single-point variation at random, calculates fitness by Move Mode sequence. repeating step 108, until meet end condition; Pm is variation probability;
Step 109: resulting population is sorted from high to low by fitness, and first individuality in per generation is left in a structure array, be convenient to retain the optimum individual in the successive dynasties;
Step 110:gen adds 1 automatically, goes to step 104;
Step 111: output optimal result, end loop.
2. according to claim 1 based on Move Mode sequence and the hereditary integrated circuit layout method of avoiding, it is characterized in that:
Described step 106, comprises the following steps:
Step 201: start to carry out tabu search;
Step 202: setting parameter, put sky taboo list; J=0, using the population after the selection of selection operator as initial population, and carries out tabu search to each individuality in population, using current individuality as optimum individual; For each individuality, carry out next step;
Step 203: whether arrive iterative steps, if so, optimum solution is preserved, otherwise turn to step 204;
Step 204: adopting the method for 2-opt to upgrade, is that the method that the order of any two modules in individuality is exchanged is optimized;
Step 205: produce current neighborhood solution, select candidate solution, and the candidate solution of fitness maximum in candidate solution is substituted to former optimal candidate solution, upgrade taboo list;
Step 206:j=j+1, turns to step 203;
Step 207: keeping optimization also stops circulation.
3. according to the integrated circuit layout method with heredity taboo based on Move Mode sequence described in claims 1, it is characterized in that:
Described step 103,106,107, the 108 Move Mode sequences of using are calculated fitness, have the following steps:
Step 301: start the calculating of Move Mode sequence fitness;
Step 302: initialization M individual length and width, produces Move Mode, rotary mode at random;
Step 303: make i=0, the 0th module in M individuality is put into the lower left corner of first quartile, even the coordinate of the lower-left angle point of this module is (0,0), and the right margin RX of the minimum rectangle envelope of module has been put in initialization, coboundary RY, and by from left to right order and the from top to bottom LTR[0 of module that journal has placed], BTT[0] in each parameter value;
Step 304:i=1, judges whether to meet end condition i<M, if turn to step 305, otherwise goes to step 312;
Step 305:j=i-1, according to the value of individual Move Mode m: if the value of m is 0, turn to step 306; If the value of m is 1, turn to step 307; If the value of m is 2, initialize indi[i] and .x=max (0, RX-indi[i] .w), indi[i] and .y=RY, turn to step 308; If the value of m is 3, initialize indi[i] and .y=max (0, RY-indi[i] .h), indi[i] and .x=RX, turn to step 309;
Step 306: give Edgx[i] parameters respectively assignment be 0, indi[i] .w, RY, if Edgx[i] non-upper covering BTT[j], make j=j-1, and turn to step 306; Otherwise make indi[i] .y=BTT[j] .yt. turns to step 310;
Step 307: give Edgy[i] parameters respectively assignment be RX, 0, indi[i] .h, if Edgy[i] non-right covering LTR[j], make j=j-1, and turn to step 307; Otherwise make indi[i] .x=LTR[j] .xr. turns to step 310;
Step 308: module reaches lower tight time, then is moved to the left, to reach the tight state in lower-left, is the state that module can not be left, moved down, and turns to step 310;
Step 309: module reaches left tight time, then is moved down, to reach the tight state in lower-left, is the state that module can not be left, moved down, and turns to step 310;
Step 310: upgrade parameters value.Upgrade LTR, the value of each variable in BTT;
Step 311: make i=i+1, turn to step 304 to judge;
Step 312: calculate this individual area cost and fitness;
Step 313: end loop.
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 true CN103714384A (en) 2014-04-09
CN103714384B 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033510A (en) * 2018-06-14 2018-12-18 佛山市顺德区中山大学研究院 Three dimensional integrated circuits interconnection length optimization method and device based on genetic algorithm
CN109543217A (en) * 2018-10-16 2019-03-29 成都华微电子科技有限公司 Serial equivalent FPGA parallel layout method
CN109726479A (en) * 2018-12-29 2019-05-07 南京宁麒智能计算芯片研究院有限公司 A kind of dispositions method of network on three-dimensional chip vertical channel
US10628627B2 (en) 2017-11-15 2020-04-21 Industrial Technology Research Institute Thermal estimation device and thermal estimation method
CN111268564A (en) * 2020-02-10 2020-06-12 河北工业大学 Intelligent overhead traveling crane anti-swing control system based on iteration-genetic algorithm

Citations (2)

* 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
CN103150459A (en) * 2013-01-10 2013-06-12 北京航空航天大学 Optimization design method of low-noise amplifier based on genetic algorithm

Patent Citations (2)

* 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
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
NAKAYA S ETAL.: "An adaptive genetic algorithm for VLSI floorplanning based on sequence-pair", 《IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS》 *
刘静: "协同进化算法及其应用研究", 《中国博士学位论文全文数据库 信息科技辑》 *
符宁: "用于VLSI布局的计算智能方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10628627B2 (en) 2017-11-15 2020-04-21 Industrial Technology Research Institute Thermal estimation device and thermal estimation method
CN109033510A (en) * 2018-06-14 2018-12-18 佛山市顺德区中山大学研究院 Three dimensional integrated circuits interconnection length optimization method and device based on genetic algorithm
CN109033510B (en) * 2018-06-14 2023-10-13 佛山市顺德区中山大学研究院 Three-dimensional integrated circuit interconnection line length optimization method and device based on genetic algorithm
CN109543217A (en) * 2018-10-16 2019-03-29 成都华微电子科技有限公司 Serial equivalent FPGA parallel layout method
CN109543217B (en) * 2018-10-16 2023-05-02 成都华微电子科技股份有限公司 Serial equivalent FPGA parallel layout method
CN109726479A (en) * 2018-12-29 2019-05-07 南京宁麒智能计算芯片研究院有限公司 A kind of dispositions method of network on three-dimensional chip vertical channel
CN111268564A (en) * 2020-02-10 2020-06-12 河北工业大学 Intelligent overhead traveling crane anti-swing control system based on iteration-genetic algorithm

Also Published As

Publication number Publication date
CN103714384B (en) 2017-03-01

Similar Documents

Publication Publication Date Title
CN108228972B (en) Method for determining arrangement of at least one circuit for reconfigurable logic device
Wang The hybrid genetic algorithm with two local optimization strategies for traveling salesman problem
Lin et al. POLAR: Placement based on novel rough legalization and refinement
CN103714384A (en) Integrated circuit floor planning method based on moving modal sequence and Memetic algorithm
Kampolis et al. A multilevel approach to single-and multiobjective aerodynamic optimization
Wang et al. SSIEA: a hybrid evolutionary algorithm for supporting conceptual architectural design
Rakha et al. Generative urban modeling: a design work flow for walkability-optimized cities
CN107330214A (en) Spatial configuration optimal method based on discretization Yu heuristic evolution algorithm
US6512999B1 (en) Apparatus for and method of simulating turbulence
CN109447264B (en) Virtual machine placement genetic optimization method based on VHAM-R model in cloud computing environment
CN106527381A (en) Fast evaluation method facing parallel batch processing machine dynamic scheduling
Hua Irregular architectural layout synthesis with graphical inputs
CN104574517B (en) The treating method and apparatus of the boundary face grid cell of threedimensional model
CN108764741B (en) For determining the method and device of the layout of the production equipment in factory set region
Shang et al. Spatial scheduling optimization algorithm for block assembly in shipbuilding
He et al. Dynamic reduction heuristics for the rectangle packing area minimization problem
Chiou et al. Circular-contour-based obstacle-aware macro placement
CN115859899A (en) Method for integrated circuit standard unit layout migration with multiple driving capacities
CN114491726A (en) Building Performance Analysis (BPA) machine: machine learning for facilitating building energy analysis
Du et al. A review on automatic generation of architectural space layouts with energy performance optimization
van der Blom et al. Multicriteria building spatial design with mixed integer evolutionary algorithms
Doulgerakis Genetic programming+ unfolding embryology in automated layout planning
Chatzikonstantinou A 3-dimensional architectural layout generation procedure for optimization applications: DC-RVD
CN101894063A (en) Method and device for generating test program for verifying function of microprocessor
Li et al. A study on urban block design strategies for improving pedestrian-level wind conditions: CFD-based optimization and generative adversarial networks

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