WO2000038228A1 - Appareil et procede de cablage brute et support d'enregistrement conservant un programme de cablage brute - Google Patents

Appareil et procede de cablage brute et support d'enregistrement conservant un programme de cablage brute Download PDF

Info

Publication number
WO2000038228A1
WO2000038228A1 PCT/JP1998/005815 JP9805815W WO0038228A1 WO 2000038228 A1 WO2000038228 A1 WO 2000038228A1 JP 9805815 W JP9805815 W JP 9805815W WO 0038228 A1 WO0038228 A1 WO 0038228A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
wiring
steiner tree
point
steiner
Prior art date
Application number
PCT/JP1998/005815
Other languages
English (en)
French (fr)
Inventor
Izumi Nitta
Hidetoshi Matsuoka
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP1998/005815 priority Critical patent/WO2000038228A1/ja
Priority to JP2000590207A priority patent/JP4227304B2/ja
Publication of WO2000038228A1 publication Critical patent/WO2000038228A1/ja
Priority to US09/800,490 priority patent/US6415427B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing

Definitions

  • the present invention relates to a general wiring method and apparatus, and a recording medium storing a general wiring program.
  • the present invention relates to a general wiring method and apparatus which are performed prior to detailed wiring in a layout design of computer-aided automatic design of LSI and VLS I, and a computer-readable recording medium storing a general wiring program, and more particularly to a Steiner.
  • the present invention relates to an outline, a method and an apparatus for searching for wiring between net terminals at the lowest cost using a tree, and an outline, and a computer-readable recording medium storing a program.
  • a logical design that determines cells such as AND and OR and a net that connects the cells. Then, based on the netlist obtained by the logic design, the cell layout automatic design for arranging the cells on the chip is performed, and finally the wiring for connecting the nets between the cells arranged on the chip is determined (routine G: Ro uting).
  • the routing process includes global routing (G1oba1R outing), which determines the net without considering timing, delay, etc., and details, which determines the actual routing on the chip, considering timing, delay, etc. It is divided into wiring (Detailed Routing).
  • the intersection of the vertical and horizontal grids in the Dalid graph is called the dalid.
  • the hot spring problem is a problem in which a line segment is generated on a grid to connect terminals t 1, t 2, and t 3 of a certain net N. If there are multiple wiring layers, assign each line segment to the lowest cost location.
  • the cost function is the wiring length generally given by the sum of the lengths of the line segments, and minimizes the cost.
  • SE ⁇ is to avoid passing through the hatched areas 100 and 102.
  • the areas 100 and 102 are areas where wiring is prohibited or areas with a high degree of wiring congestion. It is.
  • the maze method uses one terminal t1 as a source and the other terminal t2 as shown in Fig. 2.
  • the search is performed in such a way that wave power propagates from the source t1.
  • the value of the label is g g away from source t 1.
  • the vertices adjacent to the source t 1 are labeled “1”, and the vertices adjacent to the vertex with the label “1” are labeled “2”. This process is repeated until the wave reaches the target t2 or the wave no longer spreads.
  • the advantage of this maze method is that the shortest path can be obtained in consideration of the area where wiring is not possible.
  • the calculation time depends on the grid size, and is 0 (h x w) when the height is h and the width is w.
  • 0 () is 0 r de r ().
  • the maze method increases the computational cost power as the circuit becomes larger and the size power becomes larger.
  • the memory size for storing labels also depends on the grid size of the chip.
  • a line segment is generated from a source t1 and a target t2 and added to a list called an s-list (s1 ist) and a t-list (t1 ist), respectively.
  • Lines are extended as long as there are no obstacles.
  • the search ends when the lines in the s list and the lines in the t list collide.
  • the s list contains the line segment s 1, When s2 and s3 were added and s4, s5 and a6 were added to the t-list, the s2 and s4 collided, and the route was found.
  • the line segment search method reduces the memory used by using line segments instead of grids.
  • the calculation cost depends on the number L of generated line segments, and is 0 (L).
  • wiring prohibition, high wiring congestion L, regions 100 and 102 can be considered as obstacles, and multi-layer wiring can be performed.
  • the method using the Steiner tree generates a Steiner tree 104 called a RST (rectilinear steiner tree).
  • the problem of finding the minimum cost Steiner tree 104 is the NP difficulty (No—P 0 1 ynom ia 1; negated polynomial time) in which the solution explodes explosively without solving in a significant time.
  • N the number of net terminals
  • these methods are known to have a calculation time up to about (N d log N) and the amount of memory used.
  • N d log N the number of memory used.
  • a Steiner tree is generated without restriction without considering obstacles, and when finding the path of each branch of the Suina tree, obstacles are obtained using a maze method or the like. It is processing such as avoiding.
  • the computation time depends on the number of net terminals.
  • the number of terminals of a net is at most several hundred.
  • the grid size of the wiring area is at least several millions or more. For this reason, the method using the Steiner tree is advantageous in terms of computation time and the amount of memory used as compared with the maze method.
  • the general Steiner tree generation algorithm does not take into account layers, prohibitions, wiring capacitances, and other constraints, so these constraints are left to detailed routing. In this case, the problematic power given to the detailed wiring becomes difficult, and the calculation time for the entire wiring may be increased.
  • the present invention reduces the burden on details 1 It is an object of the present invention to provide a general wiring method and apparatus which can obtain a solution of a general wiring, and a computer-readable recording medium storing a general wiring processing program.
  • the present invention is a general E ⁇ method for obtaining a general wiring between net terminals of cells arranged on a chip.
  • the present invention provides a Steiner tree generating process for generating a Steiner tree generated without any constraints as an initial solution, It is characterized by a modification process of obtaining a schematic routing by repeating partial modification of the Steiner tree so that the line length does not increase as much as possible based on the initial solution of the tree and considering the constraint conditions.
  • the Steiner tree generation process generates a single tree without constraints such as layers, prohibitions, and wiring capacities as the initial solution, and the correction process minimizes the line length considering the forbidden area, capacitance, and layer. Repeat the modification of Steiner Ichiki.
  • the present invention performs the partial correction of the Steiner tree with the Steiner tree as the initial solution so as to take into account the constraints of Obtainable.
  • the calculation required for the partial correction of the Steiner tree in the present invention is basically a coordinate calculation, and the calculation time and the amount of used memory depend on the number N of terminals of the net. Therefore, in large-scale circuits, this method is significantly advantageous in terms of computation time and memory usage compared to the maze method that scans the @ 3 ⁇ 4g region.
  • the correction process consists of a path set generation process that generates a path set that divides a Steiner tree into multiple paths whose values are Steiner points, which are the intersections of at least three branches. And a path modification step of partially modifying the Steiner tree by modifying the path in consideration of the constraint conditions.
  • the path modification process includes a forbidden region bypassing process that changes a path passing through the forbidden region to an L or a path that passes through the forbidden region with respect to the path set of the Steiner tree.
  • the forbidden area detour process has the following procedure in detail.
  • the prohibited area detour process includes a first correction process and a second correction process.
  • the path is changed by selecting a path that passes outside the prohibited area so that the line length does not increase as much as possible without changing the start point and the end point.
  • a path that passes through the rectangle surrounding the start and end points of the path may be selected. If it is impossible to pass through this rectangle due to the restriction of the prohibited area, the line length will increase.
  • the calculation time can be reduced to 0 (1) by determining some route patterns in the rectangle.
  • the paths that pass through the wiring congestion area with the number of wirings exceeding the wiring capacity are changed to L and paths that pass through the ffi spring congestion area so that the number of paths is less than the capacity.
  • the method includes a wiring congestion area detour process. The details of the ffi ⁇ congestion area bypass process are as follows.
  • a first correction step and a second correction step are also provided for this wiring congestion area detouring step.
  • the original start point sphere is a candidate point on the branch of the Suina Ina tree that is separated from the end point as a new start point or end point of the destination
  • a candidate point that is outside the block and has the shortest line length is selected as a new start point or end point, and a path that does not pass through the block is found to change the path.
  • the path when passing through a block with a strong path, the path is changed by selecting a path that passes outside the block so that the line length does not increase as much as possible without changing the start and end points.
  • the path modification process includes a line length improvement process of changing a path set so as to improve the line length of each path after the completion of the Steiner-tree partial modification based on the constraints on the path set of the Steiner tree.
  • the details of this line length improvement process have the following procedure.
  • Branches belonging to the path to be processed are removed from the Steiner tree and divided into a first subtree T 1, which is a set of branches coming from the start point, and a second subtree ⁇ 2, which is a set of branches coming from the end point. .
  • the first subtree ⁇ The starting point of 1 remains the same, and the second subtree ⁇ From the starting point of the branches of 2 The first candidate path by finding the end point on the branch that minimizes the distance
  • the collective path is updated with the first candidate path whose end point has been changed as the new path.
  • the present invention provides a schematic wiring device for obtaining a schematic wiring between net terminals of cells arranged on a chip.
  • This schematic wiring device consists of a Steiner tree generator that generates a Steiner tree generated as an initial solution without constraints such as layers, prohibitions, and capacities, and a Steiner tree, which is a Steiner tree that is an intersection of at least three or more branches.
  • a path set generation unit that generates a path set that divides a point into a plurality of paths having a value, and a path set for a path set of a single tree of a tree are corrected, and the line length is not increased as much as possible by modifying the path in consideration of the constraint conditions.
  • the schematic wiring is obtained by repeating the partial correction of the Steiner tree, and the surface correction process.
  • the path correction unit of the schematic routing apparatus includes a forbidden area detour processing unit that changes a path passing through the forbidden area into a path that does not pass through the forbidden area for the path set of the Steiner tree, and A route that passes through the TO congestion area with the number of wires exceeding the wiring capacity to a path that does not pass through the wiring congestion area so that the number of wires is equal to or less than the wiring capacity.
  • the set is changed to a path to improve the line length of each path. 8 line length improvement processing unit.
  • the present invention provides a computer-readable recording medium storing a general wiring processing program for obtaining a general wiring between net terminals of cells arranged on a chip.
  • This recording medium is composed of a Steiner tree generation module that generates a Steiner tree generated without constraints such as layers, prohibitions, and wiring capacities as an initial solution, and a Steiner tree generated by a Steiner tree that is an intersection of at least three branches.
  • a path set generation module that generates a path set that divides a point into multiple paths with values and a path set that modifies the path set of the Steiner tree so that the line length does not increase as much as possible
  • a path correction module that obtains schematic wiring by repeating partial correction of the Steiner tree.
  • the path correction module of the recording medium for the path set of the Steiner tree, includes a prohibited area detour processing module that changes a path passing through the prohibited area to a path that does not pass the prohibited area, and a path set of the Steiner tree.
  • a congestion area detour processing module that changes a path that passes through a wiring congestion area exceeding the wiring capacity to a path that does not pass through the TO congestion area so that the number of paths equal to or less than 1 ⁇ capacity is 13 ⁇ 4
  • the Steiner tree A path length improvement processing module for changing the path set to a path so as to improve the path length of each path after completion of the partial modification of the Steiner tree based on the constraint condition.
  • the calculation time for correcting the Steiner tree in such a schematic wiring method of the present invention is only about 0 ⁇ N 2 (10 gN) 2 ⁇ for a net having N terminals.
  • the computation time of the combined modification and generation of Steiner trees as the first Machinery is the force 0 (N 3 1 0 g N ) about which depends on the Steiner Kisei formation algorithm.
  • the number of terminals is at most 102, in which case the computation time is 10
  • a net with several hundred terminals is a few percent of the total number of nets.
  • the memory capacity required to create the path structure is 0 (N).
  • Figure 1 is an explanatory diagram of the schematic wiring problem using the Darlid graph
  • Figure 2 is an illustration of the maze method
  • Figure 3 illustrates the line search method.
  • Figure 4 is an illustration of the method using a Steiner tree
  • Fig. 5 is a block diagram of the VLSI automatic design system to which the present invention is applied.
  • FIG. 6 is a functional block diagram of the schematic wiring device of the present invention.
  • Figure 7 is a schematic diagram of the present invention.
  • Fig. 8 is an explanatory diagram of the Steiner tree generated as an initial solution in the present invention.
  • Fig. 9 shows a sub-steiner obtained by dividing the Steiner tree of Fig. 8 into Steiner-point paths.
  • FIG. 10 is an explanatory diagram of a path list indicating the path set of FIG.
  • Fig. 11 is a flowchart of the prohibited area detour processing according to the present invention.
  • FIG. 12 is an explanatory diagram of the prohibited area detour processing of the present invention.
  • FIG. 13 is a flowchart of the wiring congestion area bypass processing according to the present invention.
  • FIG. 14 is a flowchart of the wiring congestion area detour processing of the present invention following FIG. 13.
  • FIG. 15 is an explanatory diagram of the wiring congestion area detour processing of the present invention.
  • Figure 16 is a flowchart of the wiring length improvement process of the present invention.
  • FIG. 17 is an explanatory diagram of the wiring length improvement processing of the present invention.
  • FIG. 18 is an explanatory diagram of the layer arrangement processing of the present invention.
  • FIG. 5 is a block diagram of a computer-aided LSI or VLSI automatic design system using the schematic wiring of the present invention.
  • This automatic design system comprises a logic design system 10 and a rate design system 14.
  • the logic design system 10 receives information representing the operation contents of the large-scale integrated circuit to be designed as input, and is logical connection information represented by cell-to-cell connection information registered in a library.
  • Generate netlist data 12
  • the layout design system 14 Based on the netlist data 12 generated by the logical design system 10, the layout design system 14 performs cell placement on the chip and wiring processing between the placed cells, and performs layout design data 2. Generate 4. For this reason, the layout design system 14 is equipped with a senoré placement system 16 and a system 18 standby.
  • the distribution system 18 includes a general wiring device 20 known as global routing and a detailed wiring device 22 known as detail routing. Applied.
  • FIG. 6 is a functional block diagram of the schematic wiring device 20 of FIG.
  • an input unit 26 is provided for the general wiring device 20, and the terminal positions of the nets Nl to Nn based on the netlist data 12 created by the logical design system 10 of FIG. 32.
  • the data of the wiring prohibited area 34 and the layer information 36 are input.
  • the schematic wiring device 20 includes a Steiner tree creation unit 38, a path set generation unit 40, a path correction unit 42, and a path list storage unit 52.
  • the path correction section 42 is a prohibited area detour processing section 44, a wiring congestion area detour processing section 46, a line length improvement processing section 48, a layer arrangement processing section 50, a first correction section 52, and a second correction section 5. Consists of six.
  • This ISI spring device 20 uses the Steiner tree generated without restrictions based on the terminal positions of the nets N1 to Nn as the initial solution, and considers the restrictions such as the routing prohibited area, the wiring congestion area, and the layer arrangement. Then, a partial modification of the Steiner tree is performed to obtain the result of the schematic routing with the same quality as the schematic routing considering the obstacles of the maze method as shown in Fig. 1.
  • the calculation required for the partial correction of the Steiner tree in the schematic wiring device 20 of the present invention is basically a coordinate calculation, and the calculation time and the amount of memory used depend on the number N of terminals of the net. Therefore, in a large-scale circuit, the outline of the present invention is significantly advantageous in terms of calculation time and the amount of memory used, as compared with the maze method in which a wiring area is manipulated.
  • the schematic routing obtained as a result of the partial correction in the schematic routing device 20 taking into account the constraints of the initial solution of the Steiner tree is output to the output unit 30 as a wiring tree T1 to ⁇ 58 of nets N1 to Nn. Is output.
  • FIG. 7 is a flowchart of the schematic wiring processing of the present invention in the schematic device 20 of FIG.
  • step S1 netlist, cell rate information and design Load rules.
  • step S3 the Steiner tree T1 of the net N1 is generated by the Steiner tree tree generator 38 in FIG. 2, and the Steiner tree T1 generated without these constraints is used as the initial solution of the general routing problem.
  • Fig. 8 shows the Steiner tree T i of the net Ni generated without the constraint in step S3 of Fig. 7, and also has four terminals t1, t2, t3, and t4 on the grid graph.
  • the Steiner Tree Ti has been generated vigorously.
  • step S4 of FIG. 7 the intersection of three or more branches on the Sutina tree T1 is defined as the Steiner point for the initial solution of the Steiner tree T1 generated in step S3.
  • Generate a path set S i (P i) consisting of a set of subtrees.
  • FIG. 9 is an explanatory diagram of a process of generating a path set as a subtree set in step S4 of FIG. 7, and targets the Steiner tree 60 of FIG.
  • the Steiner tree 60 For this Steiner tree 60, first find a Steiner point that is the intersection of three or more branches; In this case, two Steiner points s 1 and s 2 are obtained.
  • a subtree having the Steiner-point s l, s 2 as a root is called a path. Therefore, the path consists of the following elements.
  • path pi has terminal t1 as the start point of the path, steiner point s1 as the end point of the path, and has branch e1 as the path between start point t1 and end point s1.
  • the set of paths generated by setting the Steiner point s1 and s2 in this way is stored as a path list 52 as shown in Fig. 10, and this path list 52 expresses the force-generated Ina tree are doing.
  • the number of terminals is N
  • the number of Steiner-points is 0 (N)
  • the calculation time for dividing into paths is branch endpoint is suppressed by the operation of determining whether the Steiner one Boyne Bok, computation time is ⁇ (e n 2).
  • the number of branches e n of the Steiner tree is 0 (N)
  • the calculation time for the division into paths is 0 (e n 2 ).
  • the number of generated paths is reduced to 0 (N).
  • step S3 if the path collective force representing the Steiner tree can be generated in step S4, the Steiner tree T i that bypasses the routing prohibited area is corrected in step S5, and the process proceeds to step S6. Correction of the Steiner tree T i taking into account the wiring congestion area is performed, and in step S7, the line length of the corrected Suina Inaichi tree T i is improved. Finally, in step S8, After the branches are assigned, the Steiner tree T i of the net N i is output as a wiring source in step S 9. Then, after incrementing the processing counter i by one in step S10, the processing from step S3 is repeated until the processing count reaches the last net number n in step S11.
  • the correction processing of the Steiner tree T i expressed by the path set of steps S5 and S6 is corrected using the following two correction rules.
  • Modification rule 1 changes the starting point and ending point of the path so that it does not increase compared to the original Steiner tree.
  • the route along the route changes accordingly.
  • Candidates for the new start point are all points on the Steiner tree branch (vertices on the Dalid graph) that extend from the original start point of the path.
  • new endpoint candidates are points on all Steiner tree branches that can be drawn from the original endpoint of the path. No ,.
  • Modification rule 2 changes only the route in the middle without changing the start and end points of the path so that the line length of ⁇ ° does not increase compared to the original tree. To change the route length on the way so that the line length of the path is shorter than the original Steiner tree, It is sufficient to select a route that passes through the rectangle that surrounds the start and end points of the source. If it is not possible to pass through the rectangle surrounding the start and end points due to restrictions such as wiring prohibition, the line length will increase. The calculation time of this modification rule 2 can be reduced to 0 (1) by deciding several route patterns in the rectangle surrounding the start and end points of the path.
  • FIG. 11 is a flowchart of the process of correcting the Steiner tree bypassing the wiring prohibited area in step S5 of FIG.
  • the routing prohibited area detour processing includes the prohibited area detour processing section 44 provided in the path correcting section 42 in FIG. 6, the first correction section 54 that corrects the correction rule 1, and the correction processing of the correction rule 2. This is realized by the function of the second correction unit 56.
  • step S1 for each path of the Steiner tree represented by the path set of the path list 52 as shown in FIG. 10, for example, the relationship between the start point, the end point, the path, and the wiring prohibited area is determined. That is, it is checked whether the start point, the end point, and the path of the path pass through the wiring prohibited area. If it is determined in step S2 that the starting point or the ending point of the path is within the prohibited area, the process proceeds to step S3, and the starting point or the ending point of the prohibited area is moved out of the prohibited area according to the path modification rule 1. When the start point or the end point is moved, the Steiner tree changes, so that an update for generating a path set again is performed in step S4.
  • step S5 it is checked whether or not the vehicle passes through the prohibited area. For example, proceed to step S6 and change to a route that does not pass through the prohibited area according to the path modification rule 2. Further, if the start and end points of the path are not in the prohibited area in step S2 and the path of the path does not pass through the prohibited area in step S5, the path is not corrected. The processing of steps S1 to S6 is repeated until all the paths of the Steiner tree have been processed in step S7.
  • FIG. 12 is an explanatory diagram of specific processing of the wiring prohibition area detour processing of FIG. 11.
  • Fig. 12 (A) is a single tree represented by the path set of path list 52 in Fig. 10. It is assumed that the path p 3 has passed over the wiring prohibited area 62 strongly. In order to change the path P 3 passing through the routing prohibited area 6 2 to a path bypassing the routing prohibited area 6 2 without increasing the wire length, it is necessary to change the starting point s 1 of the path. I do.
  • Correction rule 1 is a probation of the new starting point, that is, all the points on the branches of the Ina tree that can be drawn from the starting point s 1 of the original path, that is, the vertex s 1 of the grid graph in FIG. 12B. 1, s 1 2, and s 13, and also includes the terminals t 1 and t 4.
  • t 1, s 11, s 1 2, s 13, and t 4 the point that satisfies the restriction that they do not pass through the wiring prohibited area 62 and has the shortest wire length is , The candidate point s 1 1. Therefore, a path p3 shown in FIG.
  • the path P 3 after the correction is composed of a start point s 1 1, an end point s 2, a branch e 4 1, and an e 4 2, and a Steiner point is a Steiner-point s as a new start point from s 1 1 before the correction.
  • 11 Changed to 1 and changed the structural power of the Steiner tree ⁇ Since it has changed, recalculate all the paths that make up the Steiner tree and update the contents of the path list in Fig. 10.
  • the force that is modified by the path modification rule 1 in step S3 is provided that the start or end point of the path is in the prohibited area in step S2.
  • the starting point s 1 of the path p 3 in FIG. 12 (A) is not in the prohibited area 6 2, but outside the wiring prohibited area 6 2, passing through the branch e 4 of the path p 3 or the 'rooster prohibited area 6 2 I have.
  • the vertex force on the grid graph that is the next candidate point of the starting point s 1 3 ⁇ 4 ⁇ prohibited area 6 Must be outside of 2. In the case of Fig.
  • the routing prohibition detour processing if the grid graph vertex on the branch adjacent to the start or end point of the path is in the routing prohibition area, it is regarded as being in the starting point or end point power routing prohibition area. Apply Correction Rule 1.
  • the adjacent grid graph vertex 6 8 on the branch e 4 is outside the routing forbidden area 6 2. There is no need to change s2.
  • FIGS. 13 and 14 are flowcharts of the Steiner-tree correction process in consideration of the wiring congestion area in step S6 of FIG. 7, that is, the wiring congestion area bypass processing.
  • This wiring congestion area detour processing is realized by the functions of the wiring congestion area detour processing unit 46, the first correction unit 54, and the second correction unit 56 provided in the path correction unit 42 in FIG.
  • the wiring area is divided into blocks of an appropriate size for the initial solution of the Steiner tree shown in Fig. 8 generated without considering the wiring capacity in step S1, and each block is divided into blocks.
  • the wiring capacity and the wiring congestion degree can be variously defined depending on the characteristics of the circuit, etc., for example, the wiring capacity is the maximum value of the line segment that can pass through the block, and the wiring congestion degree is the current value passing through the block. And the number of line segments.
  • step S2 a specific block is taken out, and its 1 ⁇ ⁇ ⁇ ⁇ congestion degree is compared with the wiring capacity. If the ffi ⁇ congestion degree exceeds the wiring capacity, the process proceeds to step S3.
  • step S4 it is determined whether or not the start point or the end point of the specific path passing through the block exceeding the congestion degree ⁇ the wiring capacity is within the block. If it is within the block, proceed to step S5, move the start point or end point inside the block to the outside according to the path modification rule 1, and change to a route that does not pass through the block. At this time, it is checked in step S6 whether a path that does not pass through the block is obtained. If a path that does not pass through the block is not found, the path is left as it is.
  • step S4 the process proceeds to step S7 in FIG. 14 to determine whether the path of the path passes through the block. If the path of the path passes through the block, the process proceeds to step S8, and the path is changed to a path that does not pass the block according to the path modification rule 2. In this case also, in step S9, it is checked whether there is a route that does not pass through the block, and if no route that does not pass through the block is found, the path is left as it is. Further, in step S10, if both the start point and the end point of the path are inside the block, the path cannot be changed to the outside of the block, so that no correction processing is performed.
  • step S 11 the current processing is performed on the changed path corrected by the path correction rule 1 of step S 5 or the path correction rule 2 of step S 8.
  • step S12 check whether the recalculated wiring congestion strength is greater than or equal to the wiring capacity. Assuming that the congested area detour processing has been completed, it is determined in step S13 that all blocks have been processed, and if the processing has been completed, the processing from step S2 is repeated again. On the other hand, if the recalculated wiring congestion degree is equal to or greater than the wiring capacity in step S12, the congestion has not been eliminated for the block, so the process returns to step S3 again and the next Specify the path and repeat the correction process from step S4.
  • FIG. 15 is an explanatory diagram of specific processing of the wiring congestion area detour processing of FIGS. 13 and 14.
  • Fig. 15 (A) is a block diagram of Fig. 12 (C), which has been modified to correct the detour processing of the routing prohibited area.
  • path p2 passed through the routing congestion area 70. I do.
  • the path p2 passing through the wiring congestion area 70 is composed of a start point si1, an end point t4, a branch e31, e32, and e33, and the start point s11 and the end point t4 are wired. Since it is not in the congestion area 70, the path is changed so that the route is outside the congestion area 70 so that the line length does not increase significantly by the modification rule 2.
  • FIG. 16 is a flowchart of the line length improvement processing of the Steiner tree in step S7 in FIG.
  • This line length improvement processing is realized by the function of the line length improvement processing section 48 provided in the path correction section 42 in FIG.
  • step S1 an arbitrary path ⁇ in the modified Steiner tree to be processed is selected, and its path length d is derived.
  • step S2 the branch belonging to the selected path p is removed from the Steiner tree, and divided into a subtree T1 that can be entered from the start point and a subtree T2 that can enter the end point.
  • step S3 the starting point of the path p is left unchanged from the branch of the subtree T2.
  • the point on the branch where the Manhattan distance is the shortest is searched for as the end point, and the path obtained in this way is pl and the path length is dl.
  • the Manhattan distance is the distance connecting two points with a straight line.
  • step S4 on the contrary, the end point of the path p2 is left as it is, and the branch on the starting point side is searched from the branches of the tree T1 with the point on the branch where the Manhattan sunset distance force ⁇ shortest as the starting point.
  • the path is p 2 and the path length is d 2.
  • step S5 the subtrees Tl and T2 are divided into subtrees T1 and T2.
  • the path length d1 of the path p1 and the path p2 If the path length is less than or equal to the path length d2 of the original path p and the path length is less than or equal to the path length d2 of the original path p, the path p1 whose end point has been changed in step S6 is regarded as the path p with the improved new line length.
  • step S7 the path length d2 of the path p1 obtained in step S3 is compared with the path length d2 of the path p2 obtained in step S4. If L is smaller than ⁇ and smaller than the path length d of the original path p, and the condition is satisfied, in step S8, the path p2 whose starting point has been changed is set as a new path p with an improved line length. Of course, if neither of the conditions in steps S5 and S7 is satisfied, the path is not changed in step S9.
  • step S10 it is checked whether or not the processing of steps S1 to S9 has been completed for all paths of the Steiner tree, and the processing of steps S1 to S9 is repeated until the processing of all paths has been completed. .
  • the overall line length is improved by the line length improving process for each of the corrected Steiner trees.
  • FIG. 17 is an explanatory diagram of a specific process of the line length improving process of FIG. Fig. 17 (A) shows the Steiner tree 60 after the routing process of the wiring congestion area shown in Fig. 15 (C) .
  • the route of the start point s11, end point t4, branch e34, e35 is shown.
  • the branches e34 and e35 constituting the path of the path p2 are removed as shown by broken lines.
  • the Steiner tree 60 is divided into a subtree T 1 on the start point s 11 1 side and a subtree T 2 on the end point t 4 side.
  • the starting point s 11 of the path p 2 is left as it is, and a point on the branch having the shortest Manhattan distance force is searched from the branches of the subtree T 2 on the ending point t side as the ending point. And the path length is dl.
  • the path p 11 in this case is the same as the first path P 2 in FIG. 17 (A).
  • the end point t 4 of the path p 2 is the start point
  • the subtree T1 on the s11 side is searched starting from the branch on the branch with the shortest Manhattan distance as the starting point.
  • the subtree T 1 on the starting point s 1 1 side has terminals t 1 and t
  • FIG. 18 shows a specific example of branch assignment processing to each layer performed after the partial correction of the Steiner tree and the improvement of the line length are completed in step S8 of FIG. 7.
  • Fig. 18 (A) shows the Steiner tree 60 with the line length improvement shown in Fig. 17 (C), and based on the previously input layer information, the Steiner tree 60 is shown in Fig. 18 (B ) To the first layer and the second layer as shown in Fig. 18 (C).
  • the partial correction of the initial solution of the Steiner tree generated without restrictions is corrected in consideration of the wiring prohibited area and the wiring capacity, and then the wire length is improved, and finally the layers are arranged. Even if correction is made only for specific restrictions such as detouring or wiring capacity of ISI spring ban area as correction of Steiner tree, burden on the following detailed processing can be reduced .
  • the present invention also provides a computer-readable recording medium storing a schematic wiring program having the procedure of the general wiring processing described in the above embodiment.
  • the processing function of each unit of the general wiring device 20 in FIG. 6 is incorporated as a processing module.
  • the same wiring as the general routing considering the obstacles of the existing maze method is performed.
  • the calculation required to modify the Steiner tree in this book is basically coordinate calculation, and the calculation time and the amount of memory used depend on the contrast of the network. Compared to the maze method that depends on the power, the computation time and the amount of memory used are greatly advantageous, and as a result, a rough wiring power with a small amount of calculation time and the amount of memory used can be realized.

