Method for determining through hole test layout of chip

By randomly generating the through hole matrix in the chip design and updating the metal wire settings, the problem of difficult control of the through hole size and proportion in the prior art is solved, and a through hole layout design that is more in line with the chip testing requirements is realized.

CN119903806APending Publication Date: 2025-04-29GUANGDONG GREATER BAY AREA INST OF INTEGRATED CIRCUIT & SYST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411993491.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-31
Publication Date
2025-04-29

AI Technical Summary

Technical Problem

The prior art is difficult to effectively control the size and proportion of through holes in chip design, resulting in the through hole layout that cannot meet the requirements of chip testing.

Method used

By randomly generating a through hole matrix according to the design information of the first metal layer and the second metal layer, setting metal lines and updating the through hole matrix, and finally setting the through holes according to the updated through hole matrix, design control of the through hole size and proportion is achieved.

Benefits of technology

This method can design through hole size and proportion that meets chip testing requirements, and improve the manufacturability and test quality of through hole layout.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119903806A_ABST
    Figure CN119903806A_ABST
Patent Text Reader

Abstract

The invention discloses a method for determining a through hole test layout of a chip. The method comprises the following steps: randomly generating a through hole matrix according to design rules and physical layout information of first metal wires in a first metal layer and second metal wires in a second metal layer; wherein the first metal wires extend in the first direction, the second metal wires extend in the second direction, and the first direction and the second direction intersect with each other; setting a first metal wire and a second metal wire according to the through hole matrix, the design information and the through hole information, and updating the through hole matrix; setting through holes according to the first line spacing, the second line spacing, the through hole information and the updated through hole matrix; the through hole information comprises the width of the through hole in the first direction, the width of the through hole in the second direction and the minimum surrounding distance of the through hole. According to the scheme provided by the embodiment of the invention, the through hole test layout can be designed and the size of the through hole test layout can be determined according to the design rule, and the rough proportion of the through holes can be set, so that the through hole layout better meets the requirements of chip process test.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of chip layout design, and in particular to a method for determining a through-hole test layout of a chip. Background Art

[0002] The main obstacle to developing new IC technology nodes is the lack of high-quality, comprehensive layouts that can thoroughly test process capabilities, design, and process interactions. In the initial stages of process development, it is necessary to define process specifications, specify OPC configurations, and establish design rules to determine the manufacturability of the layout. Each of these critical tasks requires a layout of the chip to evaluate the quality, accuracy, and completeness of the development results.

[0003] Traditional designs have limitations when optimizing incrementally for yield at new nodes. In addition to the difficulties introduced by novel manufacturing technologies, there is a high probability of encountering additional random, systematic, and parametric defects, which require the implementation of supplementary design rules and strategies. The arbitrary positioning of basic patterns produces a variety of design styles covering a wide range of designs. Manual layout generators create a variety of patterns, all of which adhere to established rules and dimensional constraints. Adjustments are implemented to generate designs and manage the percentage boundaries of wires in preferred and non-preferred directions, and determine the boundaries of wire width, length, and density boundaries. The random placement of unit patterns takes all of these limitations into account when creating simple patterns and complex corner cases that are difficult to fully resolve with manual test designs. At this stage, we generate more complex patterns and achieve greater coverage and dimensional variations to trigger and observe more pattern-process interactions.

[0004] As the complexity of integrated circuits increases, using only one layer of metal interconnection can no longer meet the needs. Current integrated circuits have up to 10 or more metal interconnection layers, which are separated by dielectric layers, and then small holes are punched in the dielectric layer to facilitate metal filling. The technology used by existing mainstream software is to use the overlapping part of the existing two layers of metal in the design layout as the through-hole part, and then delete the through-hole design rules according to the through-hole design rules to obtain the final through-hole layout. The above scheme has the following defects: the through-hole is obtained by overlapping the existing metal, the through-hole size is subject to the line width of the metal layer, and the through-hole is obtained by overlapping the existing metal, and its number or proportion cannot be controlled. Summary of the invention

[0005] An embodiment of the present invention provides a method for determining a through-hole test layout of a chip. The solution of the embodiment of the present invention can design the through-hole size and set the approximate proportion of the through-hole, so that the through-hole layout better meets the chip test requirements.

[0006] According to one aspect of the present invention, a method for determining a through-hole test layout of a chip is provided, comprising:

[0007] A through-hole matrix is ​​randomly generated according to design information of a first metal line in a first metal layer and a second metal line in a second metal layer; wherein the first metal line extends along a first direction, the second metal line extends along a second direction, and the first direction and the second direction intersect each other; the design information includes at least one of a layout size, a line width of the first metal line, a line width of the second metal line, a first line spacing of first metal lines adjacent to each other along the second direction, a second line spacing of second metal lines adjacent to each other along the first direction, a maximum line length, a minimum line length, a first minimum line spacing and a first maximum line spacing of first metal lines adjacent to each other along the first direction, a second minimum line spacing and a second maximum line spacing of second metal lines adjacent to each other along the second direction, and a through-hole ratio;

[0008] According to the through-hole matrix, the design information and the through-hole information, the first metal line and the second metal line are set and the through-hole matrix is ​​updated; wherein the through-hole information includes the width of the through-hole along the first direction, the width of the through-hole along the second direction and the minimum enclosing distance between the edge of the through-hole and the line end of the metal line covering it;

[0009] The vias are arranged according to the first line spacing, the second line spacing, the via information and the updated via matrix.

[0010] Optionally, setting the position of each first metal line and each second metal line according to the through-hole matrix, the design information and the through-hole information and updating the through-hole matrix includes:

[0011] Determine a line-end through-hole matrix and a non-line-end through-hole matrix according to the through-hole matrix;

[0012] The first metal wire and the second metal wire are set and the via matrix is ​​updated according to the line-end via matrix, the non-line-end via matrix, the design information and the via information; wherein the line-end vias in the line-end via matrix are located at the line ends of the metal wires, and the non-line-end vias in the non-line-end via matrix are located at the non-line-end positions of the metal wires.

[0013] Optionally, the through hole matrix is ​​a 0-1 matrix with a ratio of 1 being P;

[0014] Determining a line-end through-hole matrix and a non-line-end through-hole matrix according to the through-hole matrix includes:

[0015] Obtaining the index array of the first non-zero element in each column of the through-hole matrix to obtain a non-zero column index array;

[0016] Obtaining the index array of the first non-zero element in each row of the through-hole matrix to obtain a non-zero row index array;

[0017] According to the position of the first non-zero element in each row of the non-zero row index array, the matrix is ​​assigned 1 at intervals of the second line spacing to obtain a through-hole horizontal matrix;

[0018] According to the position of the first non-zero element in each column of the non-zero column index array, the matrix is ​​assigned 1 at intervals of the first line spacing to obtain a through-hole vertical matrix;

[0019] Determine the line end through hole matrix according to the through hole horizontal matrix, the through hole vertical matrix and the through hole matrix;

[0020] The non-line end via matrix is ​​determined based on the via matrix and the line end via matrix.

[0021] Optionally, setting the first metal line and the second metal line and updating the via matrix according to the line-end via matrix, the non-line-end via matrix and the design information includes:

[0022] Determine the position of each row of line end vias in the line end via matrix, if there is no line end via in a row, set the first metal wire of the row according to the non-line end vias, design information and via information of the row in the non-line end via matrix, if there is a line end via in a row, set the first metal wire of the row according to the line end vias, design information and via information;

[0023] Determine the position of each column of line-end vias in the line-end via matrix; if there is no line-end via in a column, set the second metal wire of the column according to the non-line-end vias, design information and via information of the column in the non-line-end via matrix; if there is a line-end via in a column, set the second metal wire of the column according to the line-end via, design information and via information.

[0024] Optionally, if there is no wireless end via in a row, setting the first metal line of the row according to the non-wire end vias, design information and via information of the row in the non-wire end via matrix includes:

[0025] Obtaining the position of the non-line end through hole in the row in the non-line end through hole matrix;

[0026] If the row has no non-line-end via, randomly arranging the first metal line according to the design information;

[0027] If there is a non-line end through hole in the row, determine the first left end position of the first metal line, and judge whether there is a through hole within the minimum enclosing distance of the first left end position; if there is, remove the through hole or update the first left end position so that there is no through hole within the minimum enclosing distance of the first left end position;

[0028] Determine a first random line length according to the minimum line length and the maximum line length;

[0029] Determine the first right end position of the first metal wire according to the first left end position and the first random line length, and determine whether there is a through hole within the minimum enclosing distance of the first right end position, and if so, update the first right end position so that there is no through hole within the minimum enclosing distance from the first right end position;

[0030] Disposing a first metal wire according to the first left end position and the first right end position;

[0031] Randomly determine a first random spacing value according to the first minimum line spacing and the first maximum line spacing, and remove the through holes located to the right of the first right end and whose distance from the first right end is less than the first random spacing value;

