CN1275317C - Integrated circuit layout plan and buffer plan integrated layout method - Google Patents
Integrated circuit layout plan and buffer plan integrated layout method Download PDFInfo
- Publication number
- CN1275317C CN1275317C CN 200310115545 CN200310115545A CN1275317C CN 1275317 C CN1275317 C CN 1275317C CN 200310115545 CN200310115545 CN 200310115545 CN 200310115545 A CN200310115545 A CN 200310115545A CN 1275317 C CN1275317 C CN 1275317C
- Authority
- CN
- China
- Prior art keywords
- buffer
- gauze
- module
- length
- layout
- 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.)
- Expired - Fee Related
Links
- 239000000872 buffer Substances 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000002922 simulated annealing Methods 0.000 claims abstract description 16
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims abstract description 4
- 238000003780 insertion Methods 0.000 claims description 16
- 230000037431 insertion Effects 0.000 claims description 16
- 238000000137 annealing Methods 0.000 claims description 5
- 101100189913 Caenorhabditis elegans pept-1 gene Proteins 0.000 claims description 3
- 101100243399 Caenorhabditis elegans pept-2 gene Proteins 0.000 claims description 3
- 230000008676 import Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 6
- 238000012360 testing method Methods 0.000 description 9
- 239000004744 fabric Substances 0.000 description 6
- 238000012938 design process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
The present invention relates to a layout method for integrating an integrated circuit layout plan and a buffer plan, which belongs to the field of the aided design of integrated circuit computers. The present invention is characterized in that feasible region calculation is introduced when a buffer is inserted, the complexity of the buffer plan is simplified by the division of a blank region in the results of the layout plan, simulated annealing and a solution procedure are designed aiming at the buffer plan in the layout plan, and the buffer plan is integrated into the solution of the layout plan problem. In the present invention, the buffer plan is infused into the optimization procedure of the layout plan, and thus, the optimization of time delay performance is realized.
Description
Technical field
Integrated circuit floor planning and buffer plan that integrated layout method belongs to the integrated circuit CAD field, relate in particular to BBL (Building Block Layout) field.
Background technology
In the layout of integrated circuit; the hierarchy type layout-design; the module reuse technology; the extensive application of ip module; SOC (system on a chip) especially digital-to-analogue is mixed the design of SOC (system on a chip), and analog circuit device level Butut problem etc., these problems can be summed up as the floor planning and the location problem of integrated circuit macroblock; be the Butut problem of Building Block Layout:BBL pattern, it has become current research focus.Especially along with interconnection line shared proportion in Butut is increasing, traditional layout planning method has been ignored the consideration to cloth, has caused can't satisfying the time delay needs in follow-up wiring process.In order to satisfy the time delay demand, often need to insert a large amount of buffers, but buffer itself is to be made of device, need takies certain layout area, also must satisfy certain constraint simultaneously, therefore floor planning and buffer be planned that integrated problem can simply be described as:
Be provided with one and comprise B the set of the square module of size arbitrarily, the shape of module is according to the record successively from the lower-left to the upper right corner of vertex position in the plane, and module has certain direction, provides some net tables and corresponding delay constraint according to the interconnect information between the module.A layout of B module is exactly under the situation of module non-overlapping copies, and module is placed in the plane, and the minimum rectangular area that comprises this B module on the plane is called as chip.Behind the result who has provided floor planning, need determine the position that buffer inserts according to interconnect information, quantity and size make and satisfy the time delay demand as much as possible.It is exactly to seek an optimal location or near-optimization layout that floor planning is combined with buffer planning, and it is optimum that the target function value that makes chip area or other optimization aim form reaches, and makes the minimum number of buffer simultaneously, and delay performance is best.
In recent years, the buffer planning problem is subjected to paying close attention to widely, and people have proposed the method for a variety of buffer planning.Constitute because buffer is a device,, a lot of relevant work have also been arranged in the BBL stage so these method majorities utilize the clear area in the layout to insert buffer; For example the notion of the area of feasible solutions (feasible region) that proposes the earliest is used for producing buffer module; The area of feasible solutions of buffer is meant under the condition of the target time-delay of satisfying gauze, the possible maximum region that buffer can be placed.After a while, the feasible region is expanded into independent feasible region, and the crowding that connects up simultaneously is optimized.The method of network flow has only under the situation of a buffer at each gauze of hypothesis, can find optimal solution.The method of many commodity streams arrives already present buffer module in advance with buffer allocation.The dynamic programming method hypothesis also allows to insert buffer in macroblock inside, and therefore this method can make the point that inserts buffer be distributed in each position of layout.The layout planning method of cloth driving can be estimated the consumption and the buffer resources of buffer for the crowding constraint.The layout planning method that integrated buffer/passage inserts is used for the microprocessor Design based on bus.Most up to now layout method and buffer planning are all separate, buffer planning can not be considered in the floor planning process, to produce the floor planning result who more helps delay performance.From the result who obtains, also has very large gap with practical application.
Summary of the invention
Other algorithm that the objective of the invention is to propose a kind of this field more up to now is more stable, efficient, and can in the floor planning process, realize making rational planning for to buffer, and buffer planning combined with Butut result's optimization, buffer planning is as the industrial instrument of solution macroblock Butut problem in the processing integrated circuit macroblock floor planning.Under Elmore time delay model, square the growing proportionately of the time delay of long line and line length, and utilize buffer insertion technology, time delay and the line length that can control line are the linear growth relation.For satisfying delay constraint, need the number of buffers inserted with process reduce and sustainable growth.Because buffer need take silicon resource, so in design process, buffer should be planned as early as possible, especially at layout stage, to improve the delay performance of circuit as far as possible.
The invention is characterized in: the area of feasible solutions that it has been introduced when buffer inserts is calculated, and the division of the white space by in the floor planning result, simplified the complexity of buffer planning, design at the buffer in floor planning planning optimization solution procedure, the planning of buffer is integrated in the solution procedure of floor planning problem simulated annealing.It contains following steps successively:
1) computer is carried out initialization, is provided with and imports following parameter:
(1) parameter setting in the simulated annealing process comprises interior cycle-index, initial temperature and end temp, annealing factor a;
(2) the wide long R of target and the weights omega thereof of final layout chip are set;
(3) weight of total line length and the weight γ that buffer inserts are set;
(4) size of buffer in the target function and the size that buffer inserts grid are set;
(5) the relevant various performance parameters of buffer is set, comprises load capacitance, drive output resistance, buffer output resistance, buffer input capacitance, the intrinsic time delay of buffer, unit length line capacitance, unit length line resistance;
2) computer reads in module and gauze information from module description file:
(1). read in the module four angular coordinate, and wide, high according to module four angular coordinate computing module;
(2). read in lead end coordinate on the module, and be translated into the coordinate in the relative module lower left corner;
(3). number to module by reading in order, and calculate total number of modules, each module net area sum;
(4). read in gauze information, comprise the interconnection situation of lead end, the delay constraint in the gauze.
Gauze in circuit meshwork list generally is the multiterminal gauze, and promptly a gauze has a plurality of lead ends, and for the ease of time-delay calculation and the reasonable model of simplifying the buffer insertion, we split into the two ends gauze with the multiterminal gauze: promptly multiterminal gauze E has m lead end p
1(x
1, y
1) ..., p
m(x
m, y
m), then we are split into m-1 two ends gauze (p
1, p
2), (p
1, p
3), (p
1, p
4) ..., (p
1, p
m).We have obtained corresponding two ends gauze net table information corresponding to former wired network like this, and can carry out the planning of buffer according to two ends gauze information.
3) according to module information, the topological structure of random configuration initial layout is the position relation of intermodule, we adopt the expression of angle mould piece sequence method for expressing as module placement in the method, according to the order that reads in module, the logical topology relation of random configuration intermodule, constitute a layout, and as initial layout Q
0
4) enter the simulated annealing optimization process, represent to calculate location problem optimum or approximate optimal solution as basic layout method for expressing with angle mould piece sequence
From initial temperature, calculate optimum or approximate optimal solution under the Current Temperatures, Current Temperatures is designated as Tnow:
[1]. calculate each gauze line length estimated value according to following formula, and total line length estimated value, the line length of single gauze is estimated with the semi-perimeter model according to the lead end position in the gauze:
If certain gauze E has m lead end p
1(x
1, y
1) ..., p
m(x
m, y
m); Then: the line length WireLength (E) of this gauze estimates with following formula,
Wherein, j is the lead end numbering,
Total line length estimated value is:
[2]. the white space in the layout that calculates, and be divided into rectangular module, the clear area rectangular module that obtains be divided into fixed size in order to put down the little rectangle of one or several buffer.
[3]. according to each two ends gauze, whether the length of judging gauze is greater than critical length l
Crit, if the length of two ends gauze is less than critical length, it is zero that then current gauze inserts number of buffers, the computing formula of critical length is as follows:
Wherein:
R
b: buffer output resistance (Ω),
R
d: drive output resistance (Ω),
C
b: buffer input capacitance (fF),
C
l: load capacitance (fF),
R: unit length line resistance (Ω/μ m),
C: unit length line capacitance (fF/ μ m),
T
b: buffer inherent delay (ps);
[4]. calculate each two ends gauze N because do not satisfy the number of buffers of delay constraint needs insertion and the independent area of feasible solutions of each buffer:
(4.1). calculate the number of buffers k that gauze satisfies the delay constraint needs
Min:
Wherein:
K
1=R
bC
b+T
b (3)
K
2=(rC
b+cR
b)l+T
b+R
dC
b+R
bC
l-T
con
Wherein:
L is a gauze length,
R
b: buffer output resistance (Ω),
R
d: drive output resistance (Ω),
C
b: buffer input capacitance (fF),
C
l: load capacitance (fF),
R: unit length line resistance (Ω/μ m),
C: unit length line capacitance (fF/ μ m),
T
b: buffer inherent delay (ps),
T
N ConDelay constraint for gauze N;
(4.2). calculate the independent area of feasible solutions of each buffer among the gauze N:
Length is that the independent area of feasible solutions of j buffer of the gauze N of l is:
W
IfrBe the width of independent area of feasible solutions,
Wherein, k
MinBe number of buffers,
T
Con NBe the delay constraint of gauze N,
T
Opt NFor inserting k among the gauze N
MinThe optimum time delay of individual buffer,
x
Opt jBeing the Manhattan distance (only comprising the horizontal and vertical lines section) of the relative gauze of buffer source end, also is the position of j buffer;
Wherein:
[5]. calculate the two ends gauze number N that satisfies the target time delay
Old
(5.1). calculate the candidate location sets of each buffer:
(5.1.1). calculate the source end of buffer place gauze and the friendship DF of determined rectangular area of drain terminal and clear area
Ol
(5.1.2). calculate DF
OlWith the friendship of the independent area of feasible solutions of buffer, work as DF
OlThe lower left corner of interior certain position is positioned at the independent area of feasible solutions of buffer, and then this position is the candidate position of respective buffer;
(5.1.3). be selected in the candidate position of above-mentioned buffer that buffer candidate position is minimum does not place the position of the position of buffer as buffer with fashion;
(5.2). check each two ends gauze, add up required buffer and fail the line screens that all insert, be designated as N
Notsat
[6]. estimate Q with following formula, obtain target function value Cost;
Cost
Q=Area+λ×TotalWireLength+ω×Rs
2+γ×N
notsat;(11)
Wherein:
TotalWireLength (total line length) is each gauze estimation length sum;
λ is the weight of total line length, and ω is the weight of breadth length ratio, and γ is the weight that buffer inserts;
If R is the chip breadth length ratio of expectation, ratio is the actual breadth length ratio of chip, then:
Rs=|R-max(ratio,1/ratio)|;
5) the current layout Qnow of output.
6) calculate the temperature of next annealed condition with following formula
Tnow=a*Tnow: wherein a is the annealing factor, 7) general value is 0.95.
If Current Temperatures greater than end temp Tnow>Tend, then enters the solution procedure of next annealed condition;
If Current Temperatures is less than end temp Tnow<Tend, 8) then output current layout be final layout.
Step 3) and step 4) described angle mould piece sequence and the angle mould piece sequence of being utilized in the simulated annealing process represent to be based on the Butut method for expressing of logical topology between the module, it is a kind of effective method for expressing that proposed in 2000 by the Hong Xianlong professor, the layout method that detailed angle mould piece sequence is represented does not belong to the present patent application content, and simple introduction is done in the definition of just representing at the angle mould piece that will utilize required for the present invention below.The angle mould piece represents it mainly is with (T) tlv triple string logging modle is from the Butut order in the lower left corner to the upper right corner and the topological relation between the module for S, L.Wherein the S string writes down the title of each module, and the orientation when L string logging modle is put comprises two kinds of orientation, and vertical orientations represents that this module covers other cloth modules downwards from the top, and level orientation represents that this module is from right-hand other cloth modules that covers left.The corresponding expression in the T string of the concrete number of modules that covers.Expression in simulated annealing for convenience, the T string has adopted binary sequence, represents that with the substring length of continuous " 1 " and one " 0 " total what modules are covered when front module.Along with module putting successively, the coordinate of each module all draws, and can calculate the size and the length-width ratio of chip.
The described simulated annealing process of step 4) is used to ask for the optimal result of layout, and its flow process is as follows:
When current cycle time during, be repeated below step less than interior cycle-index:
Produce new layout with one of following method from current layout Qnow, new topological structure be designated as Qnew:
Change the topological structure of layout, use following method:
(1). S goes here and there the order of any two modules in the exchange angle mould piece sequence;
(2). the direction of any one module among the L in the angle mould piece sequence is changed;
(3). change in the angle mould piece sequence T string any one.
Change the module direction when helping optimizing line length, use following method:
(4). select a module to be rotated at random, the anglec of rotation is chosen for 90 ° by random function, or 180 °, or 270 °;
(5). select a module to overturn at random, trip shaft is chosen for trunnion axis by random function, or vertical axis or module diagonal;
Calculate layout result according to the new explanation Qnew that produces, and carry out following operation:
If exp ((Cost
Qnew-Cost
Q)/Tnow)>r; (r is the random number between 0 to 1)
Then accept new explanation, current separating is set to new explanation, i.e. Q=Qnew;
Otherwise do not accept new explanation, current layout remains Q.
Finish once circulation, current cycle time adds up 1 time;
The test explanation: the present invention has increased buffer insertion rate, has also increased the line screen that satisfies delay constraint simultaneously, has improved the circuit time delay characteristic.
Description of drawings
Fig. 1. the example that layout and clear area and Pad distribute.
Fig. 2. the simulated annealing flow chart.
Fig. 3. buffer independence area of feasible solutions and position candidate calculating chart.
Fig. 4. buffer independence area of feasible solutions is calculated schematic diagram.
The integrated buffer planning back Butut result of Fig. 5 .MCNC test case ami33.
Embodiment
The present invention can be applied to different floor planning/layouts of dividing based on rectangle and represent that (that is to say such Butut represent chip is divided into the rectangular area of number more than or equal to number of modules, each rectangular area has a module at the most simultaneously) realize down.The layout result that this part adopts the angle mould piece to represent as an example of the present invention, and adopts the model of Elmore time delay model as time-delay calculation.Carried out buffer in conjunction with the flow chart of Fig. 2 integrated with method of the present invention and inserted the floor planning of planning.Table one is the definition and the numerical value of some variablees.
Table one
r | The unit length line resistance (/m) | 0.0755 |
c | Unit length line capacitance (fF/m) | 0.118 |
T b | The intrinsic time delay of buffer (ps) | 36.4 |
C b | Buffer input capacitance (fF) | 23.4 |
R b | Buffer output resistance () | 180 |
R d | Drive output resistance () | 180 |
C l | Load capacitance (fF) | 23.4 |
Doing example with ami33 among the international benchmark test practical circuit MCNC carries out module placement in conjunction with Fig. 2 with method of the present invention it has the following steps successively:
1. initialization
(1). simulated annealing initial temperature Tstart=3000 is set, simulated annealing end temp Tend=500, interior cycle-index Repeat=1000;
(2). the target breadth length ratio (R=1.0) and the weight thereof of final layout are set;
(3). the weight of total line length in the target function is set.
(4). the size of buffer and the size that buffer inserts grid (size that buffer insertion grid is set is consistent with buffer sizes) are set
2. read in module information and gauze information
Comprise 33 square module among the test case ami33, gauze one has 123;
Each multiterminal gauze (three or three above pins are arranged) is split as follows: owing to do not comprise the source end and the drain terminal information of gauze in the test circuit, so specify a justice pin as the source end arbitrarily, other pins are as drain terminal; A gauze that comprises n pin is split into n-1 two ends gauze, in the ami33 test case, split out 363 two ends gauzes altogether.
3. 33 modules in the test case are carried out label according to reading in order, and the composition module sequence represents that its Butut is the S sequence during the angle mould piece is represented in proper order, and produces 0,1 string list and show that L string and T go here and there that it is as follows to construct initial solution thus:
S={block1,block2,block3,block4,...,block33)
L={1,0,1,0,...,1,0}
T={0 10 110 10 0 10 110 1110 110 10 0……}
Orientation when L string logging modle is put comprises two kinds of orientation, and 0 expression vertical orientations represents that this module covers other cloth modules downwards from the top, 1 expression vertical orientations, and level orientation represents that this module is from right-hand other cloth modules that covers left.The corresponding expression in the T string of the concrete number of modules that covers, the T string has adopted binary sequence, represents that with the substring length of continuous " 1 " and one " 0 " total what modules are covered when front module.
4. following steps are carried out according to the simulated annealing flow process among Fig. 2, and concrete outcome is seen Fig. 4 and table 3.Planning with floor planning and buffer in the simulated annealing process combines, and represents layout with angle mould piece sequence, calculates all clear areas in the layout, and they are divided into piece, and is associated with module; Method is as follows: (detailed expression does not belong to the content of present patent application to the transfer algorithm of layout, so carefully do not state here)
Represent in the transfer process of layout, to calculate the coordinate time of each module at angle mould piece sequence Butut:
Each more adjacent module if having dummy section between two modules, is associated this dummy section and the module that is capped; Module M as shown in figure one
1From top overlay module M
2With module M
3, because module M
1With module M
3Between have dummy section, we are divided into dummy section module D with this dummy section
1, and with itself and module M
3Be associated, same module M4 is from right-hand overlay module M3 and M1, owing to have dummy section between module M4 and the M1, we are divided into dummy section module D2. with this dummy section
Resume module finishes, if between the module of the coboundary of chip or right margin and border, have the clear area, then with the clear area and the module that is positioned at the border accordingly be associated; As above border overlay module M1 and module M4, owing to have the clear area between coboundary and the module M4, we are divided into dummy section module D3. with it
Careful division is carried out in all clear areas, promptly the clear area carefully is divided into the little rectangle that to put next buffer of fixed size;
Each two ends gauze is finished following operation
Calculate critical length l according to following existing formula
CritIf two ends gauze length is greater than l
Crit, continue following steps, be zero otherwise current gauze inserts number of buffers;
Wherein, R
b, C
b, T
b, R
d, C
l, r and c meaning are as shown in Table 1; Calculate l
Crit=4270.
Calculate under the condition of inserting buffer with following existing method, minimize the number of buffers that time delay needs:
The two ends gauze that a given length is l, the Elmore time delay of this gauze can be defined as follows:
Wherein each parameter meaning as shown in Table 1;
For length is l, has inserted the gauze of n buffer, reach the purpose that minimizes the gauze time delay, and the optimal location of n buffer is:
Illustrate: the position of this paper buffer and the calculating of following feasible region relate to the position problems in the gauze, all refer to the Manhattan distance (only comprising the horizontal and vertical lines section) of relative gauze source end, for example gauze length just is meant the Manhattan distance of source end to drain terminal.
The position of j buffer is x
Opt j
Wherein:
Article one, length is the gauze (two ends gauze) of the single drain terminal of Dan Yuanduan of l, inserts the time delay of n buffer and can calculate with following formula.
Wherein the definition of function T is with (2), each parameter meaning as shown in Table 1, x
jIt is the position of j buffer.
Length is that the optimum time delay of the gauze N of n buffer of l insertion can be calculated according to formula (2), (3), (4) and (5), is designated as:
In sum, gauze N will reach the number of buffers that optimum time delay needs, and can calculate as follows:
Insert buffer in the source of two ends gauze with between leaking since 1 by the mode that increases progressively 1 buffer at every turn, cause the gauze time-delay to increase if insert k+1 buffer, this gauze reaches optimum the time-delay so needs k buffer; Be that number of buffers k satisfies following formula:
Can solve the expression formula of k by this formula:
Each gauze is finished following calculating:
According to providing delay constraint T among following existing formula and the 1.c
ConThe number of buffers of gauze constraint needs is satisfied in calculating;
Wherein:
K
1=R
bC
b+T
b (9)
K
2=(rC
b+cR
b)l+T
b+R
dC
b+R
bC
l-T
con
Wherein, the meaning of each parameter as shown in Table 1.
To each two ends gauze, calculate the buffer number k that satisfies the insertion of delay constraint needs according to formula
MinAnd (the independent area of feasible solutions of buffer b is meant and is satisfying under the delay constraint condition of gauze under the b to calculate the independent area of feasible solutions of each buffer, other buffers of supposing the affiliated gauze of this buffer all are placed in their the independent area of feasible solutions separately, can insert the maximum region of buffer b, Fig. 3 provides example, gauze source end and drain terminal are respectively the lower left corner and the upper right corner of frame of broken lines, and the independent feasible region of buffer is two 135 common factors of spending oblique line and rectangular broken line frame);
Calculate the independent area of feasible solutions of each buffer according to following existing method;
Length is that the independent area of feasible solutions of j buffer of the gauze N of l is:
Wherein, x
Opt jThe same formula of meaning (3), W
IfrRepresent the width of independent area of feasible solutions; Promptly insert k
MinThe optimal location of individual buffer; Make following formula set up:
X wherein
iBe the position of the relative source of buffer end, T
Con NBe the delay constraint relevant with gauze N; W
IfrCan be calculated as follows.
T wherein
Con NAnd T
Opt N(k
Min, l) be delay constraint and the insertion k of gauze N
MinThe optimum time delay of individual buffer, r, the meaning of c is as shown in Table 1.T
Opt N(k
Min, l) can be by k
MinN in the replacement formula (6) calculates.
In sum, the independent area of feasible solutions of the buffer of specific gauze can be calculated by (3), (4), (12), (14).Calculate the candidate insertion position set of each buffer;
Calculate the source end of buffer place gauze and the friendship (promptly calculating the friendship of two rectangles) of determined rectangular area of drain terminal and clear area; The result is designated as DF
Ol(as Fig. 3, the rectangle bold box is DF
O1);
Calculate DF
OlFriendship with the independent area of feasible solutions of buffer.If DF
OlIn the lower left corner of certain buffer insertion position be positioned at the independent area of feasible solutions of buffer, we think the position candidate that this buffer insertion position is a respective buffer so.(shown in Figure 3 oblique line institute cover part)
We can see that gauze source, two ends end is s (350,1575) in Fig. 3, and drain terminal is t (4725,5915);
The calculating relevant with gauze:
Gauze length is (4725-350)+(5915-1575)=8715;
Calculate critical length l
Crit=4270;
Calculate corresponding optimum time delay T according to formula (6)
Opt=517; Delay constraint is T
Con=398.7; K according to concrete implementation step formula (8) calculating
Min=2; Calculate W according to formula (14)
Ifr(width of independent area of feasible solutions):
W
ifr=1239
Calculate according to formula (4)
x
1=2905
y
1=2905
Calculate according to formula (3) and (12) and apart from line segment to be apart from source point (350,1575):
IFR
1=(2285,3524)
IFR
2=(5190,6429)
According to as shown in Figure 4, b1, two oblique line institute area surrounded at b2 place are respectively the independent area of feasible solutions of two buffers;
Calculate as follows at initial clear area branch and plant the two ends gauze number that satisfies the target time delay, we amplify the buffer area of feasible solutions of b2 correspondence as shown in Figure 3;
Each buffer is determined the position of buffer by following heuristic:
In the candidate insertion position of this buffer, be selected to buffer position candidate least number of times and do not place the position of the insertion position of buffer as this buffer with fashion;
Check each two ends gauze, add up the line screen N that required buffer all inserts, and calculate the line screen N that buffer fails and inserts owing to the module position restriction
Notsat
Calculate the cost of current layout correspondence according to 4. (6) cost function formula, and compare, produce corresponding new explanation, and further in the simulated annealing process, carry out iteration, finish up to the simulated annealing process with former cost function.
Specific to initial solution in the annealing process be:
(1)S={block1,block2,block3,block4,...,block33}
L={1,0,1,0,...,1,0}
T={0 10 110 10 0 10 110 1110 110 10 0……}
Calculating line length according to formula (4) gets: TotalWirelength=5352486,
Layout area: Area=111499550
The ratio of width to height: Rs=0.504
Gauze satisfies number and is N
Notsat=82;
Cost
Q=Area+λ×TotalWireLength+ω×Rs
2+γ×N
notsat=165108024
Preserve Cost
Min=Cost
Q
(2) carry out layout optimization
According to random value selection scheme 1) generate new explanation:
Block14 exchanges mutually with block32
S={block1,block2,block3,…block13,block32,block15...,block31,block14,block33}
L={1,0,1,0,...,1,0}
T={0 10 110 10 0 10 110 1110 110 10 0……}
Calculating line length according to formula (4) gets: TotalWirelength=5431429,
Layout area: Area=111499550
The ratio of width to height: Rs=0.504
Gauze satisfies number and is N
Notsat=95;
Cost
Q=Area+λ×TotalWireLength+ω×Rs
2+γ×N
notsat=165364896
Do not satisfy Cost
Q<Cost
Min, therefore do not write down this and separate.
(3) value of random number r is 0.53, because exp ((Cost
Qnew-Cost
QThe condition of accepting new explanation of)/Tnow)>r does not satisfy, and therefore gets back to former separating, and block14 and block32 are exchanged again.
(4) loop arrangement optimizing process (2), (3) 1000 times.
(5) because do not satisfy T<500 (end temp), produce new annealing temperature T=7600, turn to (3.2.3), step (3.2.3)-(3.2.9) is carried out in circulation, up to satisfying T<500.Export corresponding to Cost at last
MinOptimal solution.
According to shown in parameter value, we provide experimental result (if no special instructions, the unit of length and coordinate is micron (μ m), chronomere is psec (ps)): Fig. 5 is the Butut result of ami33 in the MCNC test case, has wherein inserted 154 buffers to satisfy the constraint of time delay at white space.
Attached experimental result
Table two
Circuit | Number of modules | 2-end line netting index | Area (mm 2 ) | Line length (mm) | Insert number/need number | met | Violate constraint | Running time (second) |
Xerox | 10 | 455 | 85.4 1 | 1327 | 214/303 | 370 | 51 | 59 |
Ami33 | 33 | 363 | 31.1 5 | 461. 2 | 154/214 | 294 | 39 | 206 |
Ami49 | 49 | 545 | 146. 6 | 2920 | 244/568 | 341 | 151 | 329 |
Apte | 0 | 172 | 48.1 4 | 459. 5 | 44/107 | 113 | 49 | 27 |
Hp | 11 | 226 | 38.8 6 | 392. 2 | 40/106 | 163 | 43 | 29 |
Wherein: the MCNC test circuit has 5 circuit, comprises Xerox, Ami33, and Ami49, Apte, five circuit of Hp, number of modules wherein and gauze number are as shown in Table 2." met " is for satisfying the line screen of delay constraint; " insertion number " is the total number that successfully inserts the clear area buffer; " need number " and be required buffer total number; " violate constraint " for violating the line screen (the optimum time delay that is gauze is greater than delay constraint) of delay constraint.
The hardware that the present invention uses is the v880 work station of a Sun Microsystems; Use Unix operating system. Buffer planning algorithm of the present invention has following advantage:
(1). the buffer planning algorithm is combined with the optimizing process of floor planning;
(2). utilize the clear area among the Butut result to distribute to carry out the insertion of buffer, realize the optimization to delay performance, be conducive to finishing smoothly of follow-up design;
(3). have industrial application value, can be used for the IC design process: the interconnect planning problem in module level floor planning/layout.
Claims (1)
1. integrated circuit floor planning and buffer are planned integrated layout method, it is characterized in that: it is that a kind of area of feasible solutions of having introduced when buffer inserts is calculated, and by carrying the division of the white space among the floor planning result, so that the planning of buffer is integrated in the method for the integrated Butut in the solution procedure of floor planning problem, it contains following steps successively:
(1). computer program is carried out initialization, make and import following parameter:
(1.1). parameter setting in the simulated annealing process comprises interior cycle-index, initial temperature and end temp;
(1.2). the wide long R of target and the weights omega thereof of final layout chip are set;
(1.3). the weight λ of total line length and the weight γ that buffer inserts are set;
(1.4). the size of buffer in the target function and the size that buffer inserts grid are set.
(1.5). the relevant various performance parameters of buffer is set, comprises load capacitance, drive output resistance, buffer output resistance, buffer input capacitance, the intrinsic time delay of buffer, unit length line capacitance, unit length line resistance;
(2). computer reads in module and gauze information from module description file:
(2.1). read in the module four angular coordinate, and wide, high according to module four angular coordinate computing module;
(2.2). read in lead end coordinate on the module, and be translated into the coordinate in the relative module lower left corner;
(2.3). number to module by reading in order, and calculate total number of modules, each module net area sum;
(2.4). read in gauze information, comprise the interconnection situation of lead end, the delay constraint in the gauze;
The multiterminal gauze E that m lead end arranged is split into m-1 two ends gauze N, carry out buffer planning according to two ends gauze information again;
(3). according to module information, the topological structure of random configuration initial layout is the position relation of intermodule, with angle mould piece sequence method for expressing as the representing of module placement, according to the order that reads in module, random configuration initial layout Q
0Topological structure;
(4). enter the simulated annealing optimization process, calculate location problem optimum or approximate optimal solution.
From initial temperature, calculate optimum or approximate optimal solution under the Current Temperatures Tnow, it comprises following steps successively:
(4.1). calculate each gauze line length estimated value and total line length estimated value according to following formula, wherein, the line length of single gauze is estimated with the semi-perimeter model according to the lead end position in the gauze:
If: certain gauze E has m lead end p
1(x
1, y
1) ..., p
m(x
m, y
m);
Then: the line length WireLength (E) of this gauze estimates with following formula,
Wherein, i, j are the lead end numbering,
Total line length estimated value is:
(4.2) white space in the layout that calculates, and be divided into rectangular module, again the clear area rectangular module carefully be divided into fixed size in order to put down the little rectangle of one or several buffer; (4.3) judge that according to following formula whether two ends gauze N length is greater than critical length l
Crit,
Wherein:
R
b: buffer output resistance (Ω),
R
d: drive output resistance (Ω),
C
b: buffer input capacitance (fF),
C
l: load capacitance (fF),
R: unit length line resistance (Ω/μ m),
C: unit length line capacitance (fF/ μ m),
T
b: buffer inherent delay (ps);
If: the length l≤l of two ends gauze
Crit
Then: it is zero that current gauze inserts number of buffers;
(4.4) calculate each two ends gauze because do not satisfy the number of buffers of delay constraint needs insertion and the independent area of feasible solutions of each buffer:
(4.4.1). calculate the number of buffers k that each two ends gauze satisfies the delay constraint needs
Min:
Wherein:
K
1=R
bC
b+T
b (9)
Wherein:
L is a gauze length,
R
b: buffer output resistance (Ω),
R
d: drive output resistance (Ω),
C
b: buffer input capacitance (fF),
C
l: load capacitance (fF),
R: unit length line resistance (Ω/μ m),
C: unit length line capacitance (fF/ μ m),
T
b: buffer inherent delay (ps),
T
ConDelay constraint for gauze;
(4.4.2). calculate the independent area of feasible solutions of each buffer in the gauze of two ends:
Length is that the independent area of feasible solutions of j buffer of the two ends gauze N of l is:
W wherein
IfrBe the width of independent area of feasible solutions,
Wherein, k
MinBe the buffer number,
T
Con NBe the delay constraint of two ends gauze N,
T
Opt NFor inserting k among the gauze N of two ends
MinThe optimum time delay of individual buffer,
x
Opt jBeing the Manhattan distance (only comprising the horizontal and vertical lines section) of the relative gauze of buffer source end, also is the position of j buffer;
Wherein:
(4.5) satisfy the two ends gauze number N of target time delay with COMPUTER CALCULATION
Old
(4.5.1). calculate the candidate location sets of each buffer:
(4.5.1.1). calculate the source end of buffer place gauze and the friendship DF of determined rectangular area of drain terminal and clear area
Ol
(4.5.1.2). calculate DF
OlWith the friendship of the independent area of feasible solutions of buffer, work as DF
OlThe lower left corner of interior certain position is positioned at the independent area of feasible solutions of buffer, and then this position is the candidate position of respective buffer;
(4.5.1.3). be selected in the candidate position of above-mentioned buffer that buffer candidate position is minimum does not place the position of the position of buffer as buffer with fashion;
(4.5.2). check each two ends gauze, add up required buffer and fail the line screens that all insert, be designated as N
Notsat
(4.6) computer is estimated Q with following formula, obtains target function value Cost;
Cost
Q=Area+λ×TotalWireLength+ω×Rs
2+γ×N
sat;
Wherein:
TotalWireLength (total line length) is each gauze estimation length sum;
λ is the weight of total line length, and ω is the weight of breadth length ratio, and γ is the weight that buffer inserts;
Rs=|R-max(ratio,l/ratio)|;
Wherein establish the target that R is the chip breadth length ratio, ratio is the actual breadth length ratio of chip;
(5) the current layout Qnow of output;
(6) calculate the temperature of next annealed condition with following formula:
Tnow=a*Tnow,
Wherein a is the annealing factor, and general value is 0.95;
If Current Temperatures greater than end temp Tnow>Tend, then enters the solution procedure of next annealed condition;
If Current Temperatures is less than end temp Tnow<Tend, then Shu Chu current layout is final layout.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310115545 CN1275317C (en) | 2003-11-28 | 2003-11-28 | Integrated circuit layout plan and buffer plan integrated layout method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310115545 CN1275317C (en) | 2003-11-28 | 2003-11-28 | Integrated circuit layout plan and buffer plan integrated layout method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1547252A CN1547252A (en) | 2004-11-17 |
CN1275317C true CN1275317C (en) | 2006-09-13 |
Family
ID=34337349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200310115545 Expired - Fee Related CN1275317C (en) | 2003-11-28 | 2003-11-28 | Integrated circuit layout plan and buffer plan integrated layout method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1275317C (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392493B2 (en) * | 2004-11-22 | 2008-06-24 | International Business Machines Corporation | Techniques for super fast buffer insertion |
CN1804849B (en) * | 2006-01-19 | 2010-05-12 | 复旦大学 | Plan layout method for multi-clock system |
CN101339571B (en) * | 2007-11-01 | 2011-04-06 | 复旦大学 | VLSI layout planning centralized constrain implementing method |
CN102375902B (en) * | 2010-08-20 | 2013-01-30 | 雅格罗技(北京)科技有限公司 | Layout method for heterogeneous field programmable gate array (FPGA) |
CN102063535B (en) * | 2010-12-17 | 2012-07-11 | 清华大学 | Incremental I/O (Input/Output) planning method orienting inversion packaging technology |
CN103425820B (en) * | 2013-07-11 | 2016-02-24 | 陈钢 | A kind of layout method reducing buffering insertion number |
CN103970934B (en) * | 2014-03-28 | 2017-01-11 | 清华大学 | Layout planning method for multivoltage on-chip network chip of integrated network device |
CN105677956B (en) * | 2015-12-31 | 2019-04-02 | 宁波伟吉电力科技有限公司 | A kind of insertion method of chip buffers |
US11288425B1 (en) * | 2020-12-16 | 2022-03-29 | International Business Machines Corporation | Path-based timing driven placement using iterative pseudo netlist changes |
WO2022266956A1 (en) * | 2021-06-24 | 2022-12-29 | 华为技术有限公司 | Chip layout method and apparatus |
-
2003
- 2003-11-28 CN CN 200310115545 patent/CN1275317C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN1547252A (en) | 2004-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1293465C (en) | GUI application development support device, GUI display device, method, and computer program | |
CN1275317C (en) | Integrated circuit layout plan and buffer plan integrated layout method | |
CN1849608A (en) | Method and program for generating volume data from boundary representation data | |
CN100347710C (en) | Standard unit overall wiring method of multi-terminal network plug-in buffer optimizing delay | |
CN1862546A (en) | Fast method for analyzing IC wiring possibility | |
CN1764917A (en) | Apparatus and methods for performing process simulation using a hybrid model | |
CN1258729C (en) | Large-scale hybrid mode layout method based on virtual module | |
CN1648768A (en) | Automatic design device and method, and its medium mask unit and semiconductor ic circuit | |
CN1431704A (en) | Solving method for transient analysis of power source network based on equivalent circuit | |
CN1369114A (en) | Method of modifying integrated circuit | |
CN1061865A (en) | Content-addressed memory (CAM) | |
CN1783075A (en) | Method, apparatus, processor arrangement for displaying network data | |
CN1779686A (en) | Techniqes for making sure of buffer insertion | |
CN101051749A (en) | Distributive analysis method of power system low frequency vibration | |
CN1654967A (en) | Resistance value calculation method | |
CN1588381A (en) | Rectangular steiner tree method of super large size integrated circuit avoiding barrier | |
CN1219269C (en) | Method for reducing serial interfere on wire distribution procedure of standard apartment | |
CN1702466A (en) | Record medium and derivation program recording equivalent circuit model of electricity storage element | |
CN1271553C (en) | Generally distributing method of standant unit for eliminating crosstalk caused by coupling inductance | |
CN100336198C (en) | Semiconductor device and producing method thereof | |
CN1777831A (en) | Method of designing optical system | |
CN100336065C (en) | Right angle wiring tree method for wire length optimized obstacle passing | |
CN100347713C (en) | Method for improving loading efficiency of container based on minimum freedom degree poriority principle | |
CN1690956A (en) | Programme projecting device and method | |
CN1786640A (en) | Design method for eliminating air condenser hot reflux and structural wind effect and its equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060913 Termination date: 20091228 |