Description

明 細 書
概略配線方法及び装置並びに概略配線プログラムを格納した記録媒体 【技術分野】
本発明は、 LS Iや VLS Iのコンピュータ支援の自動設計のレイアウト設計 で詳細配線に先立って行われる概略配線方法及び装置並びに概略配線プログラム を格納したコンピュータ読取り可能な記録媒体に関し、 特に、 スタイナ一木を利 用した最小コストのネット端子間の配線を探索するための概略 ,方法及び装置 並びに概略 プログラムを格納したコンピュータ読取り可能な記録媒体に関す る。
【背景技術】
VLS I、 LS Iなとの大規模半導体集積回路をコンピュータの支援により自 動設計する CADシステムにあっては、 まず AND、 OR等のセルと、 セル間を 接続するネットを決定する論理設計を行い、 次に論理設計で得られたネットリス 卜に基づき、 チップ上にセルを配置するセルレイアウト自動設計を行い、 最後に チップ上に配置したセル間のネットを接続する配線を決める 処理 (ルーチン グ: Ro u t i n g) を行っている。 配線処理は、 タイミング、 遅延等を考慮せ ずにネット を決める概略配線 (グローバル ·ルーチング: G 1 o b a 1 R o u t i n g) と、 タイミング、 遅延等を考慮してチップ上の実際の配線を決め る詳細配線 (ディテール ·ルーチング: De t a i l e d Ro u t i n g) に 分かれる。
近年の回路技術の進歩に伴い、 VL S Iの集積度の向上と回路規模の増大は著 しい。 このためレイアウト自動設計は、 大規模の回路を高速に処理すること力 <要 求されている。
ここで本発明が対象としている概略配線問題の定義を簡単に説明する。 まず図 1のように、 グリッドグラフと呼ばれる格子上の領域を考える。 グリッ ドグラフ は、 チップ領域を水平垂直のラインによりセルブロックに分け、 各矩形セルを頂 点に変換して格子で結んだものであり、 配置セルの端子は格子の黒点で表わされ る。
このダリッドグラフにおける縦、 横の格子の交点をダリッドと呼ぶ。 ダリッド サイズはグリッ ドの総数であり、 縦方向の格子数が V本、 横方向の格子数が h本 の場合、 グリツ ドサイズは (h x v) となる。 図 1の場合は、 h = 6 , v = 6で ダリッドサイズは 3 6である。
概略 1¾泉問題は、 あるネット Nの端子 t 1 , t 2 , t 3を結ぶように格子上に 線分を生成する問題である。 配線層が複数ある場合は、 各線分を最もコストの低 いところへ割り当てる。 コスト関数は一般的には線分の長さの総和で与えられる 配線長であり、 コストを最小にする。 概略 SE^の制約としては、 斜線に示した領 域 1 0 0 , 1 0 2を通らないようにすることであり、 領域 1 0 0, 1 0 2は配線 禁止領域や配線混雑度の高い領域である。
次に概略配線の方法としてよく知られているものを簡単に説明する。
まず、 2端子のネッ卜に関する手法として代表的な迷路法と線分探索法がある c 迷路法は、 図 2のように、 一方の端子 t 1をソースとし、残りの端子 t 2をタ一 ゲットとし、 ソース t 1から波力伝搬するような形で探索を行なう。 まずソース t 1に 「0」 をラベルする。 ラベルの値はソース t 1からの g巨離である。 次にソ —ス t 1に隣接する頂点には 「1」 をラベルし、 ラベル「1」 の頂点に隣接する 頂点は 「2」 をラベルするという手順で波が広がるように伝えていく。 この処理 を波がタ一ゲット t 2に到達する力、、 あるいは波がこれ以上広がらなくなるまで 繰り返す。
この迷路法の長所は、 配線できない領域も考慮した最短経路が得られることに ある。 また計算時間はグリツドサイズに依存し、 高さ h、 幅 wとしたとき 0 ( h x w) となる。 ここで 0 ( ) は、 0 r d e r ( ) である。 このため回路が大 規模化し、 サイズ力 <大きくなると迷路法は計算コスト力増大する。 またラベルを 記憶しておくためのメモリサイズもチップのグリツ ドサイズに依存する。
線分探索法は、 図 3のように、 ソース t 1とターゲット t 2から線分を生成し、 それぞれ s リスト ( s 1 i s t ) 及び t リスト ( t 1 i s t ) と呼ばれるリスト に加えていく。 線分は障害物がないかぎり伸ばす。 探索は、 s リストの線分と t リストの線分がぶっかったところで終了する。 図 3では、 sリストに線分 s 1 , s 2, s 3を、 また tリストに線分 s 4, s 5, a 6を加えるように線分を延ば したところで、 線分 s 2と s 4がぶつかり、 経路が見つかつている。
線分探索法は、 グリツドを使う代わりに線分を使うことによって、 使用メモリ を軽減する。 また計算コストは生成された線分数 Lに依存し、 0 (L) である。 このような迷路法や線分探索法は、 配線禁止や配線混雑度の高 L、領域 100, 102を障害物として考慮することができるし、 多層の配線もできる。
3端子以上の多端子のネットに関しては迷路法や線分探索法を拡張した方法が 用いられるが、 局所解に陥るという欠点があり、 図 4のスタイナー木を利用する 方法が解の質が高 L、という点で優れている。
スタイナー木を利用する方法は、 RST (rectilinear steiner tree) と呼ば れるスタイナー木 104を生成する。 最小コストのスタイナ一木 104を見つけ る問題は、 有為な時間内にて解けずに爆発的に解が増加する NP困難 (No— P 0 1 ynom i a 1 ;否定された多項式時間) であるが、 いくつかヒユーリステ イツク(heuristic: 発見的) な手法が提案されている。 これらの手法はネットの 端子数を Nとすると、 ◦ (Nd log N) 程度までの計算時間及び使用メモリ量の ものが知られている。 一般的なスタイナー木を利用した方法は、 障害物を考慮せ ず制約なしでスタイナ一木を生成し、 ス夕イナ一木の各枝の経路を求める際に迷 路法などを使つて障害物を避けるなどの処理をしている。
しかしながら、 迷路法のようなチップのグリッ ドサイズに依存する方法では、 大規模な回路で、 計算時間と使用メモリ量が増大することが問題となる。
一方、 スタイナー木を利用する方法は、 計算時間はネットの端子数に依存する。 実用的な回路ではネットの端子数は高々数百である。 これに対して配線領域のグ リッドサイズは少なくとも数百万以上となる。 このためスタイナ一木を利用する 方法は、 迷路法と比較して計算時間と使用メモリ量において有利である。
し力、し、 一般的なスタイナー木の生成アルゴリズムでは、 層、 禁止、配線容量 といつた制約を考慮していないため、 これらの制約は詳細配線に任せることにな る。 この場合、 詳細配線に与えられる問題力難しくなり、配線全体の計算時間が 逆に増える可能性がある。
本発明は、 詳細 1¾¾に対する負担を軽減し質の高いスタイナ一木を利用した概 略配線の解が得られる概略略配線方法及び装置並びに概略配線処理プログラムを 格納したコンピュータ読取り可能な記録媒体を提供することを目的とする。
【発明の開示】
本発明は、 チップ上に配置されるセルのネット端子間の概略配線を求める概略 E ^方法であり、 制約条件なしに生成したスタイナ一木を初期解として生成する スタイナー木生成過程と、 スタイナ一木の初期解をもとに、 制約条件を考慮して 線長がなるべく増えないようにスタイナ一木の部分修正を繰り返して概略配線を 得る修正過程とを備えたことを特徴とする。
ここで、 スタイナー木生成過程は、 層、 禁止、 配線容量といった制約なしスタ イナ一木を初期解として生成し、 修正過程は、 禁止領域、 容量、 層を考慮し て線長がなるべく増えないようにスタイナ一木の部分修正を繰り返す。
このように本発明は、 スタイナ一木を初期解として、 の制約を考慮するよ うにスタイナ一木の部分修正を行うことにより、 障害物を考慮した迷路法の概略 TOと同等の質の結果を得ることができる。 また本発明におけるスタイナー木の 部分修正に必要な計算は、基本的には座標計算であり、 その計算時間と使用メモ リ量はネットの端子数 Nに依存する。 したがって、 大規模な回路では、 本手法は @¾g領域を走査する迷路法と比較して計算時間と使用メモリ量において大きく有 利である。
ここで修正過程は、 スタイナ一木を、 少なくとも 3本以上の枝の交点であるス タイナーボイントを値にもつ複数のパスに分割したパス集合を生成するパス集合 生成過程と、 スタイナー木のパス集合につき、 制約条件を考慮したパスの修正に よってスタイナー木を部分修正するパス修正過程とを備える。
このパス集合は、 端子数 Nのとき、 スタイナ一ポイントの数は (N) オーダ、 スタイナー木の枝数を e n とすると、 パスへの分割の計算時間は、 各枝の端点が スタイナ—ポイントであるかどうかを決定する操作で抑えられ、 0 2 ) ォ ーダである。 またスタイナ一木の枝数 e n は 0 (N) オーダであり、 パスへの分 割の計算時間は 0 (N 2 ) となる。 また、生成されるパスの個数は 0 (N) で抑 ん れ パス修正過程は、 スタイナ一木のパス集合に対し、 禁止領域を通るパスを、 禁 止領域を通らな L、パスに変更する禁止領域迂回過程を備える。 この禁止領域迂回 過程は、 詳細には、 次の手順をもつ。
①パスの始点、 終点、 及び経路力前記禁止を通るか否か判定する。
②禁止領域を通らな ^、場合は処理を終了する。
③パスの始点ぁる L、は終点 、ずれかが禁止にある場合は、 始点ぁるいは終点を 前記禁止領域外に移動した後にパスの集合を更新し、 禁止領域外のパスの始点ぁ るいは終 が見つからない場合はパスを変更せずに処理を終了する。
④パスが禁止領域を通っている場合は禁止を通らないような経路に変更する。 禁止領域迂回過程は、 第 1修正過程と第 2修正過程を備える。
第 1修正過程は、 禁止領域にある始点を外部に移動する場合、 移動先の新たな 始点として元の始点から迪れるスタイナ一木の枝上の点を候補点とし、 また移動 先の新たな終点として元の終点から迪れるスタイナ一木の全ての枝上の点を候捕 点とし、 各候捕点のうち、 禁止領域外にあり且つ線長が最短になる候補点を新た な始点又は終点に選んでパスを変更する。 この場合の 1本のパスついての修正の ための計算時間は 0 ( e n ) = 0 (N) である。
第 2修正過程は、 禁止領域を経路が通過する場合、 始点および終点を変更する ことなく線長がなるべく増えないように禁止領域の外を通る経路を選んでパスを 変更する。
この第 2修正過程で、 パスの線長が元のスタイナ一木に比べて増えないように するには、 パスの始点と終点を囲む矩形の中を通る経路を選択すれば良い。 禁止 領域の制約で、 この矩形の中を通ることができない場合は、 線長は増えることに なる。 また矩形の中の経路のパターンをいくつか決めておくことにより、 計算時 間を 0 ( 1 ) に抑えることができる。
パス修正過程は、 スタイナ一木のパス集合に対し、配線容量を越える配線数の 配線混雑領域を通るパスを、 容量以下の 数となるように ffi泉混雑領域を 通らな L、パスに変更する配線混雑領域迂回過程を備える。 この ffi^混雑領域迂回 過程は、 詳細は次の手順となる。
① 泉領域を所定の大きさに分割したプロックの各々について、 ブロックを通 過できる線分数の最大値を示す配線容量と、 プロックを現在通過している線分数 を示す 混雑度をそれぞれ定義する。
②プロックの配線混雑度力'配線容量以下の場合は、 処理を終了する。
③プロックの ΙΕΙ泉混雑度力配線容量を越えている場合は、 プロックを通過する パスについて、 始点及び終点がプロックの外にある場合は、 始点及び終点を変更 せずに、 ブロックを通らない経路を見つけてパスを変更し、 見つからなければ元 のパスを維持する。
④パスの'始点と終点のいずれか一方がプロック内で他方がプロック外にある場 合は、 ブロック内の端点をブロック外に見つけ、 ブロックを通らない経路を見つ けパスを変更し、 見つからなければ元のパスを維持する。
⑤パスの始点、及び終点の両方がプロック内にある場合は元のパスを維持する。
⑥パス力修正されたらブロックの配線混雑度を再計算して 容量以下になる で処理を繰り返す。
この配線混雑領域迂回過程についても、 第 1修正過程と第 2修正過程が設けら れる。 第 1修正過程は、 混雑のブロック内にパスの始点又は終点がある場合、 移動先の新たな始点又は終点として元の始点球は終点から迪れるス夕イナ一木の 枝上の点を候補点とし、 その候捕点のうち、 プロック外にあり且つ線長力最短に なる候補点を新たな始点又は終点に選んでプロックを通らない経路を見つけてパ スを変更する。
第 2修正過程は、 ブロックを経路力く通過する場合、 始点および終点を変更する ことなく線長がなるべく増えないようにプロックの外を通る経路を選んでパスを 変更する。
パス修正過程は、 スタイナー木のパス集合に対し、 制約条件に基づくスタイナ —木の部分修正の終了後に、 各パスの線長を改善するようにパスに変更する線長 改善過程を備える。 この線長改善過程の詳細は次の手順をもつ。
①処理対象とするパスに属する枝をスタイナー木から外して始点から迪れる枝 の集合である第 1部分木 T 1と、 終点から迪れる枝の集合である第 2部分木 Τ 2 とに分ける。
②第 1部分木 Τ 1の始点はそのままで、 第 2部分木 Τ 2の枝の中から始点から のマンハツ夕ン距離力最短になる枝上の終点を見つけて第 1候補パスを生成する
③第 2部分木 T 2の終点はそのままで、 第 1部分木 T 1の枝の中から前記終点 からの距離力最短になる枝上の始点を見つけて第 2候補、°スを生成する。
④第 1候補パスの距離 d 1が第 2候捕パスの距離 d 2以下で且つ対象パスの距 離 d以下の場合、 即ち、
d l < d 2、且つ d lく d
の場合、 終点を変更した第 1候捕パスを新パスとして集合パスを更新する。
⑤第 1候補パスの距離 d 2が第 1候補パスの距離 d 1以下で且つ対象パスの距 離 d以下の場合、 即ち、
d 2く d l、且つ d 2く d
の場合、 終点を変更した第 1候補 スを新、。スとして言己集合 スを更新する。
⑥第 1および第 2候補パスの距離 d 1 d 2力《対象パスの距離 d以上の場合、 即ち、
d l≥d、且つ d 2≥d
の場合、 始点及び終点を変えずパスをそのまま維持する。
また本発明は、 チップ上に配置されたセルのネット端子間の概略配線を取得す る概略配線装置を提供する。 この概略配線装置は、 層、 禁止、 ,容量といった 制約条件なしに生成したスタイナ一木を初期解として生成するスタイナ一木生成 部と、 スタイナー木を、 少なくとも 3本以上の枝の交点であるスタイナ一ポイン トを値にもつ複数のパスに分割するパス集合を生成するパス集合生成部と、 スタ イナ一木のパス集合につき、前記制約条件を考慮したパスの修正により、 線長が なるべく増えないようにスタイナ一木の部分修正を繰り返して概略配線を得る ° ス修正過程とで構成される。
概略配線装置のパス修正部は、 スタイナ一木のパス集合に対し、 禁止領域を通 るパスを、禁止領域を通らないパスに変更する禁止領域迂回処理部と、 スタイナ —木のパス集合に対し、配線容量を越える配線数の TO混雑領域を通るパスを、 配線容量以下の配線数となるように、 配線混雑領域を通らないパスに変更する配 線混雑領域迂回処理部と、 スタイナー木のパス集合に対し、 制約条件に基づくス タイナ一木の部分修正の終了後に、 各パスの線長を改善するようにパスに変更す 8 る線長改善処理部とを備える。
また本発明は、 チップ上に配置されたセルのネット端子間の概略配線を取得す る概略配線処理プログラムを格納したコンピュータ読取り可能な記録媒体を提供 する。
この記録媒体は、 層、 禁止、 配線容量といった制約条件なしに生成したスタイ ナ一木を初期解として生成するスタイナー木生成モジュールと、 スタイナ一木を、 少なくとも 3本以上の枝の交点であるスタイナ一ポイントを値にもつ複数のパス に分割する'パス集合を生成するパス集合生成モジュールと、 スタイナ一木のパス 集合につき、 制約条件を考慮したパスの修正により、線長がなるべく増えないよ うにスタイナ一木の部分修正を繰り返して概略配線を得るパス修正モジュールと、 を備える。
また記録媒体のパス修正モジュールは、 スタイナ一木のパス集合に対し、 禁止 領域を通るパスを、前記禁止領域を通らないパスに変更する禁止領域迂回処理モ ジュールと、 スタイナ一木のパス集合に対し、配線容量を越える 数の配線混 雑領域を通るパスを、 1 ^容量以下の 1¾泉数となるように TO混雑領域を通らな いパスに変更する混雑領域迂回処理モジュールと、 前記スタイナー木のパス集合 に対し、 前記制約条件に基づくスタイナー木の部分修正の終了後に、 各パスの線 長を改善するようにパスに変更する線長改善処理モジュールと備える。
このような本発明の概略配線方法におけるスタイナ一木の修正のための計算時 間は、 端子数 Nのネットに対して 0 {N 2 ( 1 0 g N) 2 } 程度で済む。 また初 期解としてのスタイナー木の生成と修正を合わせた計算時間は、 スタイナー木生 成アルゴリズムにもよる力 0 (N 3 1 0 g N) 程度である。 端子数は高々 1 0 2 であり、 その場合、 計算時間は 1 0 となるカ^一般の回路では、 数百端子も あるようなネットは、 全ネット数の数%である。 また、 パスの構造を作るのに必 要なメモリ容量は 0 (N) である。
一方、 グリツドサイズは 1 0 6 から 1 0 8 程度である。 これに対し迷路法はグ リツドサイズを (h x w) とすると計算時間は 0 (h x w) であり、 この計算を ネットの数だけ行なうことになる。 また、 グリッドサイズ分のラベル値を保存す るメモリ力 <必要となる。 その結果、 本発明によって計算時間と使用メモリ量の小 さい概略配線カ'実現される。 【図面の簡単な説明】
図 1はダリッドグラフを用いた概略配線問題の説明図
図 2は迷路法の説明図
図 3は線分探索法の説明図
図 4はスタイナ一木を利用した方法の説明図
図 5は本発明力適用される V L S I自動設計システムのブロック図
図 6は本発明の概略配線装置の機能プロック図
図 7は本発明の概略 1¾泉処理のフローチャート
図 8は本発明で初期解として生成するスタイナ一木の説明図
図 9は図 8のスタイナー木をスタイナーボイントのパスに分割したサブスタイナ
—木の説明図
図 1 0は図 9のパス集合を示すパスリストの説明図
図 1 1は本発明の禁止領域迂回処理のフローチャート
図 1 2は本発明の禁止領域迂回処理の説明図
図 1 3は本発明の配線混雑領域迂回処理のフローチャート
図 1 4は図 1 3に続く本発明の配線混雑領域迂回処理のフローチャート 図 1 5は本発明の配線混雑領域迂回処理の説明図
図 1 6は本発明の配線長改善処理のフローチャート
図 1 7は本発明の配線長改善処理の説明図
図 1 8は本発明の層配置処理の説明図
【発明を実施するための最良の形態】
図 5は本発明の概略配線が使用されるコンピュータ支援の L S Iまたは V L S Iの自動設計システムのプロック図である。 この自動設計システムは、 論理設計 システム 1 0とレイァゥト設計システム 1 4で構成される。 論理設計システム 1 0は設計対象となる大規模集積回路の動作内容を表わす情報を入力とし、 ライブ ラリに登録されているセルとセル間の接続情報で表現した論理的な接続情報であ るネットリストデータ 1 2を生成する。
レイァゥト設計システム 1 4は、 論理設計システム 1 0で生成されたネッ トリ ストデータ 1 2に基づき、 チップ上でのセルの配置と、 配置したセル間の配線処 理を行って、 レイアウト設計データ 2 4を生成する。 このためレイアウト設計シ ステム 1 4には、 セノレ配置システム 1 6と システム 1 8力待設けられる。 配茅泉 システム 1 8はグロ一バルルーチングとして知られた概略配線装置 2 0と、 ディ テ一ルルーチングとして知られた詳細配線装置 2 2を備え、 本発明の概略配線は 概略配線装置 2 0に適用される。
図 6は、 図 5の概略配線装置 2 0の機能ブロック図である。 図 6において、概 略配線装置 2 0に対しては入力部 2 6が設けられ、 図 5の論理設計システム 1 0 で作成されたネットリストデータ 1 2に基づくネット N l〜N nの端子位置 3 2、 配線禁止領域 3 4及び層情報 3 6のデータが入力される。 概略配線装置 2 0はス タイナー木作成部 3 8、 パス集合生成部 4 0、 パス修正部 4 2、 更にパスリスト 格納部 5 2を備える。 パス修正部 4 2は禁止領域迂回処理部 4 4、 配線混雑領域 迂回処理部 4 6、 線長改善処理部 4 8、 層配置処理部 5 0、 第 1修正部 5 2及び 第 2修正部 5 6で構成される。
この概略 ISI泉装置 2 0は、 ネット N 1〜N nの端子位置に基づき、 制約なしで 生成したスタイナー木を初期解とし、 配線禁止領域、 配線混雑領域、 層配置等の 制約を考慮するようにスタイナ一木の部分修正を行って、 図 1のような迷路法の 障害物を考慮した概略配線と同等の質を持つ概略配線の結果を取得する。 この本 発明の概略配線装置 2 0におけるスタイナ一木の部分修正に必要な計算は、 基本 的には座標計算であり、 計算時間と使用メモリ量はネッ卜の端子数 Nに依存する。 したがって、 大規模な回路では配線領域を操作する迷路法と比較し、 本発明の概 略 は計算時間と使用メモリ量において大きく有利になる。
概略配線装置 2 0におけるスタイナ一木の初期解の制約を考慮した部分修正の 結果得られた概略配線は、 出力部 3 0にネット N 1〜N nの配線木 T 1〜Τ η 5 8として出力される。
図 7は、 図 6の概略 装置 2 0における本発明の概略配線処理のフローチヤ ―トである。 まずステップ S 1で、 ネットリスト、 セルレイァゥト情報及び設計 ルールを読み込む。 次にステップ S 2で処理カウンタ iを i = 1に初期化した後、 ステップ S 3で処理カウンタ i 1で指定されるネッ ト N i =N1について、 層配 線禁止領域、 泉容量の制約なしで、 ネッ ト N1のスタイナ一木 T1を図 2のス タイナ一木生成部 38により生成し、 この制約なしで生成したスタイナー木 T1 を概略配線問題の初期解とする。
図 8は、 図 7のステップ S 3における制約なしで生成したネッ ト N iのスタイ ナ一木 T iであり、 グリットグラフ上に 4つの端子 t 1, t 2, t 3, t 4をも っスタイナー木 T i力く生成されている。 このスタイナー木 T iの生成アルゴリズ ムは、 例えば】. Cong et a I.: "Topology o timization for total wi re 1 ength m inimizationt', INTEGRATION, the VLSI Journal 21 (1996) 1-94, Section 3.1, p.1 ト 21, ELSEVIER, 1996. に記載される。.
次に図 7のステップ S 4で、 ステップ S 3で生成したスタイナ一木 T1の初期 解を対象に、 ス夕ィナ一木 T 1上の 3本以上の枝の交点をスタイナ一ポイントと するサブツリーの集合でなるパス集合 S i = (P i) を生成する。
図 9は、 図 7のステップ S 4におけるサブツリー集合としてのパス集合の生成 処理の説明図であり、 図 8のスタイナ一木 60を対象としている。 このスタイナ 一木 60について、 まず 3本以上の枝の交; ¾となるスタイナーポイントを求める。 この場合、 2つのスタイナーポイント s 1, s 2力く求まる。 本発明にあっては、 スタイナ一ポイント s l, s 2を根に持つようなサブツリーをパスと呼ぶ。 この ため、 パスは次の要素で構成される。
①パスの始点:スタイナ一ポイントか元のスタイナー木の葉 (端子)
②パスの終点:スタイナ一ポイントか元のスタイナー木の葉 (端子)
③始点から終点への経路:枝のリスト
このような要素で構成されるパスとして、 図 9のサブツリーの集合にあっては、 5つのパス p l〜p 5に分割することができる。 例えばパス p iは端子 t 1をパ スの始点とし、 またスタイナーポイント s 1をパスの終点とし、 始点 t 1と終点 s 1の経路として枝 e 1を持つ。 このようにスタイナ一ポイント s 1, s 2の設 定で生成されたパスの集合は、 図 10のようにパスリスト 52として格納され、 このパスリスト 52力生成されたス夕イナ一木を表現している。 スタイナー木からパス集合を生成する処理は、 端子数 Nのときスタイナ一ボイ ントの数は 0 (N) であり、 スタイナー木の枝数を e n とすると、 パスへの分割 の計算時間は各枝の端点がスタイナ一ボイン卜であるかどうかを決定する操作で 抑制され、 計算時間は〇 (e n 2 ) となる。 またスタイナー木の枝数 e n は 0 (N) であり、 パスへの分割の計算時間は 0 ( e n 2 ) となる。 更に、 生成され るパスの個数は 0 (N) で抑えられる。
再びステップ S 3を参照するに、 ステップ S 4でスタイナー木を表わすパス集 合力生成できたならば、 ステップ S 5で配線禁止領域を迂回したスタイナー木 T iの修正を実行し、 ステップ S 6で配線混雑領域を考慮したスタイナー木 T iの 修正を実行し、 更にステップ S 7で、 修正の済んだス夕イナ一木 T iの線長改善 を行い、 最終的にステップ S 8で各層への枝の割当てを行った後、 ステップ S 9 でネット N iのスタイナー木 T iを配線源として出力する。 そしてステップ S 1 0で処理カウンタ iを 1つインクリメントした後、 ステップ S 1 1で処理カウン 夕 1カ《最後のネット数 nに達するまで、 ステップ S 3からの処理を繰り返す。 ここで、 ステップ S 5及び S 6のパス集合で表現されたスタイナ一木 T iの修 正処理は、 次の 2つの修正ルールを使用して修正される。
(修正ルール 1 )
修正ルール 1はパスの線長力 <元のスタイナ一木に比べて増えないように、 パス の始点, 終点を変更する。 これに伴い、 途中の経路も変わる。 新しい始点の候補 は、 パスの元の始点から迪れる全てのスタイナ一木の枝上の点 (ダリッドグラフ 上の頂点) となる。 同様に新しい終点の候補は、 パスの元の終点から迪ることの できる全てのスタイナ一木の枝上の点となる。 ノ、。スの線長が元のスタイナー木に 比べて増えないようにするためには、 新しい始点または終点の候補のうち、 制約 を満たし且つ線長力最短になるような候補点を選ぶ。 このような候補点がない場 合は、 制約を満たす候補点を選ぶ。 この場合には線長力増えることになる。 パス の修正後は、 スタイナ一木の構造が変わつてスタイナ一ポイント力変わるため、 スタイナ一木を構成する全てのパスを再計算する必要がある。 この修正ルール 1 における 1本のパスについての修正に要する言十算時間は 0 ( e n ) = 0 (N) で ある。 (修正ルール 2 )
修正ルール 2 はノ、°スの線長が元のス夕ィナ一木に比べて増えないように、 パス の始点と終点は変えずに途中の経路だけを変更する。 途中の経路の変更でパスの 線長が元のスタイナ一木に比べて增えないようにするためには、 ノ、。スの始点と終 点を囲む矩形の中を通る経路を選択すればよい。 配線禁止等の制約で始点と終点 を囲む矩形の中を通ることができない場合は、線長は増えることになる。 この修 正ルール 2の計算時間は、 パスの始点と終点を囲む矩形の中の.経路パターンをい くつか決めておくことにより、 計算時間を 0 ( 1 ) で抑えることができる。
図 1 1は、 図 7のステップ S 5の配線禁止領域を迂回したスタイナ一木の修正 処理のフローチャートである。 この配線禁止領域迂回処理は、 図 6のパス修正部 4 2に設けている禁止領域迂回処理部 4 4、 修正ルール 1の修正処理を行う第 1 修正部 5 4、 及び修正ルール 2の修正処理を行う第 2修正部 5 6の機能で実現さ れ 。
まずステップ S 1で、 例えば図 1 0のようなパスリスト 5 2のパス集合で表現 されたスタイナー木の各パスにつき、 その始点, 終点及び経路と、 配線禁止領域 の関係を判定する。 即ち、 パスの始点, 終点及び経路が配線禁止領域を通るか否 か調べる。 ステップ S 2でパスの始点または終点力《禁止領域にあることを判別す ると、 ステップ S 3に進み、 パス修正ルール 1により禁止領域の始点または終点 を禁止領域外に移動する。 この始点または終点を移動すると、 スタイナー木が変 化するため、 ステップ S 4でパス集合を再度生成する更新を行う。 一方、 ステツ プ S 2でパスの始点または終点が禁止領域になければ、 ステップ S 5に進み、 ,、 スの経路力〈禁止領域を通過するか否かチヱックし、 禁止領域を通過していればス テツプ S 6に進み、 パス修正ルール 2により、 禁止領域を通らない経路に変更す る。 更に、 ステップ S 2でパスの始点, 終点が禁止領域になく、 且つステップ S 5でパスの経路も禁止領域を通過していない場合には、 パスの修正は行わない。 このステップ S 1〜S 6の処理を、 ステップ S 7でスタイナ一木の全てのパスの 処理が済むまで繰り返す。
図 1 2は、 図 1 1の配線禁止領域迂回処理の具体的な処理の説明図である。 図 1 2 (A) は図 1 0のパスリスト 5 2のパス集合で表現されたス夕イナ一木であ り、 パス p 3力く配線禁止領域 6 2上を通っていたとする。 この配線禁止領域 6 2 を通るパス P 3を、 線長をなるベく増やさないようにしながら配線禁止領域 6 2 を迂回するパスに変更するためには、 パスの始点 s 1の変更を必要とする。
パスの始点 s 1の変更を伴う修正は修正ルール 1により行う。 修正ルール 1は 新しい始点の候捕として、 元のパスの始点 s 1から迪ることのできる全てのス夕 イナ一木の枝上の点、 即ち図 1 2 (B) のグリッドグラフ頂点 s 1 1 , s 1 2 , s 1 3、 更に端子 t 1 , t 4を含む点となる。 この 4つの新しい始点の候捕点 t 1 , s 1 1 , s 1 2 , s 1 3 , t 4のうち、 配線禁止領域 6 2を通らないという 制約を満たし且つ線長力最短となる点は、 候補点 s 1 1である。 そこで、 候補点 s 1 1を新たなパス p 3の始点とする図 1 2 ( C) のパス p 3を生成する。 この 修正後のパス P 3は、 始点 s 1 1、 終点 s 2、 枝 e 4 1 , e 4 2で構成され、 ス タイナーボイントが修正前の s 1 1から新たな始点としてのスタイナ一ボイント s 1 1に変化してスタイナー木の構造力 <変わったことから、 スタイナー木を構成 する全てのパスについて再計算を行って、 図 1 0のパスリストの内容を更新する。 ここで図 1 1の TO禁止迂回処理にあっては、 ステップ S 2でパスの始点また は終点が禁止領域にあることを条件に、 ステップ S 3でパス修正ルール 1による 修正を行っている力 図 1 2 (A) のパス p 3の始点 s 1は 禁止領域 6 2に はなく、 配線禁止領域 6 2の外にあり、 パス p 3の枝 e 4か '酉 禁止領域 6 2を 通っている。 しかしながら、始点 s 1を変更せずに枝 e 4の経路を配線禁止領域 6 2の外に変更するためには、 始点 s 1の次の候補点となるグリッドグラフ上の 頂点力 ¾ ^禁止領域 6 2の外になければならない。 し力、し、 図 1 2 (A) の場合 には、 始点 s 1の次のグリッドグラフ上の頂点 6 6か! ¾泉禁止領域 6 2の中にあ り、 このため枝 e 4による経路変更による配線禁止領域 6 2の迂回はできない。 したがって、 この場合には修正ルール 1に従って始点 s 1を変更する。 即ち配線 禁止迂回処理にあっては、 パスの始点または終点に隣接する枝上のグリッドグラ フ頂点が配線禁止領域にある場合には、 始点または終点力配線禁止領域にあるも のと見做して修正ルール 1を適用する。
図 1 2 (A) のパス p 3の終点 s 2については、 枝 e 4上の隣接するグリッド グラフ頂点 6 8は配線禁止領域 6 2の外にあり、 した力つて、 この場合には終点 s 2を変更する必、要はない。
図 1 3及び図 1 4は、 図 7のステップ S 6の配線混雑領域を配慮したスタイナ —木の修正処理即ち配線混雑領域迂回処理のフローチャートである。 この配線混 雑領域迂回処理は、 図 6のパス修正部 4 2に設けている配線混雑領域迂回処理部 4 6、 第 1修正部 5 4及び第 2修正部 5 6の機能により実現される。
図 1 3において、 まずステップ S 1で配線容量を考慮せずに生成した図 8のよ うなスタイナ一木の初期解を対象に、 配線領域を適当な大きさのプロックに分割 し、 各ブロックごとに TO容量と配線混雑度を定義する。 ここで配線容量及び配 線混雑度は回路の性質等によつて様々な定義が考えられるが、 例えば配線容量は ブロックを通過できる線分の最大値とし、 また配線混雑度はプロックを現在通過 している線分数とする。 続いてステップ S 2において、 特定のブロックを取り出 し、 その 1¾泉混雑度と配線容量を比較し、 ffi^混雑度力配線容量を超えている場 合には、 ステップ S 3に進み、 そのブロックを通過するパスを特定する。 続いて ステップ S 4で、 混雑度力 <配線容量を超えているプロックを通過する特定の パスにつきパスの始点または終点はブロック内か否か判定する。 ブロック内であ ればステップ S 5に進み、 パス修正ルール 1によりブロック内の始点または終点 を外部に移動し、 ブロックを通らない経路に変更する。 このときブロックを通ら ない経路力得られたか否かステップ S 6でチェックし、 もしブロックを通らない 経路が見つからなければ、 そのパスは元のままとする。
一方、 ステップ S 4で始点または終点がブロック外であった場合には、 図 1 4 のステップ S 7に進み、 パスの経路がブロックを通過するか否か判定する。 パス の経路がブロックを通過する場合にはステップ S 8に進み、 パス修正ルール 2に より、 プロックを通らない経路に変更する。 この場合にも、 ステップ S 9でプロ ックを通らない経路の有無をチェックし、 もしブロックを通らない経路が見つか らなければパスは元のままとする。 更にステップ S 1 0で、パスの始点と終点の 両方がプロック内であった場合にはプロック外部へのパスの変更はできないこと から、 修正処理は行わない。
次のステップ S 1 1にあっては、 ステップ S 5のパス修正ルール 1もしくはス テツプ S 8のパス修正ルール 2により修正された変更後のパスを対象に、 現在処 理中のブロックの配線混雑度を再計算し、 ステップ S 1 2で、 再計算した配線混 雑度力く配線容量以上か否かチェックし、 配線容量を下回っていれば、 そのブロッ クの配線混雑領域迂回処理は終了したとして、 ステップ S 1 3で全ブロックの処 理済みを判別し、 処理が済んでいれば再びステップ S 2からの処理を繰り返す。 一方、 ステップ S 1 2で、 再計算した配線混雑度が配線容量以上であった場合 には、 そのブロックについて混雑が解消されていないことから、 再びステップ S 3に戻り、 ブロックを通過する次のパスを特定して、 ステップ S 4からの修正処 理を繰り返す。
図 1 5は、 図 1 3及び図 1 4の配線混雑領域迂回処理の具体的な処理の説明図 である。
図 1 5 (A) は、 図 1 2 ( C) の配線禁止領域の迂回処理の修正が済んだス夕 イナ一木 6 0であり、 パス p 2が配線混雑領域 7 0を通過していたとする。 この 配線混雑領域 7 0を通過するパス p 2は、 始点 s i 1、 終点 t 4、 枝 e 3 1 , e 3 2 , e 3 3で構成されており、 始点 s 1 1及び終点 t 4は配線混雑領域 7 0に ないことから、 修正ルール 2によって線長をなるベく増やさないように経路を配 線混雑領域 7 0の外とするようにパスを変更する。 このパス p 2の経路を線長を 増やさないように IS S混雑領域 7 0の外に変更するためには、 図 1 5 (B) のよ うに、 パス p 2の始点 s 1 1と終点 t 4を含む矩形領域 6 6を設定し、 配線混雑 領域 7 0を通過しないとする制約により矩形領域 6 6の中を通る枝 e 3 4 , e 3 5の経路を選択すればよい。 これによつて図 1 5 ( C) のような 1¾|混雑領域 7 0を通らないパス ρ 2に変更することができ、 配線混雑領域 7 0の混雑度が低下 し、 規定の配線容量を満たすことができる。
図 1 6は、 図 7のステップ S 7のスタイナー木の線長改善処理のフローチヤ一 トである。 この線長改善処理は、 図 6のパス修正部 4 2に設けた線長改善処理部 4 8の機能により実現される。 まずステップ S 1で、 処理対象としている修正済 みのスタイナ一木の中の任意のパス Ρを選択し、 その経路長 dを導出する。 次に ステップ S 2で、 選択したパス pに属する枝をスタイナ一木から外し、 始点から 迪ることのできる部分木 T 1と終点から迪ることのできる部分木 T 2に分割する。 次にステップ S 3で、 パス pの始点はそのままで部分木 T 2の枝の中から始点に 対するマンハッタン距離が最短となる枝上の点を終点として検索し、 このように して得られたパスを p l、 経路長を d lとする。 ここでマンハッタン距離とは 2 つの点を直線で結んだ距離のことである。
次のステップ S 4にあっては、 逆にパス p 2の終点はそのままで始点側の部分 木 T 1の枝の中からマンハツ夕ン距離力 <最短となる枝上の点を始点として検索し、 そのパスを p 2、経路長を d 2とする。 次にステップ S 5で、 部分木 T l , T 2 に分けて、 ステップ S 3, S 4でそれぞれ求めたパス p 1 , p 2に対し、 パス p 1の経路長 d 1力くパス p 2の経路長 d 2以下で且つ元のパス pの経路長 d 2以下 のとき、 ステップ S 6で終点を変更したパス p 1を新しい線長を改善したパス p とする。
またステップ S 5の条件が成立しなかった場合には、 ステップ S 7で、 ステツ プ S 4で求めたパス p 2の経路長 d 2について、 ステップ S 3で求めたパス p 1 の経路長 d Γより小さく且つ元のパス pの経路長 dより小さ L、条件が成立したな らば、 ステップ S 8で、 始点を変更したパス p 2を新しい線長改善されたパス p とする。 もちろん、 ステップ S 5 , S 7のいずれの条件も成立しなければ、 ステ ップ S 9でパスは変更しない。 ステップ S 1 0では、 ステップ S 1〜S 9の処理 をスタイナ一木の全パスについて終了したか否かチェックし、 全パスの処理が終 了するまで、 ステップ S 1〜S 9の処理を繰り返す。 この修正済みのスタイナー 木の各ノ、°スに対する線長改善処理によって、 全体的な線長改善が図られる。
図 1 7は、 図 1 6の線長改善処理の具体的な処理の説明図である。 図 1 7 (A) は図 1 5 (C) の配線混雑領域迂回処理が済んだスタイナ一木 6 0であり、 始点 s 1 1、 終点 t 4、 枝 e 3 4 , e 3 5の経路を持つパス p 2の線長改善を例にと ると、 まず図 1 7 (B) のように、 パス p 2の経路を構成する枝 e 3 4、 e 3 5 を破線のように外す。 この枝 e 3 4、 e 3 5を外すことによって、 スタイナー木 6 0を始点 s 1 1側の部分木 T 1と終点 t 4側の部分木 T 2に分割する。
次にパス p 2の始点 s 1 1はそのままで終点 t側の部分木 T 2の枝の中からマ ンハツタン距離力最短となる枝上の点を終点として検索し、 これをパス p 1 1と し、経路長を d lとする。 しかしながら、 この場合のパス p 1 1は図 1 7 (A) の最初のパス P 2と同じものになる。 次にパス p 2の終点 t 4はそのままで始点 s 1 1側の部分木 T 1の枝の中からマンハツタン距離が最短となる枝上の点を始 点として検索する。 この場合には、 始点 s 1 1側の部分木 T 1には端子 t 1, t
2、 d 3、 スタイナーポイント s 1 1, s 2、 更にグリッドグラフ頂点となる黒 丸の点が候補点として存在することから、 この中から新たなマンハツ夕ン距離を 最短とする始点を検索すると、 端子 t 3が検索され、 この場合のパスを p 2 2、 経路長を d 2とする。 この場合には、 パス p 2 2の経路長 d 2がパス p 1 1の経 路長 d 1より小さく且つ元のパス p 2の経路長 dよりも小さいことから、 始点を 変更したパス P 2 2力く新しいパス p 2として選択され、 図 1 7 ( C) のようにパ ス P 2を変更することによつて線長改善が図られる。
図 1 8は、 図 7のステップ S 8でスタイナー木の部分修正および線長改善が終 了した後に行われる各層への枝の割当て処理の具体例であり、 図 6のパス修正部
4 2に設けた層配置処理部 5 0の機能により実現される。
図 1 8 (A) は、 図 1 7 ( C) の線長改善が行われたスタイナ一木 6 0であり、 予め入力された層情報に基づき、 スタイナ一木 6 0を図 1 8 ( B) のように第 1 層目と図 1 8 (C) のように第 2層目に割り当て、 これに基づいて図 6の出力部
3 0に示したように、 ネット N l〜N nの配線木 T l〜T nの概略配線の解とし て、 次の詳細配線処理のために出力する。
尚、 上記の実施形態は、 制約なしで生成したスタイナー木の初期解の部分修正 を、 配線禁止領域、 配線容量を考慮して修正した後に線長改善を行い、 最終的に 層配置するようにしている力 スタイナー木の修正として ISI泉禁止領域の迂回ま たは配線容量の考慮といつた特定の制約につ 、てのみ修正を行うようにしても、 次の詳細処理での負担力軽減できる。
また本発明は、 上記の実施形態に示した概略配線処理の手順を備えた概略配線 プログラムを格納したコンピュータ読取可能な記録媒体を提供する。 この記録媒 体に格納された概略配線処理プログラムには、 図 6の概略配線装置 2 0の各部の 処理機能が処理モジュールとして組み込まれている。
更に本発明は、 その目的と利点を損なわない範囲で適宜の変形を含む。 また本 発明は、 実施例に示した数値による限定は受けない。 【産業上の利用可能性】
以上説明してきたように本発明によれば、 スタイナ一木を初期解として制約を 考慮するようにスタイナ一木の部分修正を行うことで、 既存の迷路法の障害物を 考慮した概略配線と同質の結果をスタイナ一木を利用した概略配線の解として得 ることができる。 これによつて、 次の詳細 TOにおいて層禁止配線容量制約等を 考慮した処理が必要なくなり、 詳細配線での処理負担が軽減され、配線処理全体 としての計算時間を低減し、 より高速な自動設計が提供できる。
また本 ^明のスタイナ一木の部分修正に必要な計算は基本的に座標計算であり、 計算時間と使用メモリ量はネッ卜の対比数に依存しており、 グリツドサイズに計 算時間と使用メモリ量力 <依存した迷路法に比べると、 計算時間と使用メモリ量に おいて大きく有利であり、 この結果、 計算時間と使用メモリ量の少ない概略配線 力実現できる。