[0032] Update the first left end position according to the first right end position and the first random spacing value;

[0033] If there is no wireless end via in a column, setting the second metal line of the column according to the non-wire end vias, design information and via information of the column in the non-wire end via matrix includes:

[0034] Obtaining the position of the non-line end through hole in the column in the non-line end through hole matrix;

[0035] If the column has no non-line-end vias, randomly setting the second metal line according to the design information;

[0036] If there is a non-line end through hole in the column, determine the first lower end position of the second metal line, and judge whether there is a through hole within the minimum surrounding distance of the first lower end position of the second metal line, and if there is, remove the through hole or update the first lower end position so that there is no through hole within the minimum surrounding distance of the first lower end position;

[0037] Determine a second random line length according to the minimum line length and the maximum line length;

[0038] Determine the first upper end position of the second metal wire according to the first lower end position and the second random line length, and determine whether there is a through hole within the minimum enclosing distance of the first upper end position, and if so, update the first upper end position so that there is no through hole within the minimum enclosing distance from the first upper end position;

[0039] Disposing a second metal wire according to the first lower end position and the first upper end position;

[0040] Randomly determine a second random spacing value according to the second minimum spacing and the second maximum line spacing, and remove the through holes located above the first upper end and whose distance from the first upper end is less than the second random spacing value;

[0041] The first lower end position is updated according to the first upper end position and the second random spacing value.

[0042] Optionally, if a line end via exists in a row, setting a first metal line of the row according to the line end via, the design information and the via information includes:

[0043] According to the position of the first line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, a first metal line is arranged before the first line end via;

[0044] According to the positions, maximum line length, minimum line length, first minimum line spacing, first maximum line spacing and through-hole information of two adjacent line-end through-holes in a row, a first metal line is arranged between the two adjacent line-end through-holes; wherein the first metal line covers the line-end through-hole adjacent to the first metal line and located on the left side thereof;

[0045] According to the position of the last line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, a first metal line is arranged after the last line end via;

[0046] If there is a line end via in a column, setting a second metal line in the column according to the line end via, the design information and the via information includes:

[0047] According to the position of the first line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum spacing and the via information, a second metal line is arranged before the first line end via;

[0048] According to the positions, maximum line length, minimum line length, second minimum spacing, second maximum spacing and via information of two adjacent line end vias in a column, a second metal line is arranged between the two adjacent line end vias; wherein the second metal line covers the line end via that is adjacent to and located below the second metal line;

[0049] A second metal line is arranged after the last line end via in a column according to the position of the last line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum spacing and the via information.

[0050] Optionally, according to the position of the first line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, setting the first metal line before the first line end via includes:

[0051] (11) determining whether the length between the first starting position at which the first metal line is drawn and the first ending position at which the first metal line is drawn is greater than the sum of the minimum line length of the first metal line and the first minimum line spacing; if so, executing step (12); otherwise, terminating the drawing of the first metal line;

[0052] (12) if the first starting position is smaller than the first ending position, randomly determining a third random spacing value according to the first minimum line spacing and the first maximum line spacing;

[0053] (13) removing the through hole that is located before the first end position and whose distance from the first end position is less than a first preset distance; wherein the first preset distance is equal to the sum of the third random spacing value and the minimum enclosing distance;

[0054] (14) calculating a second right end position of the first metal wire according to the first end position and the third random spacing value;

[0055] (15) randomly selecting a third random line length of the first metal wire according to the maximum line length and the minimum line length; if the distance from the second right end position to the first starting position is not greater than the maximum line length, calculating the second left end position of the first metal wire according to the second right end position and the third random line length, and setting the first metal wire according to the second left end position and the second right end position;

[0056] (16) Setting the first end position equal to the second left end position, and continuing with step (11);

[0057] According to the position of the first line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum spacing and the via information, a second metal line is set before the first line end via, including:

[0058] (21) determining whether the length between the second starting position at which the second metal line is drawn and the second ending position at which the second metal line is drawn is greater than the sum of the minimum line length of the second metal line and the first minimum line spacing; if so, executing step (22); otherwise, terminating the drawing of the second metal line;

[0059] (22) if the second starting position is smaller than the second starting and ending position, randomly determining a fourth random spacing value according to the second minimum spacing and the second maximum line spacing;

[0060] (23) removing the through hole that is located before the second end position and whose distance from the second end position is less than a second preset distance; wherein the second preset distance is equal to the sum of the fourth random spacing value and the minimum enclosing distance;

[0061] (24) calculating a second upper end position of the second metal wire according to the second end position and the fourth random spacing value;

[0062] (25) randomly selecting a fourth random line length of the second metal wire according to the maximum line length and the minimum line length; if the distance from the second upper end position to the second starting position is not greater than the maximum line length, calculating the second lower end position of the second metal wire according to the second upper end position and the fourth random line length, and setting the second metal wire according to the second lower end position and the second upper end position;

[0063] (26) Set the second end line drawing position equal to the second lower end position, and continue to execute step (21).

[0064] Optionally, according to the positions, maximum line length, minimum line length, first minimum line spacing, first maximum line spacing and through-hole information of two adjacent line-end through-holes in a row, a first metal line is arranged between two adjacent line-end through-holes, including:

[0065] (31) If the third starting position of drawing the first metal line is smaller than the third ending position of drawing the first metal line, then execute step (32); otherwise, the drawing of the first metal line ends.

[0066] (32) setting the third left end position of the first metal wire equal to the third starting position, and randomly selecting a fifth random wire length of the first metal according to the maximum wire length and the minimum wire length;

[0067] (33) determining a third right end position of the first metal wire according to the third left end position and the fifth random line length, and drawing the first metal wire according to the third left end position and the third right end position;

[0068] (34) randomly determining a fifth random spacing value according to the first minimum line spacing and the first maximum line spacing;

[0069] (35) removing the through hole located to the right of the third right end position and having a distance from the third right end position less than the fifth random distance value, and removing the through hole located to the left of the third right end position and having a distance from the third right end position less than the minimum enclosing distance;

[0070] (36) updating the third starting position according to the third starting position, the third left end position, the third right end position and the fifth random spacing value, and continuing to execute step (31);

[0071] According to the positions, maximum line length, minimum line length, second minimum spacing, second maximum line spacing and through-hole information of two adjacent line-end through-holes in a column, a second metal line is arranged between the two adjacent line-end through-holes, including:

[0072] (41) If the fourth starting position of drawing the second metal line is smaller than the fourth ending position of drawing the second metal line, then execute step (42); otherwise, the drawing of the second metal line ends.

[0073] (42) setting the third lower end position of the second metal wire equal to the fourth starting position, and randomly selecting a sixth random wire length of the first metal according to the maximum wire length and the minimum wire length;

[0074] (43) determining a third upper end position of the second metal wire according to the third lower end position and the sixth random line length, and drawing the first metal wire according to the third lower end position and the third upper end position;

[0075] (44) randomly determining a sixth random spacing value according to the first minimum line spacing and the first maximum line spacing;

[0076] (45) removing the through holes located above the third upper end position and having a spacing from the third upper end position less than the sixth random spacing value, and removing the through holes located below the third upper end position and having a spacing from the third upper end position less than the minimum enclosing distance;

[0077] (46) Update the fourth starting position according to the fourth starting position, the third lower end position, the third upper end position and the sixth random spacing value, and continue to execute step (41).

[0078] Optionally, according to the position of the last line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, setting the first metal line after the last line end via includes:

[0079] (51) If the fifth starting position of drawing the first metal line is smaller than the fifth ending position of drawing the first metal line, execute step (52), otherwise the drawing of the metal line ends;

[0080] (52) setting the fourth left end position of the first metal wire equal to the fifth starting position, and randomly selecting the seventh random wire length of the first metal according to the maximum wire length and the minimum wire length;

[0081] (53) determining a fourth right end position of the first metal wire according to the fourth left end position wire_left4 and the seventh random wire length wire_len7, and drawing the first metal wire according to the fourth left end position and the fourth right end position;

[0082] (54) randomly determining a seventh random spacing value according to the first minimum line spacing and the first maximum line spacing;

[0083] (55) removing the through hole located to the right of the fourth right end position and having a distance from the fourth right end position less than the seventh random distance value, and removing the through hole located to the left of the fourth right end position and having a distance from the fourth right end position less than the minimum enclosing distance;

[0084] (56) updating the fifth starting position according to the fifth starting position, the fourth left end position, the fourth right end position and the seventh random spacing value, and continuing to execute step (51);

[0085] According to the position of the last line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum line spacing and the via information, a second metal line is set after the last line end via, including:

[0086] (61) If the sixth starting position of drawing the second metal line is smaller than the sixth ending position of drawing the second metal line, execute step (62), otherwise the drawing of the metal line ends;

[0087] (62) setting the fourth lower end position of the second metal wire equal to the sixth starting position, and randomly selecting the eighth random wire length of the first metal according to the maximum wire length and the minimum wire length;

