A method for automatic extraction of layout structure
By adding through holes and pins to the integrated circuit layout, based on the width and color constraints of metal polygons, the method of automatically extracting device and interconnection information is realized, solving the problem of layout extraction efficiency and accuracy in integrated circuit design, and is suitable for large-scale integrated circuits.
Patent Information
- Application Number
- CN202411349066.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-26
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2044-09-26
AI Technical Summary
In the process of integrated circuit design, the increased complexity of modern integrated circuits leads to a huge number of devices, high layout density, and complex interconnection. It is difficult for the existing technology to extract detailed device and interconnection information from the layout efficiently and accurately.
Device and interconnect information are automatically extracted from the layout by adding through holes and pins based on the width and color constraints of the metal polygon without manual extraction. The specific steps include obtaining the automatic decimation settings, traversing the local polygon set, determining whether the through holes and pins that meet the conditions can be added, and performing corresponding decimation and updates.
It realizes an efficient and accurate automatic layout extraction process, improves the efficiency of device and interconnect information extraction, and is suitable for large-scale integrated circuit design.
Smart Images

Figure CN118862807B_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of semiconductor integrated circuits, and in particular relates to a method for automatically extracting a layout structure. Background Art
[0002] Automatic layout extraction is a key step in the integrated circuit design process. It is used to extract the devices and their interconnection information in the published drawings from the physical design. In the integrated circuit design process, physical design is the process of converting the logical circuit into a physical layout. The physical layout contains various devices such as transistors, capacitors, inductors, and their layout and interconnection. The purpose of automatic layout extraction is to extract important circuit information such as the location, size, and connection relationship of the device from the physical layout. This information is crucial for subsequent simulation, verification, wiring, and manufacturing processes. Automatic layout extraction faces some technical challenges. Due to the increasing complexity of modern integrated circuits, the number of devices in large-scale integrated circuits is huge, the layout density is high, and the interconnection is complex. Therefore, it is necessary to extract detailed device and interconnection information from the layout efficiently and accurately. In addition, issues such as version compatibility, electrical rule verification, and layout optimization need to be considered.
[0003] Automatic layout extraction uses a variety of algorithms and technologies, including image processing, shape recognition, pattern matching, optimization algorithms, etc. These algorithms extract devices and establish interconnections by analyzing the geometric features, network topology, and rule constraints in the layout. In order to achieve efficient automatic layout extraction, many commercial and open source EDA tools provide relevant functions and support. These tools can quickly and accurately extract circuit information from the physical layout and import it into the subsequent design and verification process. In short, automatic layout extraction is an indispensable part of the integrated circuit design process. It extracts the device and its interconnection information in the published drawing, and provides basic data for subsequent verification, simulation, wiring and other steps. Summary of the invention
[0004] The present invention provides a method for automatically extracting layout structure, which adds vias and pins without manual extraction, thereby realizing automatic extraction of device information in an original larger layout.
[0005] Other purposes and advantages of the present invention can be further understood from the technical features disclosed in the present invention.
[0006] To achieve one or part or all of the above purposes or other purposes, the present invention provides a method for automatically extracting a layout structure, which is based on the analysis of a first metal layer, a zero metal layer, and a through-hole layer connecting adjacent metal layers, wherein the first metal layer, the zero metal layer, and the through-hole layer are used to respectively set metal polygons, local polygons, and through-holes, including:
[0007] Step 1: Get the automatic extraction related settings: the conditions for adding through holes and metal polygons, the local polygon set connected to the pins in the original layout, and the existing metal polygon set;
[0008] Step 2: Traverse the local polygon set to determine whether the existing metal polygon can construct the through hole that meets the conditions; otherwise, construct the metal polygon and through hole belonging to the corresponding pin based on the through hole and the metal polygon adding conditions.
[0009] The conditions for adding the through hole in step 1 include: the construction size of the through hole, the construction position based on the orientation of the local polygon, and the distance between the through hole and the edge of the local polygon.
[0010] The conditions for adding metal polygons in step 1 include: the width and color library of the metal polygons, the spacing requirements between metal polygons of the same color, and the minimum spacing between metal polygons.
[0011] There are multiple widths of the metal polygon, the spacing requirements are multiple allowed spacings and / or prohibited spacings, and the numerical arrangement and combination of multiple widths and spacing requirements obtains a set of construction conditions for the metal polygon.
[0012] The step 1 of obtaining the local polygon set includes:
[0013] Get the local polygon used by the pin in the original layout;
[0014] A local polygon set to which a through hole can be added is obtained based on the through hole adding condition.
[0015] The local polygon is set with a traversal priority according to the pin priority, and the local polygons of different pins are traversed in sequence according to the traversal priority until a metal polygon that meets the requirements is extracted from the corresponding pin and then the next pin is traversed.
[0016] The specific process of step 2 is:
[0017] Step 21: traverse the local polygon to determine whether a through hole can be added to the overlapping area with the existing metal polygon;
[0018] Step 22: For the metal polygons that can be added with through holes, a color is assigned to the metal polygons based on the corresponding original colors and color libraries in the original layout, and the corresponding pins are extracted;
[0019] Step 23: Update the extracted pin information to the pin set.
[0020] Step 1 also includes flattening the through-hole layer and the first metal layer in the original layout, and classifying multiple types of local polygons; for the existing metal polygons in step 21, only the local polygons of the corresponding type are selected to calculate and judge the overlapping area.
[0021] The through hole adding condition is determined as follows:
[0022] Obtaining the orientation of the local polygon and presetting the construction position of the through hole in the local polygon;
[0023] Calculate the lengths of the local polygon in the horizontal and vertical directions;
[0024] Whether a through hole can be added is determined based on the length of the local polygon, the through hole construction size, and the distance between the through hole and the edge of the local polygon.
[0025] The step 22 comprises:
[0026] Obtain the original color corresponding to the metal polygon in the original layout and assign it to the metal polygon to which the through hole can be added;
[0027] If there is no original color, the first color in the color library is allocated to the metal polygon that can be added with a through hole, and the first color in the color library is placed at the last position to complete the extraction of the pin corresponding to the local polygon.
[0028] The steps 22 and 23 also include:
[0029] Traverse the extracted pins, if the pin uses the original color, skip the pin, otherwise determine whether the width of the pin and the distance to the newly added pin can be found in the permutation combination required by the width / interval;
[0030] If it can be found, no processing is performed; otherwise, starting from the first color in the color library, the first color in the color library that is different from the assigned color is selected and reallocated to the metal polygon.
[0031] The extracted pin information includes the pin color, the constructed through hole, and the metal polygon related information.
[0032] The step 2 also includes:
[0033] Step 24: traverse the local polygons connected to the unextracted pins to determine whether there is a pin set;
[0034] If the pin set does not exist, constructing through holes and metal polygons based on the through hole joining condition and the metal polygon color library to complete the extraction of the corresponding pins;
[0035] If there is a pin set, obtain a local area where the currently traversed local polygon and the metal polygons of all extracted pins do not overlap, and filter out a valid area based on the through-hole adding condition;
[0036] Step 25: Constructing through holes and metal polygons that meet the requirements to complete the extraction of the corresponding pins based on the colors assigned by the color library, the colors of the extracted pins and the judgment of the metal polygon addition conditions; otherwise, for the left and / or right areas of the metal polygon located at the extracted pins, update the left and / or right areas according to the spacing requirements between the metal polygons of the same color, and then judge whether the through holes can be added to the overlapping areas of the updated left and / or right areas and the valid area.
[0037] The step 24 further includes calculating the lengths of the local polygons according to the orientations of the local polygons and sorting them in ascending order.
[0038] The acquisition of the effective area includes:
[0039] Obtaining the position and size information of the metal polygons of all extracted pins in the pin set;
[0040] For the traversed local polygon, perform a “not” operation on it and the metal polygon of the extracted pin to obtain a local area without overlap;
[0041] Traverse the local areas of the local polygon to determine whether a through hole can be added. If all the local areas cannot be added, return to the previous step, continue to traverse the next local polygon, and re-perform the "not" operation; otherwise, obtain the valid area where a through hole can be added.
[0042] The step 25 specifically includes:
[0043] Sorting the extracted pins in the pin set from left to right to obtain a horizontal position set pinloc of the extracted pins;
[0044] Traverse the horizontal position set pinloc, and for pin pinloc[i], assign a new color to the pin extracted corresponding to the current local polygon based on the color corresponding to the pin pinloc[i] and the color library;
[0045] Based on the assigned colors, it is determined whether the spacing requirement between metal polygons of the same color is met, and if not, the color library is not updated.
[0046] The acquisition of the left and / or right area in step 25 includes:
[0047] Based on the minimum spacing between the metal polygons, the minimum spacing is reserved on the left and right sides of each metal polygon to obtain the left and / or right area of the pin pinloc[i];
[0048] Performing an “AND” operation on the left / right area and the valid area to obtain a left / right overlapping area;
[0049] Calculate whether a through hole can be added to the left / right overlapping area. If a through hole can be added, construct a metal polygon that meets the requirement based on the spacing requirement between the metal polygons of the same color to complete the extraction of the corresponding pin.
[0050] The step of constructing a metal polygon that meets the requirements based on the spacing requirements between metal polygons of the same color to complete the extraction of the corresponding pins includes:
[0051] Select a certain width / spacing requirement combination in the construction condition set;
[0052] For the left / right overlapping area, the pin closest to the right / left side of the overlapping area and having the same color as the color to be assigned in the color library is selected, and the left / right side of the metal polygon of the pin is used as the starting point. The left / right overlapping area is updated according to the interval requirement in the selected arrangement and combination, and then the overlap area obtained by performing an "AND" operation on the updated left / right area and the valid area is judged whether a through hole can be added to the overlap area;
[0053] If through holes can be added, the metal polygon constructed based on the width in the selected arrangement and combination and the metal polygons of the remaining extracted pins are judged whether they all meet the spacing requirements. If not, the next set of arrangements and combinations is selected.
[0054] After the traversal of step 2 is completed, if there are still pins that have not been successfully extracted, the pins of the same color that have not been successfully extracted are sorted, and the spacing between two adjacent pins after sorting is calculated. Based on the width, spacing, and construction condition set of the two front and back pins, it is determined whether the pins of the same color need to be updated. If updating is required, the local polygon corresponding to the pin after the pin is obtained, and the extraction is performed again according to step 2.
[0055] The updating of the pins of the same color specifically includes:
[0056] Creating a collection of said pins of the same color;
[0057] Sorting the pins in the set according to their position order, obtaining position information of metal polygons corresponding to two adjacent pins after the sorting, and calculating the distance between the adjacent pins according to the position information;
[0058] Obtaining the widths of the two adjacent pins, and determining whether the widths are the same;
[0059] If the judgment result is yes, no adjustment is required;
[0060] When the judgment result is no, traverse the construction condition set to determine whether the spacing is the same as the spacing requirement in the construction condition set. If not, obtain the local polygon corresponding to the pin after the pin and re-extract according to step 2. Otherwise, no adjustment is required.
[0061] Compared with the prior art, the beneficial effects of the present invention mainly include:
[0062] The present invention provides a method for automatically extracting layout structures, which realizes an efficient and accurate layout extraction process by setting through holes and pins to extract detailed device and interconnection information from the layout based on metal polygon width and color constraints without manual extraction.
[0063] In order to make the above and other purposes, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0064] In order to more clearly illustrate the technical solutions in the specific embodiments of the present invention, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0065] Figure 1 A schematic flow chart of a method for automatically extracting layout structures provided in an embodiment of the present application.
[0066] Figure 2 A schematic diagram of the horizontal and vertical spacing between the through hole and the local polygonal edge provided in an embodiment of the present application.
[0067] Figure 3 A schematic diagram of the structure of the metal layer corresponding to the horizontal position of the pin provided in an embodiment of the present application.
[0068] Figure 4 A schematic diagram of the process of obtaining overlapping areas provided in an embodiment of the present application.
[0069] Figure 5 A schematic diagram of the structure of the pins and local polygons provided in an embodiment of the present application.
[0070] Figure 6 A schematic diagram of the structure of a valid local polygon provided in an embodiment of the present application.
[0071] Figure 7A schematic diagram of the process of obtaining overlapping areas provided in an embodiment of the present application.
[0072] Figure 8 A schematic diagram of a process in which a through hole that meets the conditions cannot be added to the overlapping area provided in an embodiment of the present application.
[0073] Fig. 9 A schematic diagram of the structure of a through hole that meets the conditions can be added to the overlapping area provided in the embodiment of the present application. DETAILED DESCRIPTION
[0074] The above and other technical contents, features and effects of the present invention will be clearly presented in the following detailed description of a preferred embodiment with reference to the drawings. The directional terms mentioned in the following embodiments, such as up, down, left, right, front or back, etc., are only referenced to the directions of the attached drawings. Therefore, the directional terms used are used to illustrate and not to limit the present invention.
[0075] The present invention provides a layout structure automatic extraction method, which extracts detailed device and interconnection information from the layout without manual extraction by setting through holes and pins, thereby realizing an efficient and accurate layout extraction process.
[0076] The following will describe the various embodiments of the present application in detail with reference to the accompanying drawings. However, it will be appreciated by those skilled in the art that in the various embodiments of the present application, many technical details are provided in order to enable the reader to better understand the present application. However, even without these technical details and various changes and modifications based on the following embodiments, the technical solution claimed in the present application can be implemented.
[0077] like Figure 1 The figure is a schematic flow chart of a method for automatically extracting layout structures provided in an embodiment of the present application.
[0078] like Figure 1 As shown, a layout structure automatic extraction method is analyzed based on the first metal layer, the zero metal layer and the through-hole layer connecting the adjacent metal layers. The first metal layer, the zero metal layer and the through-hole layer are used to set the metal polygon, the local polygon and the through-hole respectively, including:
[0079] Step 1: Get the relevant settings for automatic extraction, including: the pins to be added to the extraction, the local polygons connected to the pins, the horizontal and vertical widths of the through-holes, the horizontal and vertical spacings between the through-holes and the local polygon edges, the set of metal polygons to be added in the first metal layer, the set of local polygons to be judged in the zero metal layer, the width of the metal polygons, the intervals of the same color of the metal polygons, the prohibited intervals of the same color of the metal polygons, the color library corresponding to the metal polygons, and the minimum interval in the first metal layer; the pins to be added to the extraction are located in the first metal layer, and the first metal layer and the zero metal layer are connected by through-holes;
[0080] Step 1 also includes: flattening the through hole layer and the first metal layer to form a polygonal set of metals of the same type.
[0081] like Figure 2 Shown is a schematic diagram of the horizontal and vertical spacing between the through hole and the local polygonal edge provided in an embodiment of the present application.
[0082] Step 2: Traverse the local polygon set to determine whether the local polygon can be added to the through holes and pins that meet the conditions.
[0083] Step 2.1: Get the direction of the local polygon; calculate the length of the local polygon in the horizontal direction or the vertical direction; determine whether the local polygon can be added to the through hole that meets the conditions according to the formula; if the judgment result is yes, it cannot be added; if the judgment result is no, it can be added;
[0084] Get the left edge coordinate x1, right edge coordinate x2, bottom edge coordinate y1 and top edge coordinate y2 of the local polygon;
[0085] If x2-x1>y2-y1, the local polygon direction is horizontal;
[0086] If x2-x1≤y2-y1, the local polygon direction is vertical;
[0087] The horizontal and vertical lengths of the local polygon are:
[0088] localendwidh=x2-x1; localedgewidth=y2-y1;
[0089] The horizontal and vertical lengths of the local polygon are:
[0090] localendwidh=y2-y1;localedgewidth=x2-x1;
[0091] The judgment formula for adding through holes that meet the conditions is:
[0092] If satisfied , you cannot join via;
[0093] If satisfied , you cannot join via.
[0094] Among them, localendwidh is the length of the local polygon in the horizontal direction, localedgewidth is the length of the local polygon in the vertical direction, sizex is the width of the through hole in the horizontal direction, sizey is the width of the through hole in the vertical direction, endclosure is the horizontal spacing between the through hole and the local polygon edge, and edgeclosure is the vertical spacing between the through hole and the local polygon edge.
[0095] Step 2.2.1: Filter the same type of metal polygon sets without through holes; determine whether there is an overlapping area between the local polygon and the metal polygon; if the result of the determination is yes, calculate the range of the overlapping area and determine whether the overlapping area can be added to the through hole that meets the conditions;
[0096] Step 2.2.2: When there is an overlapping area between the local polygon and the metal polygon, calculate the range of the overlapping area; determine whether the overlapping area can be added to the through hole that meets the conditions; if the judgment result is yes, extract the pins and assign colors to the pins;
[0097] The method of assigning colors to pins is: determine whether the metal polygon has color; if the judgment result is yes, assign the color of the metal polygon to the pin; if the judgment result is no, assign the first color in the color library corresponding to the metal polygon to the pin, and set the color to the last color in the color library.
[0098] Step 2.2.3: traverse the extracted pins, and update the pin colors according to the width of the metal polygon, the interval of the same color of the metal polygon, and the color library corresponding to the metal polygon;
[0099] The method of updating the pin color is as follows: traverse the extracted pins to determine whether the color of the pin is the same as the color of the metal polygon; if the judgment result is yes, skip the pin; if the judgment result is no, determine whether the pin width and the interval from the newly added pin can be found in the permutation and combination of the metal polygon width and the metal polygon same color interval; if the judgment result is yes, skip the pin; if the judgment result is no, assign the first color in the color library corresponding to the metal polygon that is different from the color to the pin;
[0100] Step 2.2.4: Update the pin information to the pin library. The extracted pin information includes: through hole, metal polygon, and color.
[0101] Step 2.3: Filter the same type of metal polygon sets without through holes; determine whether there is an overlapping area between the local polygon and the metal polygon; if the result of the determination is yes or no, create a metal polygon, and then create a pin library;
[0102] Step 2.3.1: Sort the local polygons: sort the local polygons from small to large according to their lengths based on their directions;
[0103] Step 2.3.2.1: When there is no created pin library, traverse the sorted local polygons and determine whether the local polygons can be added to the through-holes that meet the conditions according to step 2.1; if the judgment result is yes, the extraction is successful, and a metal polygon is created and a color is assigned according to the width of the metal polygon and the interval of the same color of the metal polygon, the pin information is updated, a pin library is created, and the pin information is updated to the pin library, and the extraction process ends; if the judgment result is no, the extraction fails and the extraction process ends; determine whether the next local polygon of the local polygon can be added to the through-hole that meets the conditions; repeat the above steps until the last local polygon in the sorted local polygons;
[0104] Step 2.3.2.2: When there is a pin library that has been created, traverse the sorted local polygons;
[0105] Step 2.3.2.2.1: Get the position and size information of the metal polygon in the pin library;
[0106] Step 2.3.2.2.2: Perform a “not” operation on the local polygon and the metal polygon in step 2.3.2.2.1 to obtain a valid local polygon set without overlapping areas;
[0107] Step 2.3.2.2.3: traverse the valid local polygon set, and determine whether the valid local polygon can be added to the through hole that meets the conditions according to step 2.1;
[0108] Step 2.3.2.2.3 The specific steps are:
[0109] Step a: If the through hole cannot be added, continue with the next valid local polygon until the last valid local polygon. If the addition cannot be successful, return to step 2.3.2.2.2 to continue traversing the next local polygon;
[0110] Step b: If through holes can be added, sort the created pin library from left to right to obtain the horizontal positions of the sorted pins;
[0111] Step c: traverse the horizontal positions of the sorted pins (pinloc[i]), and assign the color in the color library corresponding to the metal polygon that is different from the color of the pin to the pin according to the color of the pin corresponding to the horizontal position of the pin; if the assigned color can satisfy the interval of the same color of the metal polygon, the addition is successful; otherwise, go to step d;
[0112] Step d: If pin 1 (pinloc[i]) is not the last one, get the bounding box parameters of the metal layer corresponding to it (x11, y11, x21, y21), the bounding box parameters of the metal layer corresponding to pin 0 (pinloc[i-1]) (x01, y01, x02, y02), and the bounding box parameters of the metal layer corresponding to pin 2 (pinloc[i+1]) (x21, y21, x22, y22). You can get the left area (leftarea) and right area (rightarea) of pinloc[i], as shown in the following example: Figure 3 The figure shows a schematic diagram of the structure of the metal layer corresponding to the horizontal position of the pin provided in the embodiment of the present application;
[0113] Left area leftarea:
[0114] leftarea.left = x02+ minspace;
[0115] leftarea.right = x11-minspace;
[0116] leftarea.bottom = INT_MIN;
[0117] leftarea.top = INT_MAX;
[0118] As a preferred embodiment of the present invention, when pinloc[i] in this embodiment is the first case, the left area leftarea:
[0119] leftarea.left = x02+ INT_MIN;
[0120] leftarea.right = x11-minspace;
[0121] leftarea.bottom = INT_MIN;
[0122] leftarea.top = INT_MAX;
[0123] If pinloc[i] is the last one, get the right area rightarea:
[0124] rightarea.left = x22+minspace;
[0125] rightarea.right = INT_MAX;
[0126] rightarea.bottom = INT_MIN;
[0127] rightarea.top = INT_MAX;
[0128] Among them, leftarea.left is the left area, leftarea.right is the right area, minspace is the minimum interval defined in the first metal layer, INT_MIN and INT_MAX are infinitesimal and infinite.
[0129] Step e: Perform an “AND” operation on the left area and the valid local polygon to obtain the overlapping area;
[0130] like Figure 4 Shown is a schematic diagram of the process of obtaining overlapping areas provided in an embodiment of the present application.
[0131] Step f: Traverse the overlapping area:
[0132] If there is no overlapping area to add a through hole, perform an "AND" operation on the right area and the valid local polygon to obtain a second overlapping area, and traverse the second overlapping area until a local polygon that satisfies the overlapping area to add a through hole is found, and all local polygons are traversed;
[0133] If there is an overlapping area where a through hole can be added, traverse the permutations and combinations of metal polygon widths and metal polygons with the same color interval, and then perform the following steps:
[0134] Step a: obtaining the arrangement and combination of the metal polygon width and the same color interval of the metal polygon of the i-th group;
[0135] Step b: If it is the left area, get the left area (pinleft) of the pin closest to the right side of the area and whose pin color is the same as the color in step 3, and update the size of the left area (pinleft) to:
[0136] leftarea.left = INT_MIN;
[0137] leftarea.right = pinleft-minspace;
[0138] leftarea.bottom = INT_MIN;
[0139] leftarea.top = INT_MAX;
[0140] If it is the right area, get the right area (pinright) of the pin closest to the left side of the area and whose pin color is the same as the color in step 3, and update the size of the right area (rightarea) to:
[0141] rightarea.left =pinright+minspace;
[0142] rightarea.right = INT_MAX;
[0143] rightarea.bottom = INT_MIN;
[0144] rightarea.top = INT_MAX;
[0145] Step c: perform an AND operation on the updated leftarea / rightarea and the valid local polygon again to obtain the overlapping area, and determine whether the overlapping area can be added to the through hole that meets the conditions;
[0146] If the judgment result is no, continue to traverse;
[0147] If the result is yes, the left and right coordinates of the metal polygon to be added are set to:
[0148] metalright = leftarea.right;
[0149] metalleft= metalright-width;
[0150] or
[0151] metalleft = rightarea.left;
[0152] metalright= metalright+width;
[0153] Among them, pinleft is the left area of the pin, pinright is the right area of the pin, minspace is the minimum spacing defined in the first metal layer, width is the width of the metal polygon, INT_MIN and INT_MAX are infinitesimal and infinite.
[0154] Step d: Based on the coordinates of the left area and the right area of the metal polygon, determine whether it and the pins in the remaining pin libraries meet the requirement of the same color interval of the metal polygon. If not, continue traversing until all situations are traversed.
[0155] Step 3: Update the set of pins of the same color.
[0156] Step 3.1: Put pins of the same color into a set. The colors of pins in different sets are different.
[0157] Step 3.2: Arrange the pins in the same set from left to right to obtain the sorted pins (sortpins);
[0158] Step 3.3: For two adjacent pins, obtain the bounding box parameters (x11, y11, x12, y12) and (x21, y21, x22, y22) of the two pins in front and behind, and calculate the distance (dist) between the two pins as follows:
[0159] dist = x21-x12;
[0160] Step 3.4: Get the widths of the two pins in step 3.3: width 1 and width 2;
[0161] If width 1 and width 2 are the same, no adjustment is required;
[0162] If width 1 and width 2 are different, traverse the combination of the width of the metal polygon and the interval of the same color of the metal polygon. If a metal polygon of the same color interval is found that is the same as the distance (dist) between the two pins, no adjustment is required;
[0163] If width 1 and width 2 are different, and no metal polygon width and metal polygon interval combination with the same color has an interval with the same color that is the same as the distance (dist) between the two pins, then for the latter pin, obtain its corresponding local polygon and return to step 2 for re-extraction.
[0164] The present invention is further described below by a specific embodiment:
[0165] For a pin that needs to be extracted, its corresponding local polygon (local polygon 1 and local polygon 2) and two already extracted pins (pin 1 and pin 2), such as Figure 5 Shown is a schematic structural diagram of the pins and local polygons provided in an embodiment of the present application.
[0166] The local polygons connected to the pins that need to be extracted are located in the zero metal layer, and the two pins that have been extracted are located in the first metal layer.
[0167] At this time, there is no overlapping area between the remaining metal polygons and the local polygon connected to the pin, and it can be seen from the layout that the directions of local polygon 1 and local polygon 2 are both horizontal. In addition, the lengths of local polygon 1 and local polygon 2 are sorted.
[0168] After performing a "not" operation on local polygon 1 and local polygon 2 and the metal polygons of pin 1 and pin 2 that have been created, a valid local polygon can be obtained, such as Figure 6 Shown is a schematic diagram of the structure of an effective local polygon provided in an embodiment of the present application.
[0169] Reference Figure 6 , traverse the valid local polygons in the following order: valid local polygon 1, valid local polygon 21, valid local polygon 22, valid local polygon 23.
[0170] If the valid local polygon 1 cannot be added to the through hole that meets the conditions, but the valid local polygon 21 can be added to the through hole that meets the conditions, the left area of the metal polygon corresponding to the pin 1 is obtained and the valid local polygon 21 is operated to obtain the overlapping area, such as Figure 7 Shown is a schematic diagram of the process of obtaining overlapping areas provided in an embodiment of the present application.
[0171] Set the color assigned to pin 1 to color 1 and the color assigned to pin 2 to color 2, then the color assigned to the pin to be extracted is color 1, traverse the permutations and combinations of metal polygon widths and metal polygon same color intervals, update the left area of pin 1 according to one set of metal polygon widths and metal polygon same color intervals, and perform "AND" operation on the updated left area and the above overlapping area again to obtain a new overlapping area, and determine whether the new overlapping area can be added to the through hole that meets the conditions.
[0172] If the new overlapping area cannot be added to the qualified through hole, the extraction fails. Figure 8 The figure is a schematic diagram of a process in which a through hole that meets the conditions cannot be added to the overlapping area provided by an embodiment of the present application.
[0173] If the new overlapping area can be added with a through hole that meets the conditions, then add the through hole and the metal polygon in the new overlapping area, that is, pin 3. The color of pin 3 is the same as that of pin 1, and the color of pin 3 is also color. Fig. 9 The diagram is a schematic diagram of a structure in which a through hole that meets the conditions can be added to the overlapping area provided in an embodiment of the present application.
[0174] In summary, the present invention provides a method for automatically extracting layout structures, which extracts detailed device and interconnection information from the layout without manual extraction by setting through holes and pins, thereby improving the efficiency and accuracy of the layout extraction process and being better applied to large-scale integrated circuits.
[0175] In order to facilitate the description, some common English nouns or letters used in the present invention are only used for exemplary reference rather than restrictive interpretation or specific usage, and the protection scope of the present invention should not be limited by their possible Chinese translations or specific letters.
[0176] It should also be noted that, in this document, relational terms such as "first" and "second" are merely used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations.
Claims
1. A method for automatically extracting a layout structure, based on the analysis of a first metal layer, a zero metal layer, and a through-hole layer connecting adjacent metal layers, wherein the first metal layer, the zero metal layer, and the through-hole layer are used to respectively set metal polygons, local polygons, and through-holes, characterized in that: include: Step 1: Obtain the automatic extraction related settings: the metal polygon joining conditions of the through hole and the pin to which it belongs, the local polygon set connected to the pin in the original layout, and the existing metal polygon set; Step 2: traverse the local polygon set to determine whether there is an overlapping area between the local polygon and the existing metal polygon. If the result of the determination is yes, determine whether a through hole that meets the conditions can be added to the overlapping area. When the judgment result is yes, create a metal polygon and then create a pin library; The through hole adding conditions include: the construction size of the through hole, the construction position based on the orientation of the local polygon, and the distance between the through hole and the edge of the local polygon; The metal polygon joining conditions include: the width and color library of the metal polygon, the spacing requirement between metal polygons of the same color, and the minimum spacing between the metal polygons.
2. A method for automatically extracting layout structure according to claim 1, characterized in that: There are multiple widths of the metal polygon, the spacing requirements are multiple allowed spacings and / or prohibited spacings, and the numerical arrangement and combination of the multiple widths and spacing requirements of the metal polygon obtains a set of construction conditions for the metal polygon.
3. The method for automatically extracting layout structure according to claim 1, characterized in that: The step 1 of obtaining the local polygon set includes: Get the local polygon used by the pin in the original layout; A local polygon set to which a through hole can be added is obtained based on the through hole adding condition.
4. The method for automatically extracting layout structure according to claim 1, characterized in that: The local polygon is set with a traversal priority according to the pin priority, and the local polygons of different pins are traversed in sequence according to the traversal priority until a metal polygon that meets the requirements is extracted from the corresponding pin and then the next pin is traversed.
5. The method for automatically extracting layout structure according to claim 2, characterized in that: The specific process of step 2 is: Step 21: traverse the local polygon to determine whether a through hole can be added to the overlapping area with the existing metal polygon; Step 22: For the metal polygons that can be added with through holes, a color is assigned to the metal polygons based on the corresponding original colors and color libraries in the original layout, and the corresponding pins are extracted; Step 23: Update the extracted pin information to the pin set.
6. A method for automatically extracting layout structure according to claim 5, characterized in that: Step 1 also includes flattening the through-hole layer and the first metal layer in the original layout, and classifying multiple types of local polygons; for the existing metal polygons in step 21, only the local polygons of the corresponding type are selected to calculate and judge the overlapping area.
7. A method for automatically extracting layout structure according to claim 1 or 5, characterized in that: The through hole adding condition is determined as follows: Obtaining the orientation of the local polygon and presetting the construction position of the through hole in the local polygon; Calculate the lengths of the local polygon in the horizontal and vertical directions; Whether a through hole can be added is determined based on the length of the local polygon, the through hole construction size, and the distance between the through hole and the edge of the local polygon.
8. The method for automatically extracting layout structure according to claim 5, characterized in that: The step 22 comprises: Obtain the original color corresponding to the metal polygon in the original layout and assign it to the metal polygon to which the through hole can be added; If there is no original color, the first color in the color library is allocated to the metal polygon that can be added with a through hole, and the first color in the color library is placed at the last position to complete the extraction of the pin corresponding to the local polygon.
9. The method for automatically extracting layout structure according to claim 5, characterized in that: The steps 22 and 23 also include: Traverse the extracted pins, if the pin uses the original color, skip the pin, otherwise determine whether the width of the pin and the distance to the newly added pin can be found in the permutation combination required by the width / interval; If it can be found, no processing is performed; otherwise, starting from the first color in the color library, the first color in the color library that is different from the assigned color is selected and reallocated to the metal polygon.
10. The method for automatically extracting layout structure according to claim 5, characterized in that: The extracted pin information includes the pin color, the constructed through hole and the metal polygon related information.
11. The method for automatically extracting layout structure according to claim 5, characterized in that: The step 2 also includes: Step 24: traverse the local polygons connected to the unextracted pins; Determine whether there is a pin set, if the pin set does not exist, construct through holes and metal polygons based on the through hole joining condition and the metal polygon color library to complete the extraction of the corresponding pins; If there is a pin set, obtain a local area where the currently traversed local polygon and the metal polygons of all extracted pins do not overlap, and filter out a valid area based on the through-hole adding condition; Step 25: sequentially constructing a through hole and a metal polygon that meet the requirements to complete the extraction of the corresponding pin through the colors assigned by the color library, based on the colors of the extracted pins and the judgment of the metal polygon joining conditions; Otherwise, for the left and / or right areas of the metal polygon located at the extracted pin, the left and / or right areas are updated according to the spacing requirements between the metal polygons of the same color, and then it is determined whether a through hole can be added to the overlapping area of the updated left and / or right areas and the valid area.
12. A method for automatically extracting layout structure according to claim 11, characterized in that: The step 24 further includes calculating the lengths of the local polygons according to the orientations of the local polygons and sorting them in ascending order.
13. The method for automatically extracting layout structure according to claim 11, characterized in that: The acquisition of the effective area includes: Obtaining the position and size information of the metal polygons of all extracted pins in the pin set; For the traversed local polygon, perform a "not" operation on it and the metal polygon of the extracted pin to obtain a local area without overlap; Traverse the local areas of the local polygon to determine whether a through hole can be added. If all the local areas cannot be added, return to the previous step, continue to traverse the next local polygon, and re-perform the "not" operation; otherwise, obtain the valid area where a through hole can be added.
14. The method for automatically extracting layout structure according to claim 11, characterized in that: The step 25 specifically includes: Sorting the extracted pins in the pin set from left to right to obtain a horizontal position set pinloc of the extracted pins; Traverse the horizontal position set pinloc, and for pin pinloc[i], assign a new color to the pin extracted corresponding to the current local polygon based on the color corresponding to the pin pinloc[i] and the color library; Based on the assigned colors, it is determined whether the spacing requirement between metal polygons of the same color is met, and if not, the color library is not updated.
15. A method for automatically extracting layout structure according to claim 14, characterized in that: The acquisition of the left and / or right area in step 25 includes: Based on the minimum spacing between the metal polygons, the minimum spacing is reserved on the left and right sides of each metal polygon to obtain the left and / or right area of the pin pinloc[i]; Perform an AND operation on the left / right area and the valid area to obtain a left / right overlapping area; Calculate whether a through hole can be added to the left / right overlapping area. If a through hole can be added, construct a metal polygon that meets the requirement based on the spacing requirement between the metal polygons of the same color to complete the extraction of the corresponding pin.
16. A method for automatically extracting layout structure according to claim 15, characterized in that: The step of constructing a metal polygon that meets the requirements based on the spacing requirements between metal polygons of the same color to complete the extraction of the corresponding pins includes: Select a certain width / spacing requirement combination in the construction condition set; For the left / right overlapping area, the pin closest to the right / left side of the overlapping area and having the same color as the color to be assigned in the color library is selected, and the left / right side of the metal polygon of the pin is used as the starting point. The left / right overlapping area is updated according to the interval requirement in the selected arrangement and combination, and then the overlap area obtained by performing an "AND" operation on the updated left / right area and the valid area is judged whether a through hole can be added; If through holes can be added, the metal polygon constructed based on the width in the selected arrangement and combination and the metal polygons of the remaining extracted pins are judged whether they all meet the spacing requirements. If not, the next set of arrangements and combinations is selected.
17. The method for automatically extracting layout structure according to claim 5, characterized in that: After the traversal of step 2 is completed, if there are still pins that have not been successfully extracted, the pins of the same color that have not been successfully extracted are sorted, and the spacing between two adjacent pins after the sorting is calculated. Based on the width, spacing, and construction condition set of the two front and back pins, it is determined whether the pins of the same color need to be updated. If updating is required, the local polygon corresponding to the pin after the pin is obtained, and the extraction is performed again according to step 2.
18. A method for automatically extracting layout structure according to claim 17, characterized in that: The updating of the pins of the same color specifically includes: Creating a collection of said pins of the same color; Sorting the pins in the set according to their position order, obtaining position information of metal polygons corresponding to two adjacent pins after the sorting, and calculating the distance between the adjacent pins according to the position information; Obtaining the widths of the two adjacent pins, and determining whether the widths are the same; If the judgment result is yes, no adjustment is required; When the judgment result is no, traverse the construction condition set to determine whether the spacing is the same as the spacing requirement in the construction condition set. If not, obtain the local polygon corresponding to the pin after the pin and re-extract according to step 2. Otherwise, no adjustment is required.
Citation Information
Patent Citations
Method and system for design rule checking of integrated circuit layout
CN102663169A
Method for automatically detecting integrated circuit layout
CN105808803A