Claims

請求の範囲
1 . チップ上に配置されたセルのネット端子間の概略配線を求める概略配線方法 に於いて、
制約条件なしに生成したスタイナ一木を初期解として生成するスタイナー木生 成過程と、
前記スタイナ一木の初期解をもとに、 前記制約条件を考慮して、 線長がなるベ く増えないようにスタイナ一木の部分修正を繰り返して概略配線を得る修正過程 と、
を備えたことを特徴とする概略配線方法。
2 . 請求の範囲 1の概略配線方法に於いて、
前記スタイナー木生成過程は、 層、 禁止、 配線容量といった制約なしスタイナ —木を初期解として生成し、
前記修正過程は、 前記禁止領域、 配線容量、 層を考慮して、 線長がなるべく増 えないようにスタイナー木の部分修正を繰り返すことを特徴とする概略配線方法。
3. 請求の範囲 2の概略配線方法に於いて、前記修正過程は、
前記スタイナ一木を、 少なくとも 3本以上の枝の交点であるスタイナーポイン トを値にもつ複数のパスに分割してパス集合を生成するパス集合生成過程と、 前記スタイナ一木のパス集合につき、 前記制約条件を考慮したパスの修正によ つて前記スタイナ一木を部分修正するパス修正過程と、
を備えたことを特徴とする概略配線方法。
4. 請求の範囲 3の概略配線方法に於いて、 前記パス修正過程は、 前記スタイナ 一木のパス集合に対し、 前記禁止領域を通るパスを、 前記禁止領域を通らないパ スに変更する禁止領域迂回過程を備えたことを特徴とする概略配線方法。
5. 請求の範囲 4の概略配線方法に於いて、 前記禁止領域迂回過程は、 パスの始点、 終点、 及び経路が前記禁止領域を通るか否か判定し、 禁止領域を通らな ヽ場合は処理を終了し、
パスの始点ぁる 、は終点 ヽずれかが禁止にある場合は、 始点ぁる L、は終点を前 記禁止領域外に移動した後に前記パスの集合を更新し、 禁止領域外のパスの始点 5 あるいは終点が見つからな 、場合はパスを変更せずに処理終了し、
'、。ス力前記禁止領域を通つている場合は、 禁止を通らないような経路に変更す ることを特徴とする概略配線方法。
6. 請求の範囲 5の概略配線方法に於いて、 前記禁止領域迂回過程は、
0 前記禁止領域にある始点を外部に移動する場合、 移動先の新たな始点として元 の始点から迪れる前記スタイナー木の枝上の点を候捕点とし、 また移動先の新た な終点として元の終点から迪れる前記スタイナ一木の全ての枝上の点を候補点と し、 前記候補点のうち、 前記禁止領域外にあり且つ線長が最短になる候補点を新 たな始点又は終点に選んでノ、°スを変更する第 1修正過程と、
s 前記禁止領域を経路が通過する場合、 始点および終点を変更することなく線長 がなるベく増えないように前記禁止領域の外を通る経路を選んでパスを変更する 第 2修正過程と、
を備えたことを特徴とする概略略 1¾泉方法。 0
7. 請求の範囲 3の概略配線方法に於いて、 前記パス修正過程は、 前記スタイナ ― —木のパス集合に対し、 前記配線容量を越える配線数の配線混雑領域を通るパス を、 前記配線容量以下の 1SI泉数となるように前記配線混雑領域を通らないパスに 変更する配線混雑領域迂回過程を備えたことを特徴とする概略配線方法。
8. 請求の範囲 7の概略配線方法に於いて、 前記配線混雑領域迂回過程は、 配線領域を所定の大きさに分割したプロックの各々について、 前記プロックを 通過できる線分数の最大値を示す配線容量と、前記プロックを現在通過している 線分数を示す配線混雑度をそれぞれ定義し、
前記プロックの配線混雑度が配線容量以下の場合は、 処理を終了し、 前記プロックの配線混雑度が配線容量を越えている場合は、 前記プロックを通 過するパスについて、 始点及び終点がブロックの外にある場合は、 始点及び終点 を変更せずに、 ブロックを通らない経路を見つけてパスを変更し、 見つからなけ れば元のパスを維持し、
5 パスの始点と終点のいずれか一方がプロック内で他方がプロック外にある場合 は、 ブロック内の端点をブロック外に見つけ、 ブロックを通らな 、経路を見つけ パスを変更し、 見つからなければ元のパスを維持し、
パスの始点及び終点の両方がプロック内にある場合は元のパスを維持し、 パス力修正されたらプロックの配線混雑度を再計算して前記配線容量以下にな0 るまで前記処理を繰り返すことを特徴とする概略配線方法。
9. 請求の範囲 8の概略配線方法に於いて、 前記配線混雑領域迂回過程は、 前記プロック内に始点又は終点がある場合、 移動先の新たな始点又は終点とし て元の始点又は終点から迪れる前記スタイナー木の枝上の点を候補点とし、 前記 候補点のうち、 前記ブロック外にあり且つ線長が最短になる候捕点を新たな始点 又は終点に選んで前記ブロックを通らなレ、経路を見つけてパスを変更する第 1修 正過程と、
前記プロックを経路が通過する場合、 始点および終点を変更することなく線長 がなるベく増えないように前記プロックの外を通る経路を選んでパスを変更する 第 2修正過程と、
を備えたことを特徴とする概略略配線方法。
1 0. 請求の範囲 1の概略配線方法に於いて、 前記パス修正過程は、 前記スタイ. ナ一木のパス集合に対し、 前記制約条件に基づくス夕イナ一木の部分修正の終了 後に、 各パスの線長を改善するようにパスを変更する線長改善過程を備えたこと を特徴とする概略配線方法。
1 1. 請求の範囲 1 0の概略配線方法に於いて、 前記線長改善過程は、
処理対象とするパスに属する枝をスタイナー木から外して始点から迪れる枝の 集合である第 1部分木 T 1と、 終点から迪れる枝の集合である第 2部分木 Τ 2と に分け、
前記第 1部分木 Τ 1の始点はそのままで、 前記第 2部分木 Τ 2の枝の中から前 記始点からのマンハツ夕ン距離力く最短になる枝上の終点を見つけて第 1候補パス を生成し、
前記第 2部分木 Τ 2の終点はそのままで、 前記第 1部分木 Τ 1の枝の中から前 記終点からの距離力最短になる枝上の始点を見つけて第 2候補ノ、。スを生成し、 前記第 1'候補パスの距離 d 1力 <前記第 2候補パスの距離 d 2以下で且つ前記対 象パスの距離 d以下の場合は、 終点を変更した前記第 1候補パスを新パスとして 前記集合パスを更新し、
前記第 2候補パスの距離 d 2が前記第 2候捕パスの距離 d 1以下で且つ前記対 象パスの距離 d以下の場合は、 始点を変更した前記第 2候補パスを新パスとして 前記集合パスを更新し、
前記第 1および第 2候補パスの距離 d 1, d 2が各々前記対象パスの距離 d以 上の場合は、 始点及び終点を変えずパスをそのまま維持することを特徴とする概 略賺方法。
1 2. チップ上に配置されたセルのネット端子間の概略配線を求める概略配線装 置に於いて、
層、 禁止、 配線容量といった制約条件なしに生成したスタイナ一木を初期解と して生成するスタイナー木生成部と、
前記スタイナー木を、 少なくとも 3本以上の枝の交点であるスタイナーポイン トを値にもつ複数のパスに分割するパス集合を生成するパス集合生成部と、 前記スタイナー木のパス集合につき、 前記制約条件を考慮したパスの修正によ り、 線長がなるべく増えないようにスタイナ一木の部分修正を繰り返して概略配 線を得るパス修正過程と、
を備えたことを特徴とする概略配線装置。
1 3. 請求の範囲 1 2の概略配線装置に於いて、 前記パス修正部は、 前記スタイナー木のパス集合に対し、 前記禁止領域を通るパスを、 前記禁止領 域を通らないパスに変更する禁止領域迂回処理部と、
前記スタイナー木のパス集合に対し、 前記 1¾泉容量を越える配線数の配線混雑 領域を通るパスを、 前記配線容量以下の配線数となるように前記配線混雑領域を 通らないパスに変更する配線混雑領域迂回処理部と、
前記スタイナ一木のパス集合に対し、 前記制約条件に基づくスタイナー木の部 分修正の終了後に、 各パスの線長を改善するようにパスに変更する線長改善処理 部と、
を備えたことを特徴とする概略配線装置。
1 4. チップ上に配置されたセルのネット端子間の概略 泉を求める概略配線処 理プロダラムを格納したコンピュータ読取り可能な記録媒体に於いて、
層、禁止、 配線容量といった制約条件なしに生成したスタイナー木を初期解と して生成するスタイナ一木生成モジュールと、
前記スタイナー木を、 少なくとも 3本以上の枝の交点であるスタイナーポイン トを値にもつ複数のパスに分割するパス集合を生成するパス集合生成部と、 前記スタイナー木のパス集合につき、前記制約条件を考慮したパスの修正によ り、線長がなるべく増えないようにスタイナ一木の部分修正を繰り返して概略配 線を得るノ、°ス修正モジュールと、
を備え概略配線処理プログラムを格納したことを特徴とする記録媒体。
1 5. 請求の範囲 1 4の記録媒体に於いて、前記パス修正モジュールは、 前記スタイナー木のパス集合に対し、 前記禁止領域を通るパスを、 前記禁止領 域を通らないパスに変更する禁止領域迂回処理モジュールと、
前記スタィナ一木のパス集合に対し、前記配線容量を越える配線数の配線混雑 領域を通るパスを、 前記配線容量以下の配線数となるように前記 1¾泉混雑領域を 通らないパスに変更する混雑領域迂回処理モジュールと、
前記スタイナー木のパス集合に対し、 前記制約条件に基づくスタイナ一木の部 分修正の終了後に、 各パスの線長を改善するようにパスに変更する線長改善処理 モジュールと、
を備えたことを特徵とする記録媒体。
PCT/JP1998/005815 1998-12-22 1998-12-22 Appareil et procede de cablage brute et support d'enregistrement conservant un programme de cablage brute WO2000038228A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP1998/005815 WO2000038228A1 (fr) 1998-12-22 1998-12-22 Appareil et procede de cablage brute et support d'enregistrement conservant un programme de cablage brute
JP2000590207A JP4227304B2 (ja) 1998-12-22 1998-12-22 概略配線方法及び装置並びに概略配線プログラムを格納した記録媒体
US09/800,490 US6415427B2 (en) 1998-12-22 2001-03-08 Method and apparatus for global routing, and storage medium having global routing program stored therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1998/005815 WO2000038228A1 (fr) 1998-12-22 1998-12-22 Appareil et procede de cablage brute et support d'enregistrement conservant un programme de cablage brute

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US09/800,490 Continuation US6415427B2 (en) 1998-12-22 2001-03-08 Method and apparatus for global routing, and storage medium having global routing program stored therein