[0088] (63) determining a fourth upper end position of the first metal wire according to the fourth lower end position and the eighth random line length, and drawing the first metal wire according to the fourth lower end position and the fourth upper end position;

[0089] (64) randomly determining an eighth random spacing value according to the first minimum line spacing and the first maximum line spacing;

[0090] (65) removing the through holes located below the fourth upper end position and having a spacing from the fourth upper end position less than the eighth random spacing value, and removing the through holes located below the fourth upper end position and having a spacing from the fourth upper end position less than the minimum enclosing distance;

[0091] (66) Update the sixth starting position according to the sixth starting position, the fourth upper end position, the fourth lower end position and the eighth random spacing value, and continue to execute step (61).

[0092] Optionally, setting the through hole according to the first line spacing, the second line spacing, the through hole information and the updated through hole matrix includes:

[0093] Get the updated non-zero position information list of the through-hole matrix;

[0094] Calculate the horizontal offset information and vertical offset information of each through hole in the non-zero position information list;

[0095] The center position of each through hole is determined according to the first line spacing, the second line spacing, the horizontal offset information and the vertical offset information, and the through hole is drawn according to the center position, the width of the through hole along the first direction and the width of the through hole along the second direction.

[0096] The embodiment of the present invention randomly generates a through-hole matrix according to the design information of the first metal wire in the first metal layer and the second metal wire in the second metal layer; sets the first metal wire and the second metal wire according to the through-hole matrix, the design information and the through-hole information and updates the through-hole matrix; sets through-holes according to the first line spacing, the second line spacing, the through-hole information and the updated through-hole matrix. The embodiment of the present invention can set a through-hole matrix that meets the proportion requirements according to the key information of the layout, and draw metal lines and update the through-hole matrix according to the through-hole matrix, the design information and the through-hole information. After drawing the metal lines, draw through-holes according to the updated through-hole matrix and the required through-hole information, that is, the solution of this embodiment can design the through-hole size, and can set the approximate proportion of the through-hole, so that the through-hole layout is more in line with the chip test requirements.

[0097] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0098] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. 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 creative work.

[0099] Figure 1 It is a flow chart of a method for determining a through-hole test layout of a chip provided by an embodiment of the present invention;

[0100] Figure 2 It is a flow chart of another method for determining a through-hole test layout of a chip provided by an embodiment of the present invention;

[0101] Figure 3 is a schematic diagram of a through-hole layout generated according to a solution of an embodiment of the present invention;

[0102] Figure 4 It is a flow chart of another method for determining a through-hole test layout of a chip provided by an embodiment of the present invention;

[0103] Figure 5 is a schematic diagram of a first metal line and a through hole according to an embodiment of the present invention;

[0104] Figure 6 A schematic diagram of a first line-end via and a first metal line. DETAILED DESCRIPTION

[0105] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0106] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0107] The embodiment of the present invention provides a method for determining a through-hole test layout of a chip. Figure 1 is a flow chart of a method for determining a through-hole test layout of a chip provided by an embodiment of the present invention, with reference to Figure 1 , the method comprising:

[0108] S110, randomly generate a through-hole matrix according to design information of the first metal wire in the first metal layer and the second metal wire in the second metal layer, wherein the first metal wire extends along the first direction, the second metal wire extends along the second direction, and the first direction and the second direction intersect each other; the design information includes at least one of the following: layout size, line width of the first metal wire, line width of the second metal wire, first line spacing of adjacent first metal wires along the second direction, second line spacing of adjacent second metal wires along the first direction, maximum line length, minimum line length, first minimum line spacing and first maximum line spacing of adjacent first metal wires along the first direction, second minimum line spacing and second maximum line spacing of adjacent second metal wires along the second direction, and through-hole ratio.

[0109] The first direction is the row direction, and the second direction is the column direction. The first metal wire and the second metal wire are connected by a through hole. There is an insulating layer between the first metal layer and the second metal layer, and the through hole is a through hole in the insulating layer. The proportion P of 1 generated according to the design information is the through hole proportion in the design information or a 0-1 random matrix close to the through hole proportion, that is, the through hole matrix ALL_Via. The position of 1 in the matrix represents a through hole.

[0110] S120, setting the first metal line and the second metal line and updating the through-hole matrix according to the through-hole matrix, the design information and the through-hole information, wherein the through-hole information includes the width of the through-hole along the first direction, the width of the through-hole along the second direction and the minimum surrounding distance between the edge of the through-hole and the end of the metal line covering it.

[0111] Specifically, the line end via matrix LE_Via can be determined according to the random via matrix ALL_Via, and then the non-line end via matrix NLE_Via can be determined according to the via matrix ALL_Via and the line end via matrix LE_Via, wherein ALL_Via XOR LE_Via=NLE_Via. The line end vias in the line end via matrix are located at the ends of the metal lines, and the non-line end vias in the non-line end via matrix are located at the non-ends of the metal lines. The first metal line and the second metal line are set according to the via matrix, the design information, and the via information, and the via matrix is ​​updated, which can be based on the line end via matrix, the non-line end via matrix, the layout size, the line width of the first metal line, the line width of the second metal line, the first line spacing, the second line spacing, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing, the second minimum line spacing, the second maximum line spacing, and the via information to draw the first metal line and the second metal line on the layout. When drawing the first metal wire and the second metal wire, if there are through holes in the through hole matrix that are too close to or partially overlap the line ends of the first metal wire or the second metal wire, the metal wires can be extended while satisfying the design information to avoid the through holes being too close to or partially overlapping the line ends; if the problem cannot be solved by changing the length of the metal wires, the through holes in the matrix that are too close to or partially overlap the line ends of the first metal wire or the second metal wire are removed to obtain an updated through hole matrix.

[0112] S130, setting through holes according to the first line spacing, the second line spacing, the through hole information and the updated through hole matrix.

[0113] Specifically, before setting the through holes, the updated through hole matrix and the drawn first metal line and the second metal line can be subjected to a design rule check (DRC), through holes that do not comply with the DRC check can be removed, and the updated through hole matrix can be updated again according to the through hole ratio in the design information so that the number of through holes in the through hole matrix meets the through hole ratio.

[0114] The updated non-zero position information list location_list of the through hole matrix Mat_Via can be obtained, and the center position of each through hole is determined, so that the center of each through hole is located on the line width center line of the first metal line, and the center of each through hole is located on the line width center line of the second metal line, and the through hole is drawn according to the center position, the width of the through hole along the first direction, and the width of the through hole along the second direction. The line width center line is a line that bisects the line width of the metal line.

[0115] The embodiment of the present invention randomly generates a through-hole matrix according to the design information of the first metal wire in the first metal layer and the second metal wire in the second metal layer; sets the first metal wire and the second metal wire according to the through-hole matrix, the design information and the through-hole information and updates the through-hole matrix; sets through-holes according to the first line spacing, the second line spacing, the through-hole information and the updated through-hole matrix. The embodiment of the present invention can set a through-hole matrix that meets the proportion requirements and design requirements according to the design information of the layout, and draw metal lines and update the through-hole matrix according to the through-hole matrix, the design information and the through-hole information. After drawing the metal lines, draw through-holes according to the updated through-hole matrix and the through-hole information, that is, the solution of this embodiment can design the through-hole size, and can set the approximate proportion of the through-hole, so that the through-hole layout is more in line with the chip test requirements.

[0116] Figure 2 is a flowchart of another method for determining a through-hole test layout of a chip provided by an embodiment of the present invention, with reference to Figure 2 , Optionally, a method for determining a through-hole test layout of a chip comprises the following steps:

[0117] S110 , randomly generate a through hole matrix according to design information of the first metal wire in the first metal layer and the second metal wire in the second metal layer.

[0118] S121, determining a line-end through-hole matrix and a non-line-end through-hole matrix according to the through-hole matrix.

[0119] S122, according to the line-end via matrix, the non-line-end via matrix, the design information and the via information, the first metal wire and the second metal wire are set and the via matrix is ​​updated, wherein the line-end vias in the line-end via matrix are located at the line ends of the metal wires, and the non-line-end vias in the non-line-end via matrix are located at the non-line-end positions of the metal wires.

[0120] Specifically, Figure 3 is a schematic diagram of a through-hole layout generated according to a solution of an embodiment of the present invention, with reference to Figure 3 The line end via 30 is located at one end of the first metal line 10 or the second metal line 20. The non-line end via 40 is located at the non-line end of the first metal line 10 and at the non-line end of the second metal line 20.

[0121] The first metal wire and the second metal wire are set according to the line-end via matrix, the non-line-end via matrix, the design information and the via information, and the via matrix is ​​updated: when there is no line-end via in a row of the line-end via matrix, the first metal wire can be drawn according to the non-line-end via, the design information and the via information of the row; when there is a line-end via in a row of the line-end via matrix, the first metal wire is drawn according to the line-end via, the design information and the via information; when there is no line-end via in a column of the line-end via matrix, the second metal wire can be drawn according to the non-line-end via, the design information and the via information of the column; when there is a line-end via in a column of the line-end via matrix, the second metal wire is drawn according to the line-end via, the design information and the via information.

[0122] S130, setting through holes according to the first line spacing, the second line spacing, the through hole information and the updated through hole matrix.

[0123] This embodiment determines the line-end via matrix and the non-line-end via matrix based on the via matrix, and sets the first metal wire and the second metal wire based on the line-end via matrix, the non-line-end via matrix, the design information and the via information and updates the via matrix, so that the first metal wire and the second metal wire can be set more quickly and accurately.

[0124] Based on the above embodiment, optionally, the through hole matrix is ​​a 0-1 matrix with a ratio of 1 being P;

[0125] Determining the line-end through-hole matrix and the non-line-end through-hole matrix according to the through-hole matrix includes:

[0126] Get the index array of the first non-zero element in each column of the through-hole matrix, and obtain the non-zero column index array col_arr;

[0127] Get the index array of the first non-zero element in each row of the through-hole matrix, and get the non-zero row index array row_arr;

[0128] According to the position of the first non-zero element in each row of the non-zero row index array row_arr, the matrix is ​​assigned 1 at intervals of the second line spacing to obtain the through-hole horizontal matrix Mat_Via_H;

[0129] According to the position of the first non-zero element in each column of the non-zero column index array col_arr, the matrix is ​​assigned 1 at intervals of the first line spacing to obtain the through-hole vertical matrix Mat_Via_V;

[0130] Determine the line end via matrix Mat_Via_LE according to the via horizontal matrix Mat_Via_H, the via vertical matrix Mat_Via_V and the via matrix Mat_Via;

[0131] The non-line end via matrix Mat_Via_NLE is determined according to the via matrix and the line end via matrix.

[0132] Specifically, the line-end via matrix can be determined by the following formula: Mat_Via_LE=Mat_Via_H&Mat_Via_V&Mat_Via, that is, the line-end via matrix is ​​obtained by performing a logical AND operation on the via horizontal matrix Mat_Via_H, the via vertical matrix Mat_Via_V and the via matrix.

[0133] The non-line end via matrix can be determined by the following formula: Mat_Via_NLE = Mat_Via^

[0134] Mat_Via_LE, that is, setting the 1s corresponding to the line-end vias in the via matrix to zero to obtain the non-line-end via matrix.

[0135] Figure 4 is a flowchart of another method for determining a through-hole test layout of a chip provided by an embodiment of the present invention, with reference to Figure 4 Optionally, the method for determining the through-hole test layout of a chip includes the following steps:

[0136] S110 , randomly generate a through hole matrix according to design information of the first metal wire in the first metal layer and the second metal wire in the second metal layer.

[0137] S121, determining a line-end through-hole matrix and a non-line-end through-hole matrix according to the through-hole matrix.

[0138] S1221. Determine the position of each row of line-end vias in the line-end via matrix. If there is no line-end via in a row, set the first metal wire of the row according to the non-line-end vias, design information and via information of the row in the non-line-end via matrix. If there is a line-end via in a row, set the first metal wire of the row according to the line-end via, design information and via information.

[0139] S1222. Determine the position of each column of line-end vias in the line-end via matrix. If there is no line-end via in a column, set the second metal wire of the column according to the non-line-end vias, design information and via information of the column in the non-line-end via matrix. If there is a line-end via in a column, set the second metal wire of the column according to the line-end via, design information and via information.

[0140] S130, setting through holes according to the first line spacing, the second line spacing, the through hole information and the updated through hole matrix.

[0141] This embodiment can quickly and accurately draw the first metal line and the second metal line.

[0142] On the basis of the above embodiment, optionally, if there is no wireless end via in a row, setting the first metal line of the row according to the non-wire end vias, design information and via information of the row in the non-wire end via matrix includes:

[0143] Obtain the positions of the non-line-end vias in this row of the non-line-end via matrix;

[0144] If there are no non-line-end vias in this row, randomly set the first metal line according to the design information;

[0145] If there are non-line-end vias in this row, determine the first left end position of the first metal line, and check if there is a via within the minimum surrounding distance of the first left end position. If there is, remove the via or update the first left end position so that there is no via within the minimum surrounding distance of the first left end position;

[0146] Determine the first random wire length according to the minimum wire length and the maximum wire length;

[0147] Determine the first right end position of the first metal line based on the first left end position and the first random wire length, and check if there is a via within the minimum surrounding distance of the first right end position. If there is, update the first right end position so that there is no via within the minimum surrounding distance from the first right end position;

[0148] Set the first metal line according to the first left end position and the first right end position;

[0149] Randomly determine the first random spacing value according to the first minimum wire spacing and the first maximum wire spacing, and remove the vias located to the right of the first right end and with a distance less than the first random spacing value from the first right end position;

[0150] Update the first left end position according to the first right end position and the first random spacing value.

[0151] Specifically, (1) Obtain the non-zero list of this row in the non-line-end via matrix Mat_Via_NLE.

[0152] (2) If the number of elements in the non-zero list is 0, randomly draw the first metal line of the current row according to the design rules.

[0153] (3) If the number of elements in the non-zero list is not 0, set total_x1 = start_x; start_x is the leftmost x value of the layout, and end_x is the rightmost x value of the layout.

[0154] (4) When total_x1 < end_x, execute step (5); otherwise, end.

[0155] (5) Set the first left end position of the first metal line wire_left1 = total_x1, and check if there is a via near the first left end position wire_left1. If there is, update wire_left1 or remove the via according to the design rules of the via and the metal line.

[0156] Specifically, determine whether there is a through hole within the minimum enclosing distance from the first left end position wire_left1. When there is a through hole within the minimum enclosing distance, the first left end position wire_left1 is too close to the through hole or partially overlaps with it. In this case, the first left end position wire_left1 can be adjusted to make the distance between the first left end position wire_left1 and the edge of the through hole greater than the minimum enclosing distance. If this cannot be achieved by adjusting the first left end position wire_left1, the through hole is removed.

[0157] (6) Determine a first random wire length wire_len1 according to the minimum wire length and the maximum wire length, and calculate a first right end position wire_right1 of the first metal wire according to the first left end position wire_left1 and the first random wire length wire_len1.

[0158] (7) Determine whether there is a through hole near wire_right1. If so, update wire_right1 according to the design rules.

[0159] Specifically, it is determined whether there is a through hole within the minimum enclosing distance from the first right end position wire_right1. If there is a through hole within the minimum enclosing distance, the first right end position wire_right1 is too close to the through hole or partially overlaps with the through hole, and the first right end position wire_right1 can be adjusted so that the distance between the first right end position wire_right1 and the through hole edge is greater than the minimum enclosing distance.

[0160] (8) The first left end position wire_left1 and the first right end position wire_right1 determine the lower left corner and upper right corner coordinates of the first metal wire, and the first metal wire is drawn according to the lower left corner and upper right corner coordinates.

[0161] (9) Randomly determine a first random spacing value t2t1 according to the first minimum line spacing and the first maximum line spacing.

[0162] (10) Set the through holes located to the right of the first right end position wire_right1 and whose distance from the first right end position wire_right1 is less than the first random spacing value to 0.

[0163] Specifically, Figure 5 is a schematic diagram of a first metal line and a through hole according to an embodiment of the present invention, with reference to Figure 5 If the distance between the edge of the first through hole 301 and the right end of the first metal wire is less than the minimum surrounding distance L1, the first right end position wire_right1 is adjusted so that the distance between the edge of the first through hole 301 and the right end position wire_right1 of the first metal wire is greater than or equal to the minimum surrounding distance L1. Figure 5L2 is the first random spacing value, and if the second through hole 302 is located within the first random spacing value L2 at the right end of the first metal line, the second through hole 302 is removed.

[0164] (101) Update total_x1, total_x1=total_x1+(wire_right1-wire_left1)+t2t1, and execute step (4).

[0165] The coordinates of the lower left corner and the upper right corner of the first metal wire are determined according to the first left end position wire_left1 and the first right end position wire_right1: the coordinate value Y of the lower edge of the first metal wire is calculated according to the row where the first metal wire is currently located, and the coordinate value Yu of the upper edge is Y+the line width of the first metal wire. The coordinates of the lower left corner of the first metal wire are determined according to the first left end position wire_left1 and the coordinates of the lower edge, and the coordinates of the upper right corner of the first metal wire are determined according to the first right end position wire_right1 and the coordinates of the upper edge.