Publications (1)

Publication Number Publication Date
WO2000038228A1 true WO2000038228A1 (fr) 2000-06-29

Family

ID=14209684

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/005815 WO2000038228A1 (fr) 1998-12-22 1998-12-22 Appareil et procede de cablage brute et support d'enregistrement conservant un programme de cablage brute

Country Status (3)

Country Link
US (1) US6415427B2 (ja)
JP (1) JP4227304B2 (ja)
WO (1) WO2000038228A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067435A (ja) * 2001-08-24 2003-03-07 Fujitsu Ltd 自動配線方法,自動配線処理装置および自動配線処理プログラム
JP2010097468A (ja) * 2008-10-17 2010-04-30 Fujitsu Ltd 配線方法、自動配線装置、及びプログラム
JP2021532605A (ja) * 2019-05-08 2021-11-25 深▲セン▼▲職▼▲業▼技▲術▼学院 二進コードによるデジタル集積回路の配線方法および端末装置

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3986717B2 (ja) * 1999-12-01 2007-10-03 富士通株式会社 パス決定方法及び記憶媒体
US6898773B1 (en) 2002-01-22 2005-05-24 Cadence Design Systems, Inc. Method and apparatus for producing multi-layer topological routes
US7139992B2 (en) * 2000-12-01 2006-11-21 Sun Microsystems, Inc. Short path search using tiles and piecewise linear cost propagation
US20020104061A1 (en) * 2000-12-01 2002-08-01 Sun Microsystems, Inc. Systems and methods for linear minimal convolution
US6957410B2 (en) * 2000-12-07 2005-10-18 Cadence Design Systems, Inc. Method and apparatus for adaptively selecting the wiring model for a design region
US6826737B2 (en) * 2000-12-06 2004-11-30 Cadence Design Systems, Inc. Recursive partitioning placement method and apparatus
US7003754B2 (en) * 2000-12-07 2006-02-21 Cadence Design Systems, Inc. Routing method and apparatus that use of diagonal routes
US7055120B2 (en) * 2000-12-06 2006-05-30 Cadence Design Systems, Inc. Method and apparatus for placing circuit modules
US7024650B2 (en) * 2000-12-06 2006-04-04 Cadence Design Systems, Inc. Method and apparatus for considering diagonal wiring in placement
EP1362373A2 (en) * 2000-12-06 2003-11-19 Simplex Solutions, Inc. Method and apparatus for considering diagonal wiring in placement
US7080336B2 (en) * 2000-12-06 2006-07-18 Cadence Design Systems, Inc. Method and apparatus for computing placement costs
US6516455B1 (en) * 2000-12-06 2003-02-04 Cadence Design Systems, Inc. Partitioning placement method using diagonal cutlines
US6858935B1 (en) 2000-12-07 2005-02-22 Cadence Design Systems, Inc. Simulating euclidean wiring directions using manhattan and diagonal directional wires
US7073150B2 (en) * 2000-12-07 2006-07-04 Cadence Design Systems, Inc. Hierarchical routing method and apparatus that use diagonal routes
US6858928B1 (en) 2000-12-07 2005-02-22 Cadence Design Systems, Inc. Multi-directional wiring on a single metal layer
US6915501B2 (en) * 2001-01-19 2005-07-05 Cadence Design Systems, Inc. LP method and apparatus for identifying routes
US6883154B2 (en) * 2001-01-19 2005-04-19 Cadence Design Systems, Inc. LP method and apparatus for identifying route propagations
US7036101B2 (en) * 2001-02-26 2006-04-25 Cadence Design Systems, Inc. Method and apparatus for scalable interconnect solution
US6591411B2 (en) * 2001-03-15 2003-07-08 International Business Machines Corporation Apparatus and method for determining buffered steiner trees for complex circuits
US6996512B2 (en) * 2001-04-19 2006-02-07 International Business Machines Corporation Practical methodology for early buffer and wire resource allocation
US6957411B1 (en) 2001-06-03 2005-10-18 Cadence Design Systems, Inc. Gridless IC layout and method and apparatus for generating such a layout
US6957408B1 (en) 2002-01-22 2005-10-18 Cadence Design Systems, Inc. Method and apparatus for routing nets in an integrated circuit layout
US7069530B1 (en) 2001-06-03 2006-06-27 Cadence Design Systems, Inc. Method and apparatus for routing groups of paths
US6895567B1 (en) 2001-06-03 2005-05-17 Cadence Design Systems, Inc. Method and arrangement for layout of gridless nonManhattan semiconductor integrated circuit designs
US7107564B1 (en) * 2001-06-03 2006-09-12 Cadence Design Systems, Inc. Method and apparatus for routing a set of nets
US7143382B2 (en) 2001-08-23 2006-11-28 Cadence Design Systems, Inc. Method and apparatus for storing routes
US6877149B2 (en) 2001-08-23 2005-04-05 Cadence Design Systems, Inc. Method and apparatus for pre-computing routes
US7398498B2 (en) 2001-08-23 2008-07-08 Cadence Design Systems, Inc. Method and apparatus for storing routes for groups of related net configurations
US6931616B2 (en) * 2001-08-23 2005-08-16 Cadence Design Systems, Inc. Routing method and apparatus
US6795958B2 (en) 2001-08-23 2004-09-21 Cadence Design Systems, Inc. Method and apparatus for generating routes for groups of related node configurations
US7058913B1 (en) * 2001-09-06 2006-06-06 Cadence Design Systems, Inc. Analytical placement method and apparatus
JP2003132106A (ja) * 2001-10-24 2003-05-09 Bogenpfeil:Kk 適切ネットワーク形状である準最小の木の形成・探索・生成方法及びそのプログラムを記録した情報記録媒体
JP2003167935A (ja) * 2001-12-03 2003-06-13 Fujitsu Ltd 配線経路決定装置、グループ決定装置、配線経路決定プログラム、およびグループ決定プログラム
US7089524B1 (en) 2002-01-22 2006-08-08 Cadence Design Systems, Inc. Topological vias route wherein the topological via does not have a coordinate within the region
US7096449B1 (en) 2002-01-22 2006-08-22 Cadence Design Systems, Inc. Layouts with routes with different widths in different directions on the same layer, and method and apparatus for generating such layouts
US6973634B1 (en) * 2002-01-22 2005-12-06 Cadence Design Systems, Inc. IC layouts with at least one layer that has more than one preferred interconnect direction, and method and apparatus for generating such a layout
US6944841B1 (en) 2002-01-22 2005-09-13 Cadence Design Systems, Inc. Method and apparatus for proportionate costing of vias
US7117468B1 (en) 2002-01-22 2006-10-03 Cadence Design Systems, Inc. Layouts with routes with different spacings in different directions on the same layer, and method and apparatus for generating such layouts
US7080329B1 (en) 2002-01-22 2006-07-18 Cadence Design Systems, Inc. Method and apparatus for identifying optimized via locations
US7013451B1 (en) 2002-01-22 2006-03-14 Cadence Design Systems, Inc. Method and apparatus for performing routability checking
US6938234B1 (en) 2002-01-22 2005-08-30 Cadence Design Systems, Inc. Method and apparatus for defining vias
US6792587B2 (en) * 2002-01-28 2004-09-14 Sun Microsystems, Inc. 2.5-D graph for multi-layer routing
US6615401B1 (en) * 2002-03-06 2003-09-02 Lsi Logic Corporation Blocked net buffer insertion
US6904584B2 (en) * 2002-05-06 2005-06-07 International Business Machines Corporation Method and system for placing logic nodes based on an estimated wiring congestion
US7069531B1 (en) 2002-07-15 2006-06-27 Cadence Design Systems, Inc. Method and apparatus for identifying a path between source and target states in a space with more than two dimensions
US7058917B1 (en) 2002-06-04 2006-06-06 Cadence Design Systems, Inc. Method and apparatus for specifying a cost function that represents the estimated distance between an external state and a set of states in a space
US7051298B1 (en) 2002-06-04 2006-05-23 Cadence Design Systems, Inc. Method and apparatus for specifying a distance between an external state and a set of states in space
US7047512B1 (en) 2002-06-04 2006-05-16 Cadence Design Systems, Inc. Method and apparatus for specifying a cost function that represents the estimated distance between an external state and a set of states in a space
US7171635B2 (en) * 2002-11-18 2007-01-30 Cadence Design Systems, Inc. Method and apparatus for routing
US6988257B2 (en) * 2002-11-18 2006-01-17 Cadence Design Systems, Inc. Method and apparatus for routing
US7010771B2 (en) * 2002-11-18 2006-03-07 Cadence Design Systems, Inc. Method and apparatus for searching for a global path
US7003752B2 (en) * 2002-11-18 2006-02-21 Cadence Design Systems, Inc. Method and apparatus for routing
US7080342B2 (en) * 2002-11-18 2006-07-18 Cadence Design Systems, Inc Method and apparatus for computing capacity of a region for non-Manhattan routing
US7624367B2 (en) 2002-11-18 2009-11-24 Cadence Design Systems, Inc. Method and system for routing
US6996789B2 (en) * 2002-11-18 2006-02-07 Cadence Design Systems, Inc. Method and apparatus for performing an exponential path search
US7480885B2 (en) * 2002-11-18 2009-01-20 Cadence Design Systems, Inc. Method and apparatus for routing with independent goals on different layers
US7093221B2 (en) 2002-11-18 2006-08-15 Cadence Design Systems, Inc. Method and apparatus for identifying a group of routes for a set of nets
US6892369B2 (en) * 2002-11-18 2005-05-10 Cadence Design Systems, Inc. Method and apparatus for costing routes of nets
US7216308B2 (en) 2002-11-18 2007-05-08 Cadence Design Systems, Inc. Method and apparatus for solving an optimization problem in an integrated circuit layout
US7047513B2 (en) * 2002-11-18 2006-05-16 Cadence Design Systems, Inc. Method and apparatus for searching for a three-dimensional global path
US7013445B1 (en) 2002-12-31 2006-03-14 Cadence Design Systems, Inc. Post processor for optimizing manhattan integrated circuits placements into non manhattan placements
US7707307B2 (en) * 2003-01-09 2010-04-27 Cisco Technology, Inc. Method and apparatus for constructing a backup route in a data communications network
US6990648B2 (en) * 2003-04-04 2006-01-24 International Business Machines Corporation Method for identification of sub-optimally placed circuits
US20040267977A1 (en) * 2003-06-30 2004-12-30 Mysore Sriram Topology based replacement routing of signal paths
JP2005100239A (ja) * 2003-09-26 2005-04-14 Renesas Technology Corp 自動レイアウト装置、レイアウトモデル生成装置、レイアウトモデル検証装置及びレイアウトモデル
US7152217B1 (en) * 2004-04-20 2006-12-19 Xilinx, Inc. Alleviating timing based congestion within circuit designs
US7131096B1 (en) 2004-06-01 2006-10-31 Pulsic Limited Method of automatically routing nets according to current density rules
US7373628B1 (en) 2004-06-01 2008-05-13 Pulsic Limited Method of automatically routing nets using a Steiner tree
US7784010B1 (en) 2004-06-01 2010-08-24 Pulsic Limited Automatic routing system with variable width interconnect
US8095903B2 (en) 2004-06-01 2012-01-10 Pulsic Limited Automatically routing nets with variable spacing
US7848240B2 (en) * 2004-06-01 2010-12-07 Cisco Technology, Inc. Method and apparatus for forwarding data in a data communications network
US7257797B1 (en) 2004-06-07 2007-08-14 Pulsic Limited Method of automatic shape-based routing of interconnects in spines for integrated circuit design
US20060281221A1 (en) * 2005-06-09 2006-12-14 Sharad Mehrotra Enhanced routing grid system and method
US9245082B2 (en) 2005-06-21 2016-01-26 Pulsic Limited High-speed shape-based router
US7603644B2 (en) 2005-06-24 2009-10-13 Pulsic Limited Integrated circuit routing and compaction
US7363607B2 (en) 2005-11-08 2008-04-22 Pulsic Limited Method of automatically routing nets according to parasitic constraint rules
US8201128B2 (en) 2006-06-16 2012-06-12 Cadence Design Systems, Inc. Method and apparatus for approximating diagonal lines in placement
US8250514B1 (en) 2006-07-13 2012-08-21 Cadence Design Systems, Inc. Localized routing direction
US7861205B2 (en) * 2008-07-07 2010-12-28 Cadence Design Systems, Inc. Spine selection mode for layout editing
US8458636B1 (en) 2009-03-18 2013-06-04 Pulsic Limited Filling vacant areas of an integrated circuit design
JP2010287001A (ja) * 2009-06-10 2010-12-24 Fujitsu Ltd 設計支援プログラム、設計支援装置、および設計支援方法
US8365129B2 (en) * 2009-12-04 2013-01-29 Microsoft Corporation Edge routing using connection regions
JP2011186625A (ja) * 2010-03-05 2011-09-22 Renesas Electronics Corp 半導体集積回路のレイアウト装置及びレイアウト方法
US8417709B2 (en) * 2010-05-27 2013-04-09 International Business Machines Corporation Automatic refinement of information extraction rules
US8370786B1 (en) * 2010-05-28 2013-02-05 Golden Gate Technology, Inc. Methods and software for placement improvement based on global routing
US9747406B2 (en) * 2010-11-29 2017-08-29 Synopsys, Inc. Spine routing with multiple main spines
US8365120B2 (en) * 2010-12-02 2013-01-29 International Business Machines Corporation Resolving global coupling timing and slew violations for buffer-dominated designs
US8418113B1 (en) 2011-10-03 2013-04-09 International Business Machines Corporation Consideration of local routing and pin access during VLSI global routing
US8635577B2 (en) * 2012-06-01 2014-01-21 International Business Machines Corporation Timing refinement re-routing
US8621412B1 (en) * 2012-09-11 2013-12-31 Apple Inc. Micro-regions for auto place and route optimization
US9541401B1 (en) * 2013-02-13 2017-01-10 The United States Of America, As Represented By The Secretary Of The Navy Method and system for determining shortest oceanic routes
US10192019B2 (en) * 2013-09-25 2019-01-29 Synopsys, Inc. Separation and minimum wire length constrained maze routing method and system
US9396302B2 (en) * 2013-10-02 2016-07-19 Utah State University Global router using graphics processing unit
US10719653B2 (en) 2013-10-09 2020-07-21 Synopsys, Inc. Spine routing and pin grouping with multiple main spines
US9298874B2 (en) 2014-02-07 2016-03-29 Qualcomm Incorporated Time-variant temperature-based 2-D and 3-D wire routing
US10794721B2 (en) * 2016-07-13 2020-10-06 Taymour Semnani Real-time mapping using geohashing
GB2571333B (en) * 2018-02-26 2021-12-01 Advanced Risc Mach Ltd Integrated circuit design
CN111582431B (zh) * 2020-05-14 2022-07-08 福州大学 一种两步式X结构Steiner最小树构建方法
US11829909B2 (en) * 2020-11-06 2023-11-28 Sap Se Route finder for integrated planning
CN112883682B (zh) * 2021-03-15 2022-04-29 北京华大九天科技股份有限公司 集成电路的总体布线方法及设备和存储介质
CN113255284B (zh) * 2021-05-30 2023-07-18 上海立芯软件科技有限公司 全局布线中快速局部拆线重布方法
KR20240032917A (ko) * 2021-07-23 2024-03-12 데이비드 마이클 웜 위배된 부등식을 강화하기 위한 컴퓨터 구현 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6239024A (ja) * 1985-08-14 1987-02-20 Fujitsu Ltd 理論線長によるデイレ−解析処理装置
JPH02244280A (ja) * 1989-03-17 1990-09-28 Hitachi Ltd 配線方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10313058A (ja) * 1997-05-13 1998-11-24 Toshiba Corp 半導体集積回路設計装置、半導体集積回路設計方法、半導体集積回路設計プログラムを記録したコンピュータ読み取り可能な記録媒体、及び、半導体集積回路製造方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6239024A (ja) * 1985-08-14 1987-02-20 Fujitsu Ltd 理論線長によるデイレ−解析処理装置
JPH02244280A (ja) * 1989-03-17 1990-09-28 Hitachi Ltd 配線方式

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003067435A (ja) * 2001-08-24 2003-03-07 Fujitsu Ltd 自動配線方法,自動配線処理装置および自動配線処理プログラム
JP4490006B2 (ja) * 2001-08-24 2010-06-23 富士通株式会社 自動配線方法,自動配線処理装置および自動配線処理プログラム
JP2010097468A (ja) * 2008-10-17 2010-04-30 Fujitsu Ltd 配線方法、自動配線装置、及びプログラム
US8762910B2 (en) 2008-10-17 2014-06-24 Fujitsu Limited Wiring design method
JP2021532605A (ja) * 2019-05-08 2021-11-25 深▲セン▼▲職▼▲業▼技▲術▼学院 二進コードによるデジタル集積回路の配線方法および端末装置
JP7122785B2 (ja) 2019-05-08 2022-08-22 深▲セン▼▲職▼▲業▼技▲術▼学院 二進コードによるデジタル集積回路の配線方法および端末装置