[0166] It should be noted that, in this embodiment, all left end positions are the horizontal coordinates of the left end of the first metal wire, and all right end positions are the horizontal coordinates of the right end of the first metal wire. The left end of the first metal wire is the end of the first metal wire adjacent to the coordinate zero point along the first direction, and the right end is the end of the first metal wire away from the coordinate zero point along the first direction. In this embodiment, all lower end positions are the vertical coordinates of the lower end of the second metal wire, and all upper end positions are the vertical coordinates of the upper end of the second metal wire. The lower end of the second metal wire is the end of the second metal wire adjacent to the coordinate zero point in the second direction, and the upper end is the end of the second metal wire away from the coordinate zero point in the second direction. All "left sides" refer to the side adjacent to the coordinate zero point along the first direction, all "right sides" refer to the side away from the coordinate zero point along the first direction, all "lower sides" refer to the side adjacent to the coordinate zero point along the second direction, and all "right sides" refer to the side away from the coordinate zero point along the second direction.

[0167] On the basis of the above embodiment, optionally, if there is no wireless end via in a column, setting the second metal line of the column according to the non-wire end via, design information and via information of the column in the non-wire end via matrix includes:

[0168] Obtaining the position of the non-line end through hole in the column in the non-line end through hole matrix;

[0169] If the column has no non-line-end vias, randomly setting the second metal line according to the design information;

[0170] If there is a non-line end through hole in the column, determine the first lower end position of the second metal line, and judge whether there is a through hole within the minimum surrounding distance of the first lower end position of the second metal line. If there is, remove the through hole or update the first lower end position so that there is no through hole within the minimum surrounding distance of the first lower end position.

[0171] Determine a second random line length according to the minimum line length and the maximum line length;

[0172] Determine the first upper end position of the second metal wire according to the first lower end position and the second random line length, and determine whether there is a through hole within the minimum enclosing distance of the first upper end position, and if so, update the first upper end position so that there is no through hole within the minimum enclosing distance from the first upper end position;

[0173] Disposing a second metal wire according to the first lower end position and the first upper end position;

[0174] Randomly determine a second random spacing value according to the second minimum spacing and the second maximum line spacing, and remove the through holes located above the first upper end and whose distance from the first upper end is less than the second random spacing value;

[0175] The first lower end position is updated according to the first upper end position and the second random spacing value.

[0176] Specifically, the present embodiment is similar to the process of setting the first metal line of a row of wireless end vias in the above embodiment according to the non-wire end vias, design information and via information of the row in the non-wire end via matrix, and will not be repeated here.

[0177] Based on the above embodiment, optionally, if there is a line end via in a row, setting the first metal line of the row according to the line end via, the design information and the via information includes:

[0178] According to the position of the first line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, a first metal line is arranged before the first line end via;

[0179] According to the positions, maximum line length, minimum line length, first minimum line spacing, first maximum line spacing and through-hole information of two adjacent line-end through-holes in a row, a first metal line is arranged between the two adjacent line-end through-holes; wherein the first metal line covers the line-end through-hole adjacent to the first metal line and located on the left side thereof;

[0180] A first metal line is arranged after the last line end via in a row according to the position of the last line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information.

[0181] Specifically, the number of first metal wires disposed before the first wire-end through-hole in a row may be one, two or more, and the specific number is not specifically limited in this embodiment. The first metal wire before the first wire-end through-hole in a row does not overlap with the first wire-end through-hole. The first first metal wire between two wire-end through-holes in a row overlaps with the wire-end through-hole at the left end of the two wire-end through-holes, and the first metal wire between the two wire-end through-holes does not overlap with the wire-end through-hole at the right end of the two wire-end through-holes. The number of first metal wires disposed after the last wire-end through-hole in a row may be one, two or more, and the specific number is not specifically limited in this embodiment. The first first metal wire after the last wire-end through-hole in a row overlaps with the last wire-end through-hole.

[0182] Based on the above embodiment, optionally, if there is a line end via in a column, setting the second metal line of the column according to the line end via includes:

[0183] Disposing a second metal line before the first line end via in a column according to a position of the first line end via in a column, a maximum line length, a minimum line length, a second minimum line spacing, and a second maximum line spacing;

[0184] According to the positions, the maximum line length, the minimum line length, the second minimum spacing and the second maximum spacing of two adjacent line end through holes in a certain column, a second metal wire is arranged between the two adjacent line end through holes; wherein the second metal wire covers the line end through hole adjacent to and located below the second metal wire;

[0185] A second metal line is disposed after the last line end via in a column according to the position of the last line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, and the second maximum spacing.

[0186] Specifically, the number of second metal wires arranged before the first wire-end through-hole in a certain column may be one, two or more, and the specific number is not specifically limited in this implementation. The second metal wire before the first wire-end through-hole in a certain column does not overlap with the first wire-end through-hole. The number of second metal wires arranged between two wire-end through-holes in a certain column may be one, two or more, and the specific number is not specifically limited in this implementation. The first second metal wire between two wire-end through-holes in a certain column overlaps with the wire-end through-hole at the lower end of the two wire-end through-holes, and the second metal wire between the two wire-end through-holes does not overlap with the wire-end through-hole at the upper end of the two wire-end through-holes. The number of second metal wires arranged after the last wire-end through-hole in a certain column may be one, two or more, and the specific number is not specifically limited in this implementation. The first second metal wire after the last wire-end through-hole in a certain column overlaps with the last wire-end through-hole.

[0187] Based on the above embodiment, optionally, according to the position of the first line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, setting the first metal line before the first line end via includes:

[0188] (11) determining whether the length between the first starting position start_x1 where the first metal line is drawn and the first ending position end_x1 where the first metal line is drawn is greater than the sum of the minimum line length of the first metal line and the first minimum line spacing; if so, executing step (12); otherwise, terminating the drawing of the first metal line;

[0189] (12) If the first starting position start_x1 is smaller than the first ending position end_x1, a third random spacing value t2t is randomly determined according to the first minimum line spacing and the first maximum line spacing;

[0190] (13) removing the through hole located before the first end position end_x1 and the distance between the through hole and the first end position end_x1 being less than the first preset distance, wherein the first preset distance is equal to the sum of the minimum enclosing distance and the third random spacing value t2t;

[0191] (14) calculating the second right end position wire_right2 of the first metal wire according to the first end position end_x1 and the third random spacing value t2t3;

[0192] (15) randomly select a third random wire length wire_len3 of the first metal wire according to the maximum wire length and the minimum wire length; if the distance from the second right end position wire_right2 to the first starting position start_x is not greater than the maximum wire length max_len, calculate the second left end position wire_left2 of the first metal wire according to the second right end position wire_right2 and the third random wire length wire_len3, and set the first metal wire according to the second left end position wire_left2 and the second right end position wire_right2;

[0193] (16) Set the first end position end_x1 equal to the second left end position wire_left2, and continue to execute step (11).

[0194] Specifically, before the first end position refers to the left side of the first end position. The first end position when drawing a line for the first time can be determined according to the left edge position of the first line end through hole of the row, and the left edge position is determined according to the center position of the through hole and the width of the through hole along the first direction. The first starting position can be the leftmost position of the layout. Figure 6 is a schematic diagram of a first line end via and a first metal line, referring to Figure 6, the first end position end_x1 is located to the left of the left edge of the first wire end through hole 303. Exemplarily, the distance between the first end position end_x1 and the left edge of the first wire end through hole 303 is greater than or equal to the minimum enclosing distance. The second right end position wire_right2 of the first metal wire is calculated based on the first end position end_x1 and the third random spacing value t2t3. The second right end position wire_right2 is located before the first end position end_x1, and the distance between the second right end position wire_right2 and the first end position end_x1 is greater than or equal to the third random spacing value t2t3. The through holes within the first preset distance D1 before the first end position end_x1 are removed to ensure that there are no through holes near the first right end position wire_right2.

[0195] The first metal wire is set according to the second left end position wire_left2 and the second right end position wire_right2 as follows: the lower edge coordinate value Yl of the first metal wire is calculated according to the row where the first metal wire is currently located, and the upper edge coordinate value Yu1=Yl+the line width of the first metal wire. The lower left corner coordinate of the first metal wire is determined according to the second left end position and the lower edge coordinate, the upper right corner coordinate of the first metal wire is determined according to the second right end position and the upper edge coordinate, and the first metal wire is drawn according to the lower left corner coordinate and the upper right corner coordinate.

[0196] On the basis of the above embodiment, optionally, according to the position of the first line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum line spacing and the via information, a second metal line is arranged before the first line end via, including:

[0197] (21) determining whether the length between the second starting position at which the second metal line is drawn and the second ending position at which the second metal line is drawn is greater than the sum of the minimum line length of the second metal line and the first minimum line spacing; if so, executing step (22); otherwise, terminating the drawing of the second metal line;

[0198] (22) if the second starting position is smaller than the second starting and ending position, randomly determining a fourth random spacing value according to the second minimum spacing and the second maximum line spacing;

[0199] (23) removing the through hole that is located before the second end position and whose distance from the second end position is less than a second preset distance; wherein the second preset distance is equal to the sum of the fourth random spacing value and the minimum enclosing distance;

[0200] (24) calculating a second upper end position of the second metal wire according to the second end position and the fourth random spacing value;

[0201] (25) randomly selecting a fourth random line length of the second metal wire according to the maximum line length and the minimum line length; if the distance from the second upper end position to the second starting position is not greater than the maximum line length, calculating the second lower end position of the second metal wire according to the second upper end position and the fourth random line length, and setting the second metal wire according to the second lower end position and the second upper end position;

[0202] (26) Set the second end line drawing position equal to the second lower end position, and continue to execute step (21).

[0203] Specifically, this embodiment is similar to setting the first metal wire before the first line end through hole according to the position of the first line end through hole in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the through hole information, and will not be repeated here. The difference is that the second end position in this embodiment is determined according to the lower edge of the first line end through hole in the column, and the second end position is located on the lower side of the lower edge of the first line end through hole, and the distance from the lower side of the lower edge of the first line end through hole is greater than or equal to the minimum enclosing distance. The lower edge is determined according to the center position of the first line end through hole and the width of the through hole along the second direction. The second starting position is the lowermost position of the layout.

[0204] On the basis of the above embodiment, optionally, according to the positions of two adjacent line end vias in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, a first metal line is set between two adjacent line end vias, including:

[0205] (31) If the third starting position start_x3 of drawing the first metal line is less than the third ending position end_x3 of drawing the first metal line, execute step (32); otherwise, the drawing of the first metal line ends.

[0206] When the first metal wire in two adjacent line-end through holes is drawn for the first time, the third starting position start_x3 is determined according to the left through hole of the two adjacent line-end through holes, the third starting position start_x3 is located on the left side of the left edge of the left through hole, and the distance between the third starting position start_x3 and the left side of the left edge of the left through hole is greater than or equal to the minimum enclosing distance. The third ending position end_x3 is determined according to the right through hole of the two adjacent line-end through holes, and the third ending position end_x3 is located on the left side of the left edge of the right through hole. The left edge is determined according to the center position of the through hole and the width of the through hole along the first direction.

[0207] (32) The third left end position wire_left3 of the first metal wire is set to be equal to the third starting position start_x3, and the fifth random wire length wire_len5 of the first metal is randomly selected according to the maximum wire length and the minimum wire length.

[0208] (33) Determine the third right end position wire_right3 of the first metal wire according to the third left end position wire_left3 and the fifth random wire length wire_len5, and draw the first metal wire according to the third left end position and the third right end position.

[0209] Among them, wire_right3=wire_left3+wire_len5. Drawing the first metal wire according to the third left end position and the third right end position is specifically as follows: the lower edge coordinate value Y2 of the first metal wire is calculated according to the row where the current first metal wire is located, and the upper edge coordinate value Yu2=Y2+the line width of the first metal wire. The lower left corner coordinate of the first metal wire is determined according to the third left end position and the lower edge coordinate, the upper right corner coordinate of the first metal wire is determined according to the third right end position and the upper edge coordinate, and the first metal wire is drawn according to the lower left corner coordinate and the upper right corner coordinate.

[0210] (34) A fifth random spacing value t2t5 is randomly determined based on the first minimum line spacing and the first maximum line spacing.

[0211] (35) The through hole located on the right side of the third right end position wire_right3 and whose distance to the third right end position wire_right3 is less than the fifth random distance value t2t5 is removed, and the through hole located on the left side of the third right end position wire_right3 and whose distance to the third right end position wire_right3 is less than the minimum enclosing distance is removed.

[0212] (36) Update the third starting position according to the third starting position, the third left end position, the third right end position and the fifth random spacing value, and continue to execute step (31).

[0213] Specifically, start_x3=start_x3+(wire_right3-wire_left3)+t2t5.

[0214] On the basis of the above embodiment, optionally, according to the positions, maximum line length, minimum line length, second minimum spacing, second maximum line spacing and through-hole information of two adjacent line-end through-holes in a column, a second metal line is set between two adjacent line-end through-holes, including:

[0215] (41) If the fourth starting position of drawing the second metal line is smaller than the fourth ending position of drawing the second metal line, then execute step (42); otherwise, the drawing of the second metal line ends.

[0216] (42) setting the third lower end position of the second metal wire equal to the fourth starting position, and randomly selecting a sixth random wire length of the first metal according to the maximum wire length and the minimum wire length;

[0217] (43) determining a third upper end position of the second metal wire according to the third lower end position and the sixth random line length, and drawing the first metal wire according to the third lower end position and the third upper end position;

[0218] (44) randomly determining a sixth random spacing value according to the first minimum line spacing and the first maximum line spacing;

[0219] (45) removing the through holes located above the third upper end position and having a spacing from the third upper end position less than the sixth random spacing value, and removing the through holes located below the third upper end position and having a spacing from the third upper end position less than the minimum enclosing distance;

[0220] (46) Update the fourth starting position according to the fourth starting position, the third lower end position, the third upper end position and the sixth random spacing value, and continue to execute step (41).

[0221] Specifically, this embodiment is similar to the process of setting the first metal wire between two adjacent line end through holes according to the positions of two adjacent line end through holes in a row, the maximum line length, the minimum line length, the first minimum line spacing and the first maximum line spacing, and will not be repeated here. What is different from the above embodiment is that when the second metal wire in the two adjacent line end through holes is drawn for the first time, the fourth starting position is determined according to the lower through hole in the two adjacent line end through holes, and the fourth starting position is located on the lower side of the lower edge of the lower through hole, and the distance from the lower edge is greater than or equal to the minimum enclosing distance. The fourth ending position is determined according to the upper through hole in the two adjacent line end through holes, and the fourth ending position is located on the lower side of the lower edge of the upper through hole. The lower edge is determined according to the center position of the through hole and the width of the through hole along the second direction.

[0222] Optionally, according to the position of the last line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, setting the first metal line after the last line end via includes:

[0223] (51) If the fifth starting position start_x5 of drawing the first metal line is less than the fifth ending position end_x5 of drawing the first metal line, execute step (52), otherwise the drawing of the metal line ends.

[0224] The initial fifth starting position is determined according to the position of the last line end through hole, and the fifth starting position is located to the left of the left edge of the last line end through hole, and the distance from the left edge is greater than or equal to the minimum edge distance. The fifth ending position end_x5 is the rightmost position of the layout.

[0225] (52) The fourth left end position of the first metal wire is set equal to the fifth starting position, and the seventh random wire length wire_len7 of the first metal is randomly selected according to the maximum wire length and the minimum wire length.

[0226] Among them, wire_left4=start_x5.

[0227] (53) Determine the fourth right end position wire_right4 of the first metal wire according to the fourth left end position wire_left4 and the seventh random wire length wire_len7, and draw the first metal wire according to the fourth left end position wire_left4 and the fourth right end position wire_right.

[0228] Specifically, wire_right4=wire_left4+wire_len7. Drawing the first metal wire according to the fourth left end position and the fourth right end position is specifically as follows: the lower edge coordinate value Y3 of the first metal wire is calculated according to the row where the current first metal wire is located, and the upper edge coordinate value Yu3=Y3+the line width of the first metal wire. The lower left corner coordinate of the first metal wire is determined according to the fourth left end position and the lower edge coordinate, the upper right corner coordinate of the first metal wire is determined according to the fourth right end position and the upper edge coordinate, and the first metal wire is drawn according to the lower left corner coordinate and the upper right corner coordinate.

[0229] (54) randomly determining a seventh random spacing value t2t7 according to the first minimum line spacing and the first maximum line spacing;

[0230] (55) removing the through hole located to the right of the fourth right end position and having a distance from the fourth right end position less than the seventh random distance value, and removing the through hole located to the left of the fourth right end position and having a distance from the fourth right end position less than the minimum enclosing distance;

[0231] (56) Update the fifth starting position start_x5 according to the fifth starting position start_x5, the fourth left end position wire_lef4, the fourth right end position wire_right4 and the seventh random spacing value t2t7, and continue to execute step (51).

[0232] Among them, start_x5=start_x5+(wire_right4-wire_lef4)+t2t7.

[0233] Optionally, according to the position of the last line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum line spacing and the via information, setting a second metal line after the last line end via comprises:

[0234] (61) If the sixth starting position of drawing the second metal line is smaller than the sixth ending position of drawing the second metal line, execute step (62), otherwise the drawing of the metal line ends;

[0235] (62) setting the fourth lower end position of the second metal wire equal to the sixth starting position, and randomly selecting the eighth random wire length of the first metal according to the maximum wire length and the minimum wire length;

[0236] (63) determining a fourth upper end position of the first metal wire according to the fourth lower end position and the eighth random line length, and drawing the first metal wire according to the fourth lower end position and the fourth upper end position;

[0237] (64) randomly determining an eighth random spacing value according to the first minimum line spacing and the first maximum line spacing;