Also Published As

Publication number Publication date
JP4227304B2 (ja) 2009-02-18
US6415427B2 (en) 2002-07-02
US20010009031A1 (en) 2001-07-19

Similar Documents

Publication Publication Date Title
WO2000038228A1 (fr) Appareil et procede de cablage brute et support d&#39;enregistrement conservant un programme de cablage brute
Pan et al. FastRoute 2.0: A high-quality and efficient global router
US7089523B2 (en) Method and apparatus for using connection graphs with potential diagonal edges to model interconnect topologies during placement
US6848091B2 (en) Partitioning placement method and apparatus
Koh et al. Manhattan or Non-Manhattan? A study of alternative VLSI routing architectures
US7676780B2 (en) Techniques for super fast buffer insertion
US20030121018A1 (en) Subgrid detailed routing
Liu et al. PSO-based power-driven X-routing algorithm in semiconductor design for predictive intelligence of IoT applications
US20030005398A1 (en) Timing-driven global placement based on geometry-aware timing budgets
JP2004529402A (ja) 配置の際に対角線配線を考慮に入れるための方法および装置
JP2004529402A5 (ja)
CN112985443A (zh) 路径规划方法、装置及终端设备
US6766502B1 (en) Method and apparatus for routing using deferred merging
Lienig et al. Electromigration avoidance in analog circuits: two methodologies for current-driven routing
Hsu et al. Multi-layer global routing considering via and wire capacities
Ho et al. Coupling-aware length-ratio-matching routing for capacitor arrays in analog integrated circuits
JP4037944B2 (ja) 配線経路決定方法および遅延推定方法
JP3006824B2 (ja) 配線設計方法および配線設計装置
US6567966B2 (en) Interweaved integrated circuit interconnects
CN112733484A (zh) 基于多策略优化的Slew约束下的X结构Steiner树构造方法
US20200311221A1 (en) Multi-cycle latch tree synthesis
JPH09223744A (ja) Vlsiチップへの回路の配置方法
Kahng et al. Practical bounded-skew clock routing
CN115114884A (zh) 基于多策略优化的时序松弛约束下绕障x结构布线方法
Lin et al. Critical-trunk based obstacle-avoiding rectilinear steiner tree routings for delay and slack optimization

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2000 590207

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 09800490

Country of ref document: US