[0238] (65) removing the through holes located above the fourth upper end position and having a spacing from the fourth upper end position less than the eighth random spacing value, and removing the through holes located below the fourth upper end position and having a spacing from the fourth upper end position less than the minimum enclosing distance;

[0239] (66) Update the sixth starting position according to the sixth starting position, the fourth upper end position, the fourth lower end position and the eighth random spacing value, and continue to execute step (61).

[0240] Specifically, this embodiment is similar to the process of setting the second metal wire after the last line end through hole according to the position of the last line end through hole in a column, the maximum line length, the minimum line length, the second minimum spacing and the second maximum spacing, and will not be repeated here. The difference is that the initial sixth starting position is located at the lower side of the lower edge of the last line end through hole, and the distance from the lower edge is greater than or equal to the minimum edge distance. The sixth end position end_x5 is the uppermost position of the layout.

[0241] Based on the above embodiment, optionally, setting the through hole according to the first line spacing, the second line spacing, the through hole information and the updated through hole matrix includes:

[0242] Get the updated non-zero position information list of the through-hole matrix;

[0243] Calculate the horizontal offset information and vertical offset information of each through hole in the non-zero position information list;

[0244] The center position of each through hole is determined according to the coordinates of the row or column where the through hole is located, the first line spacing, the second line spacing, the horizontal offset information and the vertical offset information, and the through hole is drawn according to the center position, the width of the through hole along the first direction and the width of the through hole along the second direction.

[0245] Specifically, the horizontal offset information is determined according to the line width of the second metal line and the width of the through hole along the second direction, and the vertical offset information is determined according to the line width of the first metal line and the width of the through hole along the first direction. The horizontal offset information and the vertical offset information are considered when determining the center position of the through hole so that the center of the through hole is located on the line width center line of the first metal line and the line width center line of the second metal line. The specific calculation method of the horizontal offset information and the vertical offset information is not specifically limited in this embodiment.

[0246] Exemplarily, the horizontal offset information x = (the line width of the second metal line - the width of the through hole along the first direction via_x) / 2, and the vertical offset information y = (the line width of the first metal line - the width of the through hole along the second direction via_y) / 2. The coordinates of each first metal line are based on the coordinates of its upper edge or lower edge, and the coordinates of each second metal line are based on the coordinates of its left edge or right edge. Exemplarily, the lower edge coordinates of the first metal line in the first row are 0, the lower edge coordinates of the first metal line in the second row are the first line spacing, and the lower edge coordinates of the first metal line in the third row are twice the first line spacing..., the left edge coordinates of the first metal line in the first column are 0, the left edge coordinates of the second metal line in the second column are the second line spacing, and the left edge coordinates of the second metal line in the third column are twice the second line spacing... Therefore, the lower edge coordinates of the first metal line in the row where the through hole is located can be determined by the first line spacing. To ensure that the through hole is located at the center of the first metal line, the lower edge coordinates of the first metal line in the row where the through hole is located + the width of the through hole along the second direction / 2 + the vertical offset information can be determined as the ordinate of the through hole. The left edge coordinates of the second metal line in the column where the through hole is located can be determined by the second line spacing. To ensure that the through hole is located at the center of the second metal line, the left edge coordinates of the second metal line in the column where the through hole is located + the width of the through hole along the first direction / 2 + the horizontal offset information can be determined as the horizontal coordinate of the through hole.

[0247] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.

[0248] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A method for determining a through-hole test layout of a chip, characterized in that: include: A through-hole matrix is ​​randomly generated according to design information of a first metal line in a first metal layer and a second metal line in a second metal layer; wherein the first metal line extends along a first direction, the second metal line extends along a second direction, and the first direction and the second direction intersect each other; the design information includes at least one of a layout size, a line width of the first metal line, a line width of the second metal line, a first line spacing of first metal lines adjacent to each other along the second direction, a second line spacing of second metal lines adjacent to each other along the first direction, a maximum line length, a minimum line length, a first minimum line spacing and a first maximum line spacing of first metal lines adjacent to each other along the first direction, a second minimum line spacing and a second maximum line spacing of second metal lines adjacent to each other along the second direction, and a through-hole ratio; According to the through-hole matrix, the design information and the through-hole information, the first metal line and the second metal line are set and the through-hole matrix is ​​updated; wherein the through-hole information includes the width of the through-hole along the first direction, the width of the through-hole along the second direction and the minimum enclosing distance between the edge of the through-hole and the line end of the metal line covering it; The vias are arranged according to the first line spacing, the second line spacing, the via information and the updated via matrix.

2. The method for determining a through-hole test layout of a chip according to claim 1, characterized in that: Setting the position of each first metal line and the second metal line according to the through-hole matrix, the design information and the through-hole information and updating the through-hole matrix includes: Determining a line-end through-hole matrix and a non-line-end through-hole matrix according to the through-hole matrix; The first metal wire and the second metal wire are set and the via matrix is ​​updated according to the line-end via matrix, the non-line-end via matrix, the design information and the via information; wherein the line-end vias in the line-end via matrix are located at the line ends of the metal wires, and the non-line-end vias in the non-line-end via matrix are located at the non-line-end positions of the metal wires.

3. The method for determining a through-hole test layout of a chip according to claim 2, characterized in that: The through hole matrix is ​​a 0-1 matrix with a ratio of 1 being P; Determining a line-end through-hole matrix and a non-line-end through-hole matrix according to the through-hole matrix includes: Obtaining the index array of the first non-zero element in each column of the through-hole matrix to obtain a non-zero column index array; Obtaining the index array of the first non-zero element in each row of the through-hole matrix to obtain a non-zero row index array; According to the position of the first non-zero element in each row of the non-zero row index array, the matrix is ​​assigned 1 at intervals of the second line spacing to obtain a through-hole horizontal matrix; According to the position of the first non-zero element in each column of the non-zero column index array, the matrix is ​​assigned 1 at intervals of the first line spacing to obtain a through-hole vertical matrix; Determine the line end through hole matrix according to the through hole horizontal matrix, the through hole vertical matrix and the through hole matrix; The non-line end via matrix is ​​determined based on the via matrix and the line end via matrix.

4. The method for determining a through-hole test layout of a chip according to claim 2, characterized in that: The first metal line and the second metal line are set according to the line-end via matrix, the non-line-end via matrix and the design information and the via matrix is ​​updated, including: Determine the position of each row of line end vias in the line end via matrix, if there is no line end via in a row, set the first metal wire of the row according to the non-line end vias, design information and via information of the row in the non-line end via matrix, if there is a line end via in a row, set the first metal wire of the row according to the line end vias, design information and via information; Determine the position of each column of line-end vias in the line-end via matrix; if there is no line-end via in a column, set the second metal wire of the column according to the non-line-end vias, design information and via information of the column in the non-line-end via matrix; if there is a line-end via in a column, set the second metal wire of the column according to the line-end via, design information and via information.

5. The method for determining a through-hole test layout of a chip according to claim 4, characterized in that: If there is no wireless end via in a row, setting the first metal line of the row according to the non-wire end vias, design information and via information of the row in the non-wire end via matrix includes: Obtaining the position of the non-line end through hole in the row in the non-line end through hole matrix; If the row has no non-line-end via, randomly arranging the first metal line according to the design information; If there is a non-line end through hole in the row, determine the first left end position of the first metal line, and judge whether there is a through hole within the minimum enclosing distance of the first left end position; if there is, remove the through hole or update the first left end position so that there is no through hole within the minimum enclosing distance of the first left end position; Determine a first random line length according to the minimum line length and the maximum line length; Determine the first right end position of the first metal wire according to the first left end position and the first random line length, and determine whether there is a through hole within the minimum enclosing distance of the first right end position, and if so, update the first right end position so that there is no through hole within the minimum enclosing distance from the first right end position; Disposing a first metal wire according to the first left end position and the first right end position; Randomly determine a first random spacing value according to the first minimum line spacing and the first maximum line spacing, and remove the through holes located to the right of the first right end and whose distance from the first right end is less than the first random spacing value; Update the first left end position according to the first right end position and the first random spacing value; If there is no wireless end via in a column, setting the second metal line of the column according to the non-wire end vias, design information and via information of the column in the non-wire end via matrix includes: Obtaining the position of the non-line end through hole in the column in the non-line end through hole matrix; If the column has no non-line-end vias, randomly setting the second metal line according to the design information; If there is a non-line end through hole in the column, determine the first lower end position of the second metal line, and judge whether there is a through hole within the minimum surrounding distance of the first lower end position of the second metal line, and if there is, remove the through hole or update the first lower end position so that there is no through hole within the minimum surrounding distance of the first lower end position; Determine a second random line length according to the minimum line length and the maximum line length; Determine the first upper end position of the second metal wire according to the first lower end position and the second random line length, and determine whether there is a through hole within the minimum enclosing distance of the first upper end position, and if so, update the first upper end position so that there is no through hole within the minimum enclosing distance from the first upper end position; Disposing a second metal wire according to the first lower end position and the first upper end position; Randomly determine a second random spacing value according to the second minimum spacing and the second maximum line spacing, and remove the through holes located above the first upper end and whose distance from the first upper end is less than the second random spacing value; The first lower end position is updated according to the first upper end position and the second random spacing value.

6. The method for determining a through-hole test layout of a chip according to claim 4, characterized in that: If there is a line end via in a row, setting a first metal line of the row according to the line end via, the design information and the via information includes: According to the position of the first line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, a first metal line is arranged before the first line end via; According to the positions, maximum line length, minimum line length, first minimum line spacing, first maximum line spacing and through-hole information of two adjacent line-end through-holes in a row, a first metal line is arranged between the two adjacent line-end through-holes; wherein the first metal line covers the line-end through-hole adjacent to the first metal line and located on the left side thereof; According to the position of the last line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, a first metal line is arranged after the last line end via; If there is a line end via in a column, setting a second metal line in the column according to the line end via, the design information and the via information includes: According to the position of the first line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum spacing and the via information, a second metal line is arranged before the first line end via; According to the positions, maximum line length, minimum line length, second minimum spacing, second maximum spacing and via information of two adjacent line end vias in a column, a second metal line is arranged between the two adjacent line end vias; wherein the second metal line covers the line end via that is adjacent to and located below the second metal line; A second metal line is arranged after the last line end via in a column according to the position of the last line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum spacing and the via information.

7. The method for determining a through-hole test layout of a chip according to claim 6, characterized in that: According to a position of a first line end via in a row, a maximum line length, a minimum line length, a first minimum line spacing, a first maximum line spacing, and via information, setting a first metal line before the first line end via comprises: (11) determining whether the length between the first starting position at which the first metal line is drawn and the first ending position at which the first metal line is drawn is greater than the sum of the minimum line length of the first metal line and the first minimum line spacing; if so, executing step (12); otherwise, terminating the drawing of the first metal line; (12) if the first starting position is smaller than the first ending position, randomly determining a third random spacing value according to the first minimum line spacing and the first maximum line spacing; (13) removing the through hole that is located before the first end position and whose distance from the first end position is less than a first preset distance; wherein the first preset distance is equal to the sum of the third random spacing value and the minimum enclosing distance; (14) calculating a second right end position of the first metal wire according to the first end position and the third random spacing value; (15) randomly selecting a third random line length of the first metal wire according to the maximum line length and the minimum line length; if the distance from the second right end position to the first starting position is not greater than the maximum line length, calculating the second left end position of the first metal wire according to the second right end position and the third random line length, and setting the first metal wire according to the second left end position and the second right end position; (16) Setting the first end position equal to the second left end position, and continuing with step (11); According to the position of the first line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum spacing and the via information, a second metal line is set before the first line end via, including: (21) determining whether the length between the second starting position at which the second metal line is drawn and the second ending position at which the second metal line is drawn is greater than the sum of the minimum line length of the second metal line and the first minimum line spacing; if so, executing step (22); otherwise, terminating the drawing of the second metal line; (22) if the second starting position is smaller than the second starting and ending position, randomly determining a fourth random spacing value according to the second minimum spacing and the second maximum line spacing; (23) removing the through hole that is located before the second end position and whose distance from the second end position is less than a second preset distance; wherein the second preset distance is equal to the sum of the fourth random spacing value and the minimum enclosing distance; (24) calculating a second upper end position of the second metal wire according to the second end position and the fourth random spacing value; (25) randomly selecting a fourth random line length of the second metal wire according to the maximum line length and the minimum line length; if the distance from the second upper end position to the second starting position is not greater than the maximum line length, calculating the second lower end position of the second metal wire according to the second upper end position and the fourth random line length, and setting the second metal wire according to the second lower end position and the second upper end position; (26) Set the second end line drawing position equal to the second lower end position, and continue to execute step (21).

8. The method for determining a through-hole test layout of a chip according to claim 6, characterized in that: According to the positions of two adjacent line end vias in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and via information, a first metal line is arranged between the two adjacent line end vias, including: (31) If the third starting position of drawing the first metal line is smaller than the third ending position of drawing the first metal line, then execute step (32); otherwise, the drawing of the first metal line ends. (32) setting the third left end position of the first metal wire equal to the third starting position, and randomly selecting a fifth random wire length of the first metal according to the maximum wire length and the minimum wire length; (33) determining a third right end position of the first metal wire according to the third left end position and the fifth random line length, and drawing the first metal wire according to the third left end position and the third right end position; (34) randomly determining a fifth random spacing value according to the first minimum line spacing and the first maximum line spacing; (35) removing the through hole located to the right of the third right end position and having a distance from the third right end position less than the fifth random distance value, and removing the through hole located to the left of the third right end position and having a distance from the third right end position less than the minimum enclosing distance; (36) updating the third starting position according to the third starting position, the third left end position, the third right end position and the fifth random spacing value, and continuing to execute step (31); According to the positions, maximum line length, minimum line length, second minimum spacing, second maximum line spacing and through-hole information of two adjacent line-end through-holes in a column, a second metal line is arranged between the two adjacent line-end through-holes, including: (41) If the fourth starting position of drawing the second metal line is smaller than the fourth ending position of drawing the second metal line, then execute step (42); otherwise, the drawing of the second metal line ends. (42) setting the third lower end position of the second metal wire equal to the fourth starting position, and randomly selecting a sixth random wire length of the first metal according to the maximum wire length and the minimum wire length; (43) determining a third upper end position of the second metal wire according to the third lower end position and the sixth random line length, and drawing the first metal wire according to the third lower end position and the third upper end position; (44) randomly determining a sixth random spacing value according to the first minimum line spacing and the first maximum line spacing; (45) removing the through holes located above the third upper end position and having a spacing from the third upper end position less than the sixth random spacing value, and removing the through holes located below the third upper end position and having a spacing from the third upper end position less than the minimum enclosing distance; (46) Update the fourth starting position according to the fourth starting position, the third lower end position, the third upper end position and the sixth random spacing value, and continue to execute step (41).

9. The method for determining a through-hole test layout of a chip according to claim 6, characterized in that: According to the position of the last line end via in a row, the maximum line length, the minimum line length, the first minimum line spacing, the first maximum line spacing and the via information, setting a first metal line after the last line end via comprises: (51) If the fifth starting position of drawing the first metal line is smaller than the fifth ending position of drawing the first metal line, execute step (52), otherwise the drawing of the metal line ends; (52) setting the fourth left end position of the first metal wire equal to the fifth starting position, and randomly selecting the seventh random wire length of the first metal according to the maximum wire length and the minimum wire length; (53) determining a fourth right end position of the first metal wire according to the fourth left end position wire_left4 and the seventh random wire length wire_len7, and drawing the first metal wire according to the fourth left end position and the fourth right end position; (54) randomly determining a seventh random spacing value according to the first minimum line spacing and the first maximum line spacing; (55) removing the through hole located to the right of the fourth right end position and having a distance from the fourth right end position less than the seventh random distance value, and removing the through hole located to the left of the fourth right end position and having a distance from the fourth right end position less than the minimum enclosing distance; (56) updating the fifth starting position according to the fifth starting position, the fourth left end position, the fourth right end position and the seventh random spacing value, and continuing to execute step (51); According to the position of the last line end via in a column, the maximum line length, the minimum line length, the second minimum spacing, the second maximum line spacing and the via information, a second metal line is set after the last line end via, including: (61) If the sixth starting position of drawing the second metal line is smaller than the sixth ending position of drawing the second metal line, execute step (62), otherwise the drawing of the metal line ends; (62) setting the fourth lower end position of the second metal wire equal to the sixth starting position, and randomly selecting the eighth random wire length of the first metal according to the maximum wire length and the minimum wire length; (63) determining a fourth upper end position of the first metal wire according to the fourth lower end position and the eighth random line length, and drawing the first metal wire according to the fourth lower end position and the fourth upper end position; (64) randomly determining an eighth random spacing value according to the first minimum line spacing and the first maximum line spacing; (65) removing the through holes located below the fourth upper end position and having a spacing from the fourth upper end position less than the eighth random spacing value, and removing the through holes located below the fourth upper end position and having a spacing from the fourth upper end position less than the minimum enclosing distance; (66) Update the sixth starting position according to the sixth starting position, the fourth upper end position, the fourth lower end position and the eighth random spacing value, and continue to execute step (61).

10. The method for determining a through-hole test layout of a chip according to claim 1, characterized in that: Setting the through hole according to the first line spacing, the second line spacing, the through hole information, and the updated through hole matrix includes: Get the updated non-zero position information list of the through-hole matrix; Calculate the horizontal offset information and vertical offset information of each through hole in the non-zero position information list; The center position of each through hole is determined according to the first line spacing, the second line spacing, the horizontal offset information and the vertical offset information, and the through hole is drawn according to the center position, the width of the through hole along the first direction and the width of the through hole along the second direction.