A method for filling a metal wire and related equipment

By using the metal wire filling method in the FinFET process, the filling requirements are judged based on the vertical coordinates of the logical points, and the filling shape is generated according to the design rules, the problem of metal wire filling complexity in the FinFET process is solved, and high-quality circuit connection and signal transmission are achieved.

CN119886038BActive Publication Date: 2025-06-13北京汤谷软件技术有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510390182.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-31
Publication Date
2025-06-13
Estimated Expiration
2045-03-31

AI Technical Summary

Technical Problem

In the FinFET process, the minimum area DRC constraint of metal wires becomes complicated, and additional conditions of multiple mask technology and FinTrack technology need to be met, resulting in the quality of wiring results being affected, and the calculation overhead of existing algorithms is large.

Method used

A metal wire filling method is proposed. By obtaining the vertical coordinates of the logical points, it determines whether metal wire filling needs to be performed, and checks the filling shape according to the design rules, and gradually adds it to the wiring results to ensure that the metal wire meets the manufacturing process requirements.

Benefits of technology

Effectively ensure the integrity of circuit connections, ensure normal signal transmission, reduce circuit performance problems and manufacturing failures caused by violation of rules, and improve design reliability and manufacturability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119886038B_ABST
    Figure CN119886038B_ABST
Patent Text Reader

Abstract

This application relates to the field of computer technologies, and discloses a metal wire filling method and related devices, including: obtaining the vertical coordinates of the currently processed logical point and the next logical point to be processed on a wiring path; if the vertical coordinates of the two are different, determining that metal wire filling is required, generating a first metal wire filling shape according to a first evaluation value obtained by performing design rule checks on a pre-filled metal wire, and adding the same to a wiring result; if the vertical coordinates of the two are the same, adding the metal area of the layer where the currently processed logical point is located to the current area to obtain an updated current area; if there is a violation in the updated current area and it is determined that metal wire filling is required according to the updated current area, generating a second metal wire filling shape according to a second evaluation value obtained by performing design rule checks on the pre-filled metal wire, and adding the same to the wiring result. The embodiments of this application can balance the performance and precision requirements of metal wire filling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more particularly, to a metal wire filling method and related equipment. Background Art

[0002] With the continuous development of the FinFET (Fin Field-Effect Transistor) process, the complexity of wiring in integrated circuit design has increased significantly. FinFET is a new transistor structure, and its emergence has changed the manufacturing process and design method of integrated circuits. In the FinFET process, due to the adoption of multiple mask technologies and FinTrack technology, the DRC constraints of the minimum area of metal wires have become more complex. In addition to meeting the single area value required by the planar process, additional conditions such as the length of all sides of the metal wire, the minimum side length, and the minimum continuous side length need to be satisfied. If these newly added additional conditions are ignored in the design and only the single area constraint is simply satisfied, the quality of the wiring result will be seriously affected. On the other hand, if all the constraint conditions are judged one by one, although the design accuracy can be guaranteed, the computational overhead of the algorithm will be increased significantly. Therefore, there is an urgent need to propose a metal wire filling method that balances the requirements of performance and accuracy. Summary of the Invention

[0003] A series of simplified concepts are introduced in the Summary of the Invention section, which will be further described in detail in the Detailed Description section. The Summary of the Invention section of this application does not mean to attempt to define the key features and essential technical features of the claimed technical solution, nor does it mean to attempt to determine the protection scope of the claimed technical solution.

[0004] In a first aspect, this application proposes a metal wire filling method, including:

[0005] Obtain the vertical coordinate of the current logic point being processed on the wiring path and the vertical coordinate of the next logic point to be processed;

[0006] If the vertical coordinates of the two are not the same, it is determined that metal wire filling is required, and a first metal wire filling shape is generated according to the first evaluation value obtained by performing design rule checking on the pre-filled metal wire, and the first metal wire filling shape is added to the wiring result;

[0007] If the vertical coordinates of the two are the same, calculate the metal area of the layer where the current logic point being processed is located, and add the calculated metal area to the current area to obtain an updated current area, where the current area is the cumulative metal area up to the current processing stage;

[0008] If there is a violation in the updated current area and it is determined that metal line filling is required based on the updated current area, then a second metal line filling shape is generated according to the second evaluation value obtained from the design rule check on the pre-filled metal line, and the second metal line filling shape is added to the routing result.

[0009] In a feasible implementation manner, generating a first metal line filling shape according to the first evaluation value obtained from the design rule check on the pre-filled metal line includes: obtaining the minimum metal area requirement or the minimum metal line length requirement of the layer where the currently processed logic point is located; using the minimum metal area requirement as the area of the pre-filled metal line, or determining the area of the pre-filled metal line according to the minimum metal line length requirement, and determining the direction of the pre-filled metal line according to the start point and the end point of the pre-filled metal line; performing a design rule check on the area of the pre-filled metal line and the direction of the pre-filled metal line, and selecting the manner that makes the first evaluation value the smallest to generate the first metal line filling shape.

[0010] In a feasible implementation manner, after adding the first metal line filling shape to the routing result, the method further includes: if it is determined according to the currently processed logic point that the routing direction is upward, updating the current area according to the via metal lower surrounding area of the next logic point to be processed; if it is determined according to the currently processed logic point that the routing direction is downward, updating the current area according to the via metal upper surrounding area of the next logic point to be processed.

[0011] In a feasible implementation manner, the method further includes: obtaining the minimum metal area requirement or the minimum metal line length requirement of the layer where the currently processed logic point is located; calculating the current technical line length according to the updated current area, and if the updated current area is less than the minimum metal area requirement, or the current technical line length is less than the minimum metal line length requirement, then determining that there is a violation in the updated current area.

[0012] In a feasible implementation manner, the method further includes: comparing the updated current area with the via metal lower surrounding area of the currently processed logic point, and taking the larger value of the two as the new current area; calculating the new current technical line length according to the new current area, and if the new current area is less than the minimum metal area requirement, or the new current technical line length is less than the minimum metal line length requirement, then determining that metal line filling is required.

[0013] In a feasible implementation manner, a second metal line filling shape is generated according to a second evaluation value obtained by performing a design rule check on a pre-filled metal line, including: calculating a difference between the minimum metal area requirement and the new current area, using the calculated difference as the area of the pre-filled metal line, and determining the direction of the pre-filled metal line according to the starting point and the ending point of the pre-filled metal line; performing a design rule check on the area of the pre-filled metal line and the direction of the pre-filled metal line, and selecting a manner that minimizes the second evaluation value to generate the second metal line filling shape.

[0014] In a feasible implementation manner, the method further includes: after adding the second metal line filling shape to the routing result, merging the upper surrounded area of the via metal corresponding to the currently processed logic point with the lower surrounded area of the metal of the upper layer via, and selecting the maximum surrounded range of the two areas as the merged metal shape; or merging the upper surrounded area of the via metal corresponding to the currently processed logic point with the upper surrounded area of the metal of the lower layer via, and selecting the maximum surrounded range of the two areas as the merged metal shape; or merging the lower surrounded area of the via metal corresponding to the currently processed logic point with the lower surrounded area of the metal of the upper layer via, and selecting the maximum surrounded range of the two areas as the merged metal shape; or merging the lower surrounded area of the via metal corresponding to the currently processed logic point with the upper surrounded area of the metal of the lower layer via, and selecting the maximum surrounded range of the two areas as the merged metal shape.

[0015] In a feasible implementation manner, obtaining the minimum metal area requirement or the minimum metal line length requirement of the layer where the currently processed logic point is located includes: obtaining the minimum area rule of the metal line of the layer where the currently processed logic point is located from a technical rule database; if the minimum area rule of the metal line is a single rule, using the minimum area in the minimum area rule of the metal line as the minimum metal area requirement; if the minimum area rule of the metal line is a complex rule, calculating a quotient value of the minimum area in the minimum area rule of the metal line and the metal line width; comparing the maximum side length in the minimum area rule of the metal line with the quotient value or comparing the minimum side length in the minimum area rule of the metal line with the quotient value, using the maximum value of the two as the minimum metal line length requirement or using the minimum value of the two as the minimum metal line length requirement, and determining the minimum metal area requirement according to the minimum metal line length requirement.

[0016] In a feasible implementation manner, determining the direction of the pre-filled metal wire according to the starting point and the ending point of the pre-filled metal wire includes: determining the starting direction of the pre-filled metal wire according to the coordinate difference in the horizontal axis direction and the coordinate difference in the vertical axis direction between the previous logical point of the currently processed logical point and the previous logical point of the previous logical point, and determining the direction of the pre-filled metal wire on one side of the starting point as the outside of the starting direction according to the starting direction of the pre-filled metal wire; determining the ending direction of the pre-filled metal wire according to the coordinate difference in the horizontal axis direction and the coordinate difference in the vertical axis direction between the currently processed logical point and the previous logical point of the currently processed logical point, and determining the direction of the pre-filled metal wire on one side of the ending point as the outside of the ending direction according to the ending direction of the pre-filled metal wire.

[0017] In a second aspect, the present application provides a metal wire filling device, including:

[0018] An acquisition unit configured to acquire the vertical coordinate of the currently processed logical point on the wiring path and the vertical coordinate of the next logical point to be processed;

[0019] A first filling unit configured to, if the vertical coordinates of the two are different, determine that metal wire filling is required, generate a first metal wire filling shape according to a first evaluation value obtained by performing a design rule check on the pre-filled metal wire, and add the first metal wire filling shape to the wiring result;

[0020] A calculation unit configured to, if the vertical coordinates of the two are the same, calculate the metal area of the layer where the currently processed logical point is located, and add the calculated metal area to the current area to obtain an updated current area, where the current area is the cumulative metal area up to the current processing stage;

[0021] A second filling unit configured to, if there is a violation in the updated current area and it is determined that metal wire filling is required according to the updated current area, generate a second metal wire filling shape according to a second evaluation value obtained by performing a design rule check on the pre-filled metal wire, and add the second metal wire filling shape to the wiring result.

[0022] In a third aspect, an electronic device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program stored in the memory, the steps of the metal wire filling method according to any one of the first aspects described above are implemented.

[0023] Fourthly, the present application also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the metal wire filling method according to any one of the first aspect is implemented.

[0024] In summary, for the metal wire filling method provided by the present application, by comparing the vertical coordinates of the current and the next logical points, the connection requirements between different metal layers can be accurately identified, and metal wire filling can be carried out in a timely manner, effectively ensuring the integrity of circuit connection and ensuring normal signal transmission. When filling, the pre-filled metal wires are strictly inspected according to the design rules and the filling shape is generated according to the evaluation value, so that all aspects of the metal wires highly meet the requirements of the manufacturing process, greatly reducing the circuit performance problems and the probability of manufacturing failure caused by rule violations, and improving the reliability and manufacturability of the design. When the vertical coordinates are the same, the metal area of the layer where the current logical point is located is accurately calculated and updated, effectively controlling the distribution and area of the metal wires, providing accurate data for subsequent optimization, and preventing abnormal area from affecting the circuit performance. During the operation, the generated filling shape is gradually added to the wiring result, comprehensively considering the rationality of connections at different layers and the metal area on the same layer, improving the wiring design, and making the result perfectly meet the function and performance requirements of the integrated circuit. Description of the Drawings

[0025] By reading the following detailed description of the preferred embodiments, various other advantages and benefits will become clear to those of ordinary skill in the art. The drawings are only for the purpose of illustrating the preferred embodiments and are not considered to be a limitation of this specification. And throughout the drawings, the same reference numerals are used to represent the same components. In the drawings:

[0026] Figure 1 It is a schematic flow chart of a metal wire filling method provided by an embodiment of the present application.

[0027] Figure 2 It is a schematic flow chart of a metal wire filling method provided by an embodiment of the present application.

[0028] Figure 3 It is a schematic flow chart of a metal wire filling method provided by an embodiment of the present application.

[0029] Figure 4 It is a schematic structural diagram of a metal wire filling device provided by an embodiment of the present application.

[0030] Figure 5 It is a schematic structural diagram of a metal wire filling electronic device provided by an embodiment of the present application. Detailed Embodiments

[0031] In the description, claims and drawings of the present application, terms such as "first", "second", "third", "fourth", etc. (if any) are used to distinguish similar objects and do not necessarily describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units need not be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices. The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments.

[0032] Figure 1 The flowchart of a metal wire filling method according to an embodiment of the present application is shown. Referring to Figure 1 as shown, the metal wire filling method includes:

[0033] Step S110, obtaining the vertical coordinates of the currently processed logic point on the wiring path and the vertical coordinates of the next logic point to be processed;

[0034] Step S120, if the vertical coordinates of the two are different, it is determined that metal wire filling is required, and according to the first evaluation value obtained by performing a design rule check on the pre-filled metal wire, a first metal wire filling shape is generated and added to the wiring result;

[0035] Step S130, if the vertical coordinates of the two are the same, calculate the metal area of the layer where the currently processed logic point is located, and add the calculated metal area to the current area to obtain an updated current area, where the current area is the cumulative metal area up to the current processing stage;

[0036] Step S140, if the updated current area is in violation and it is determined that metal wire filling is required according to the updated current area, then according to the second evaluation value obtained by performing a design rule check on the pre-filled metal wire, a second metal wire filling shape is generated and added to the wiring result.

[0037] The following elaborates on these steps in detail.

[0038] In step S110, the vertical coordinates of the currently processed logic point on the wiring path and the vertical coordinates of the next logic point to be processed are obtained.

[0039] In the design process of an integrated circuit, after completing the routing of a timing or combinational logic path, the metal wire filling operation for this routed path is immediately initiated. The routed path is like a "route" for circuit signal transmission. It is formed by a series of logic points connected together, starting from the logical start coordinate, passing through multiple intermediate logic points, and finally reaching the logical end coordinate. After traversing all the logic points of the entire path, the entire recognition and filling process is considered completed.

[0040] During the logical point iterative loop process of the metal wire filling operation, the currently processed logical point refers to the logical point that is being analyzed and processed during the iterative loop. It is a node on the entire routed path. The next logical point to be processed is the logical point that will be processed next in the order of the routed path after the current logical point is processed. These two logical points appear in sequence according to the order of the routed path. By processing them, the metal wire filling operation is gradually advanced.

[0041] The vertical coordinate, that is, the Z coordinate, in the integrated circuit structure with multi-layer routing, represents the position of the logical point in the vertical direction and is used to determine the metal layer where the logical point is located. Obtaining the Z coordinates of the currently processed logical point and the next logical point to be processed is usually achieved by preset logic and algorithms to read the Z coordinate values corresponding to these two logical points from relevant data structures or storage locations. By obtaining the Z coordinates of these two logical points, subsequent operations can be determined based on their relationship, such as whether they are on the same metal layer, to ensure that the metal filling operation can proceed according to the correct process and rules to meet the design and manufacturing requirements of the integrated circuit.

[0042] In step S120, if the vertical coordinates of the two are different, it is determined that metal wire filling is required. According to the first evaluation value obtained from the design rule check of the pre-filled metal wire, a first metal wire filling shape is generated and added to the routing result.

[0043] When it is found that the vertical coordinates of the currently processed logical point and the next logical point to be processed are different, this indicates that these two logical points are on different metal layers. In the multi-layer routing system of an integrated circuit, metal wires are usually required to connect different metal layers to achieve the complete function of the circuit. Therefore, when the vertical coordinates are different, it is determined that a metal wire filling operation is required to establish the connection between different metal layers.

[0044] Before wire filling, it is necessary to perform Design Rule Check (DRC) on the pre-filled wires. Design Rule Check is an important step to ensure that the integrated circuit design meets the manufacturing process requirements. It will check various parameters of the pre-filled wires (such as wire width, wire length, area, etc.) according to a series of pre-set rules. The result obtained from the Design Rule Check will be presented in the form of an evaluation value (i.e., the first evaluation value), which reflects the situation of the pre-filled wires in meeting the design rules.

[0045] Based on this first evaluation value, the system will generate the first wire filling shape. The generation process will comprehensively consider the design rules and the information reflected by the evaluation value to ensure that the generated wire filling shape can meet the requirements of the manufacturing process and achieve effective connection between different metal layers.

[0046] Finally, the generated first wire filling shape will be added to the routing result. The routing result is the final presentation of the entire integrated circuit routing design, including all determined metal wire layouts and connection situations. Adding the first wire filling shape to the routing result means that the metal filling operation for this part is completed and becomes part of the entire routing design, providing a physical basis for the subsequent circuit function implementation.

[0047] In step S130, if the vertical coordinates of the two are the same, calculate the metal area of the layer where the currently processed logic point is located, and add the calculated metal area to the current area to obtain the updated current area. The current area is the cumulative metal area up to the current processing stage.

[0048] When it is determined that the vertical coordinates of the currently processed logic point and the next logic point to be processed are the same, this indicates that these two logic points are on the same metal layer. In the case of the same metal layer, although it is not necessary to consider the wire filling for inter-layer connection like different metal layers, it is still necessary to calculate the metal area of the layer where the current logic point is located. Because in the routing design of integrated circuits, accurately calculating the metal area is very important for meeting the design rules and evaluating the circuit performance, etc.

[0049] Calculate the metal area at the level where the current logical point being processed is located, which will be carried out according to certain rules and algorithms. The calculation of this area may involve parameters such as the length and width of the metal line, and the area value of the metal line is obtained through comprehensive operations on these parameters. In this embodiment, the metal area can include three parts, namely the area corresponding to the actual wiring length, the upper or lower surrounding area of the starting via metal, and the upper or lower surrounding area of the ending via metal. The actual wiring length refers to the true extended length of the metal line on the plane. Usually, the actual wiring length is multiplied by the width of the metal line to obtain its corresponding area. The upper and lower surrounding of the starting via metal respectively correspond to the metal areas covered by the upper and lower metal layers of the via at the starting position of the metal line. Although this part of the area is relatively small, it has an unignorable impact on the electrical performance of the metal line, such as affecting the capacitance coupling between the metal line and other layer metals. The upper and lower surrounding of the ending via metal are also important components of the metal area. They are directly related to the reception and processing of signals at the transmission end. Accurately calculating this part of the area helps to more precisely evaluate the performance and reliability of the entire metal line connection.

[0050] After obtaining the calculated metal area, it will be added to the current area. Here, the current area refers to the total metal area that has been cumulatively calculated on the wiring path up to the current processing stage.

[0051] After adding the newly calculated metal area, the updated current area is obtained. The updated current area will be used as the basic data for subsequent operations and continue to participate in the processing and analysis of the wiring path, such as being used to determine whether the minimum metal area requirement is met. It accurately reflects the metal area situation of the processed part of the entire wiring path at the current processing stage and provides a reliable basis for subsequent decision-making and calculations.

[0052] In step S140, if the updated current area is in violation and it is determined that metal line filling is required based on the updated current area, then according to the second evaluation value obtained from the design rule check of the pre-filled metal line, a second metal line filling shape is generated and added to the wiring result.

[0053] After completing the relevant operations on the current logical point and updating the current area, it is necessary to check the updated current area to determine whether it conforms to the relevant design rules. Here, the violation situation usually means that the updated current area does not meet the regulations such as the minimum metal area requirement, or there are non-compliant situations found after comprehensive consideration with other design rules (such as rules regarding the length and width of the metal line).

[0054] If it is determined that there are violations in the updated current area and it is judged that wire filling operation needs to be performed based on this updated current area (for example, if the current area is smaller than the specified minimum area, filling is required to meet the requirements), then the specific operation steps of wire filling will be entered next.

[0055] First, design rule check (DRC) is performed on the pre-filled wire. This step is to compare the parameters of the pre-filled wire (such as wire width, wire length, area, etc.) with the pre-set design rules to obtain an evaluation value, that is, the second evaluation value. This evaluation value reflects the degree to which the pre-filled wire meets the design rules.

[0056] Based on the obtained second evaluation value, the system generates the second wire filling shape. The generation process will comprehensively consider the information reflected by the evaluation value and the requirements of the design rules to ensure that the generated wire filling shape can make the final routing result comply with all design rules. For example, if the evaluation value shows that the pre-filled wire does not meet the rules in some aspects, the generated filling shape will be adjusted and corrected for these problems.

[0057] Finally, the generated second wire filling shape is added to the routing result. The routing result is the final presentation of the entire integrated circuit routing design, including all determined wire layouts and connection situations. Adding the second wire filling shape to the routing result means that this part of the wire filling operation has been completed and has become a part of the entire routing design, further improving the physical structure of the integrated circuit to meet the requirements of circuit functions and manufacturing processes.

[0058] Based on the technical solutions of the above embodiments, by comparing the vertical coordinates of the current and the next logical points, the connection requirements between different metal layers can be accurately identified, wire filling can be performed in a timely manner, effectively ensuring the integrity of circuit connections and ensuring normal signal transmission; when filling, the pre-filled wire is strictly inspected according to the design rules and the filling shape is generated based on the evaluation value, making all aspects of the wire highly meet the requirements of the manufacturing process, greatly reducing the circuit performance problems and the probability of manufacturing failure caused by rule violations, and improving the reliability and manufacturability of the design; when the vertical coordinates are the same, the metal area of the layer where the current logical point is located is accurately calculated and updated, effectively controlling the distribution and area of the wire, providing accurate data for subsequent optimization, and preventing abnormal area from affecting the circuit performance; during the operation, the generated filling shape is gradually added to the routing result, comprehensively considering the connections at different layers and the rationality of the metal area at the same layer, improving the routing design, and making the result perfectly meet the requirements of the integrated circuit functions and performance.

[0059] In some embodiments of the present application, such as Figure 2As shown, generating the first metal line filling shape according to the first evaluation value obtained by performing design rule checking on the pre-filled metal line in step S120 may specifically include steps S210 - S230, which are described in detail as follows:

[0060] Step S210: Obtain the minimum metal area requirement or the minimum metal line length requirement for the layer where the currently processed logic point is located.

[0061] In integrated circuit design, logic points are the basic units that make up the entire circuit's logic function, and they are distributed at different layers. Each layer has its specific functions and physical characteristics, and there are strict regulations for the use of metal lines.

[0062] The minimum metal area requirement refers to the minimum area value that the metal line must reach at the specific layer where the currently processed logic point is located to ensure that the metal line can transmit signals normally, carry current, and meet the reliability requirements of the manufacturing process. If the metal area is less than this minimum value, it may cause the metal line resistance to be too large, resulting in serious signal attenuation, increased delay, and even problems such as metal line fusing due to excessive current density during the chip manufacturing process, affecting the performance and stability of the entire circuit.

[0063] The minimum metal line length requirement, on the other hand, is the lower limit of the length specified considering factors such as the integrity of the metal line during signal transmission and its connection to other circuit components. If the metal line is too short, it may not be able to achieve the expected circuit connection function, or the connection may be unreliable due to insufficient length when connecting to other components, resulting in problems such as signal transmission interruption. At the same time, from the perspective of the manufacturing process, too short metal lines may be difficult to accurately manufacture in lithography and other process steps, increasing the manufacturing difficulty and error.

[0064] Obtaining the minimum metal area requirement or the minimum metal line length requirement for the layer where the currently processed logic point is located determines the basic constraint conditions for the subsequent metal line design and layout. Only on the basis of clarifying these requirements can the parameters such as the area and direction of the pre-filled metal line be further reasonably designed to ensure that the finally generated metal line filling shape can not only meet the functional requirements of the circuit but also comply with the process specifications of integrated circuit manufacturing.

[0065] In some embodiments of the present application, the method for obtaining the minimum metal area requirement or the minimum metal line length requirement for the layer where the currently processed logic point is located may specifically include the following steps:

[0066] First, obtain the minimum area rule of the metal wire at the level where the currently processed logic point is located from the technical rule database. The technical rule database is a collection of various technical specifications and requirements accumulated during the integrated circuit design process, which contains various rules for metal wires at different levels. The minimum area rule of the metal wire at the level where the currently processed logic point is located is an important basis for determining the minimum area of the metal wire at this level and is crucial for subsequent design and manufacturing.

[0067] Next, it is necessary to determine the type of the obtained minimum area rule of the metal wire. If the minimum area rule of the metal wire is a single rule, it means that the rule is relatively simple and straightforward, and the value of the minimum area is clearly given. In this case, directly use the minimum area in the minimum area rule of the metal wire as the minimum metal area requirement. This minimum metal area requirement is one of the basic conditions to ensure the normal operation of the metal wire. For example, a sufficient area can ensure that the metal wire has an appropriate resistance to stably transmit current and signals, avoiding problems such as signal attenuation and heating caused by too small an area.

[0068] If the minimum area rule of the metal wire is a complex rule, the situation is relatively more complex. At this time, first calculate the quotient of the minimum area in the minimum area rule of the metal wire and the width of the metal wire. The calculation of this quotient is to further analyze and deduce other parameters related to the metal wire. Then, compare the maximum side length (or minimum side length) in the minimum area rule of the metal wire with the quotient. Through the comparison, take the maximum value (or minimum value, depending on the specific rule) of the two as the minimum metal wire length requirement. This step is because in the case of a complex rule, there is an interrelated relationship between the length and area of the metal wire. By this comparison and calculation, a suitable minimum metal wire length requirement can be determined. Finally, based on the determined minimum metal wire length requirement, further determine the minimum metal area requirement. This is because there is an inherent connection between the minimum metal wire length requirement and the minimum metal area requirement. Through the known length requirement, combined with other relevant factors, the minimum metal area requirement that meets the design and manufacturing requirements can be calculated, thus providing an accurate basis for subsequent metal wire design and filling.

[0069] Step S220: Use the minimum metal area requirement as the area of the pre-filled metal wire, or determine the area of the pre-filled metal wire according to the minimum metal wire length requirement, and determine the direction of the pre-filled metal wire based on the starting point and ending point of the pre-filled metal wire.

[0070] In the metal wire filling link of integrated circuit design, it is necessary to determine the key parameters of the pre-filled metal wire according to different conditions, where the area and direction are two important aspects.

[0071] First, there are two ways to determine the pre-filled metal area. One way is to directly use the minimum metal area requirement as the area of the pre-filled metal line. This is because the minimum metal area requirement is one of the basic conditions to ensure the normal operation of the metal line in the circuit. It is determined by comprehensively considering various factors such as current-carrying capacity, signal transmission quality, compatibility with surrounding circuit components, and the feasibility of manufacturing processes. Using it as the area of the pre-filled metal line can ensure that the metal line has sufficient physical space to transmit current and signals during subsequent circuit operation, avoiding various problems caused by too small an area, such as signal attenuation and heating due to excessive resistance.

[0072] Another way to determine the pre-filled metal area is based on the minimum metal line length requirement. In an integrated circuit, there is a certain correlation between the metal line length and the area. Sometimes, only considering the metal line length cannot fully meet the design requirements, and it is necessary to determine the appropriate metal area according to the minimum metal line length requirement through certain calculation or conversion methods. For example, according to the specific circuit structure and function requirements, given the minimum metal line length, and combined with other factors such as the width limit of the metal line, through corresponding formulas or empirical rules, calculate the metal area that can meet the length requirement and conform to the overall design specifications. This can reasonably plan the area of the metal line on the basis of meeting the length requirement to achieve the optimal circuit performance.

[0073] After determining the area of the pre-filled metal line, it is also necessary to determine its direction. The direction of the pre-filled metal line is also crucial for the performance and layout of the circuit. Here, the direction of the pre-filled metal line is determined according to its starting point and ending point. In the layout design of an integrated circuit, each metal line has its specific starting point and ending point, and these two points determine the orientation of the metal line on the plane. By clarifying the starting point and ending point, it can be determined whether the metal line is horizontally, vertically, or obliquely arranged. A reasonable metal line direction can optimize the circuit wiring structure, reduce the crossing and overlapping of metal lines, reduce interference between signals, improve the integration and performance of the circuit. At the same time, it is also helpful for subsequent manufacturing processes, enabling processes such as lithography and etching to more accurately achieve the patterning of the metal line, improving the manufacturing efficiency and yield.

[0074] In some embodiments of the present application, the method of determining the direction of the pre-filled metal line according to its starting point and ending point may specifically include:

[0075] First, the coordinate differences in the horizontal axis direction (usually understood as the horizontal direction) and the vertical axis direction (generally the vertical direction) between the previous logical point of the currently processed logical point and the previous logical point of the previous logical point can be used. These coordinate differences reflect the relative positional relationship between logical points. By analyzing the positional changes of these two logical points in the horizontal and vertical axis directions, a direction trend can be obtained, and this direction trend is determined as the starting direction of the pre-filled metal line. For example, if the previous logical point has moved a certain distance to the right in the horizontal axis direction and a certain distance upward in the vertical axis direction relative to its previous logical point, then by synthesizing the changes in these two directions, a specific starting direction can be determined.

[0076] Next, after determining the starting direction of the pre-filled metal line, the direction of the pre-filled metal line on one side of the starting point can be further clarified. According to the definition, the direction of the pre-filled metal line on one side of the starting point is the outside of the starting direction. Here, the "outside" is defined based on the starting direction, and its purpose is to more accurately plan the path of the metal line near the starting point, ensure the reasonable layout of the metal line, avoid unnecessary conflicts with other circuit components or metal lines, and at the same time contribute to the smooth transmission of signals.

[0077] Then, the ending direction can be determined based on the coordinate differences in the horizontal axis direction and the vertical axis direction between the currently processed logical point and the previous logical point of the currently processed logical point. By analyzing the positional changes in the horizontal and vertical axis directions between these two logical points, a direction trend is obtained, and this trend is the ending direction of the pre-filled metal line. For example, if the current logical point has moved to the left in the horizontal axis direction and downward in the vertical axis direction relative to the previous logical point, then the corresponding ending direction can be determined.

[0078] Finally, after determining the ending direction of the pre-filled metal line, the direction of the pre-filled metal line on one side of the ending point also needs to be clarified. According to the regulations, the direction of the pre-filled metal line on one side of the ending point is the outside of the ending direction. Determining the direction on one side of the ending point in this way can make the layout of the metal line at the ending point more reasonable, ensure that the entire path of the pre-filled metal line meets the requirements of circuit design, improve the performance and reliability of the circuit, and lay a good foundation for subsequent circuit manufacturing and operation.

[0079] Step S230: Perform a design rule check on the area of the pre-filled metal line and the direction of the pre-filled metal line, select the method that minimizes the first evaluation value, and generate the first metal line filling shape.

[0080] First, design rule checking is a crucial step in the integrated circuit design process. The integrated circuit manufacturing process has many complex and strict specifications, which cover all aspects of metal wires, including but not limited to wire width, wire spacing, area, and direction, etc. For the area of pre-filled metal wires, it is necessary to ensure that it meets the minimum metal area requirement to avoid problems such as excessive resistance and unstable signal transmission caused by too small an area, and at the same time, it should not exceed the allowable maximum area range to avoid resource waste or spatial conflicts with other circuit components. Similarly, there are corresponding rules for the direction of pre-filled metal wires. For example, in some processes, the layout of metal wires in a specific direction helps to reduce signal interference and improve the overall performance of the circuit, so its direction must conform to the best practices or specific restrictions stipulated by the process.

[0081] After completing the design rule checking for the area and direction of the pre-filled metal, a quantitative evaluation result, that is, the first evaluation value, will be obtained. This evaluation value comprehensively reflects the degree to which the pre-filled metal wires meet the design rules. The smaller the value, the more compliant the pre-filled solution is with the design rules, and the lower the possibility of manufacturing defects or performance problems. For example, if a pre-filled metal wire solution strictly follows the design rules in terms of area and direction, its first evaluation value may be relatively low; on the contrary, if there are problems such as the area being slightly smaller than the minimum value or the direction deviating significantly from the recommended direction in the solution, the evaluation value will be higher.

[0082] Finally, among many possible pre-filled metal wire solutions, the method that makes the first evaluation value the smallest is selected to generate the first metal wire filling shape. This is because the filling shape generated with the minimum evaluation value as the guide maximally meets the design rule requirements of the integrated circuit, can effectively reduce the risks in the manufacturing process, improve the yield rate of the chip, and at the same time ensure that the chip reaches the optimal state in terms of performance, power consumption, etc. The first metal wire filling shape generated in this way will become an important part of the metal wire layout in the integrated circuit layout, laying a solid foundation for the subsequent realization of circuit functions.

[0083] In some embodiments of the present application, the wiring direction is a key factor in integrated circuit wiring. When processing a logic point, the wiring direction can be determined based on the logic point being currently processed. If it is determined that the wiring direction is upward, it means that the circuit signal transmission path develops towards a higher-level metal layer. At this time, the under-enclosed area of the via metal of the next logic point to be processed becomes particularly important. The under-enclosed area of the via metal refers to the metal area occupied by the via in the lower metal layer adjacent to the metal layer where the current logic point is located. The reason for updating the current area based on this area is that during upward wiring, this under-enclosed area affects the overall area statistics of the wiring in the current metal layer. Incorporating it into the update of the current area can more accurately reflect the metal distribution in the wiring area in this direction, ensuring that subsequent wiring designs and analyses can be based on accurate data, thereby guaranteeing the performance of the circuit and the feasibility of the manufacturing process.

[0084] Conversely, if it is determined based on the logic point being currently processed that the wiring direction is downward, that is, the circuit signal transmission path develops towards a lower-level metal layer. In this case, the over-enclosed area of the via metal of the next logic point to be processed becomes a key factor. The over-enclosed area of the via metal refers to the metal area occupied by the via in the upper metal layer adjacent to the metal layer where the current logic point is located. During downward wiring, this over-enclosed area is closely related to the wiring in the current metal layer and affects the calculation of the current area. By updating the current area based on this area, the metal usage in the current metal layer in the downward wiring direction can be completely and accurately counted, providing reliable data support for subsequent wiring operations, enabling the entire wiring process to meet the requirements of integrated circuit design, including but not limited to electrical performance, spatial layout, and other aspects.

[0085] In some embodiments of the present application, the determination of non-compliance with the updated current area in the foregoing step S140 may specifically include the following steps: First, the minimum metal area requirement or the minimum metal line length requirement of the level where the logic point being currently processed is located can be obtained; then, the current technology line length can be calculated based on the updated current area, and the updated current area can be compared with the minimum metal area requirement, and at the same time, the current technology line length and the minimum metal line length requirement can be compared. Once the updated current area is less than the minimum metal area requirement, or the current technology line length is less than the minimum metal line length requirement, it can be determined that the updated current area is non-compliant. Because this situation means that the current metal line layout fails to meet the basic requirements of the manufacturing process in terms of area or length, which is very likely to affect the performance and reliability of the circuit and even lead to chip manufacturing failure.

[0086] In this embodiment, the method for obtaining the minimum metal area requirement or the minimum metal line length requirement of the layer where the currently processed logic point is located can be specifically referred to the description in step S210, which will not be elaborated here.

[0087] In some embodiments of the present application, the determination of the need for metal line filling according to the updated current area in the foregoing step S140 may specifically include the following steps:

[0088] First, the updated current area can be compared with the under - via - metal surrounding area of the currently processed logic point. The under - via - metal surrounding area refers to the area covered by the via corresponding to the current logic point on the metal layer below it. The comparison of these two areas is to ensure that the statistics of the current area can more accurately reflect the actual metal distribution. Taking the larger value of the two as the new current area is because in the wiring design, a more comprehensive metal occupancy needs to be considered to ensure subsequent wiring and circuit performance. If the under - via - metal surrounding area is larger, it means that the influence range of this via on the lower metal layer is greater, and taking it as the new current area can more truly reflect the actual requirements of wiring; conversely, if the updated current area is larger, it remains as the new current area.

[0089] Next, the new current technology line length can be calculated based on the newly determined current area. The current technology line length is an index related to the metal line length, and it has a certain relationship with the area of the metal line and is derived from the new current area through a specific calculation method. This index is very important for evaluating whether the wiring meets the requirements because in integrated circuit design, the length of the metal line also has certain limitations, which will affect performance parameters such as signal transmission delay and resistance.

[0090] After that, the new current area can be compared with the minimum metal area requirement, and at the same time, the new current technology line length can be compared with the minimum metal line length requirement. The minimum metal area requirement and the minimum metal line length requirement are the basic standards stipulated by the integrated circuit manufacturing process, which are to ensure that the metal line can work properly, such as carrying sufficient current and stably transmitting signals. If the new current area is less than the minimum metal area requirement, or the new current technology line length is less than the minimum metal line length requirement, it means that the current wiring situation fails to meet the basic requirements of the manufacturing process. At this time, it is determined that a metal line filling operation is required to increase the area and length of the metal line to make it comply with the design rules and ensure the performance and reliability of the circuit.

[0091] In some embodiments of the present application, such as Figure 3As shown, generating the second metal line filling shape according to the second evaluation value obtained from the design rule check of the pre-filled metal line in step S140 may specifically include steps S310 - S320, which are described in detail as follows:

[0092] Step S310: Calculate the difference between the minimum metal area requirement and the new current area, take the calculated difference as the area of the pre-filled metal line, and determine the direction of the pre-filled metal line according to the starting point and the ending point of the pre-filled metal line.

[0093] After taking the maximum value between the updated current area and the surrounded area of the via metal at the currently processed logic point as the new current area, it is necessary to further plan the metal line filling scheme. It may include calculating the difference between the minimum metal area requirement and the new current area, taking the calculated difference as the area of the pre-filled metal line, and determining the direction of the pre-filled metal line according to the starting point and the ending point of the pre-filled metal line.

[0094] By calculating the difference between the minimum metal area requirement and the new current area, it is possible to accurately understand how much area the current wiring area lacks to meet the minimum metal area requirement. This difference becomes the area for subsequent metal line filling, providing a clear quantitative basis for subsequent operations. Determining the difference as the area of the pre-filled metal line is an accurate and reasonable approach, which can not only ensure meeting the minimum metal area standard but also avoid problems such as resource waste and possible signal interference caused by overfilling.

[0095] At the same time, determine the direction of the pre-filled metal line according to the starting point and the ending point of the pre-filled metal line. In the integrated circuit layout, each pre-filled metal line has specific starting and ending points, which are determined by the logical connection relationship of the circuit. The positions of the starting and ending points determine the orientation of the metal line on the chip plane. A reasonable direction selection can optimize the wiring layout, reduce the crossing and overlapping of metal lines, reduce interference and delay during signal transmission, and improve the performance and reliability of the circuit. At the same time, a clear direction also helps the accurate implementation of steps such as lithography and etching in subsequent manufacturing processes, improving the yield rate of chip manufacturing.

[0096] In some embodiments of the present application, the manner of determining the direction of the pre-filled metal line according to the starting point and the ending point of the pre-filled metal line may specifically refer to the relevant description in step S220 above, and will not be elaborated here.

[0097] Step S320: Conduct a design rule check on the area of the pre-filled metal line and the direction of the pre-filled metal line, and select the manner that minimizes the second evaluation value to generate the second metal line filling shape.

[0098] After determining the area and direction of the pre-filled metal lines, the area and direction of the pre-filled metal lines can be further checked against the design rules to ensure that they fully comply with the strict manufacturing process specifications.

[0099] After the inspection is completed, a quantified evaluation result, i.e., the second evaluation value, will be obtained. This evaluation value comprehensively reflects the degree to which the pre-filled metal lines meet the design rules. It is not a simple one-dimensional measurement but a comprehensive reflection after considering the area, direction, and other relevant design rules. The smaller the evaluation value, the more compliant the pre-filled solution is with the design rules, and the lower the likelihood of defects or performance issues in the subsequent manufacturing process. For example, if a certain pre-filled metal line solution strictly follows the design rules in terms of both area and direction, its second evaluation value will be relatively low; conversely, if the solution has an area slightly smaller than the minimum value or a large deviation in direction from the recommended direction, the evaluation value will be high.

[0100] Finally, among the numerous possible pre-filled metal line solutions, the method that minimizes the second evaluation value is selected to generate the second metal line filling shape. This is because the filling shape generated with the minimum evaluation value can best meet the design rule requirements of the integrated circuit. The second metal line filling shape generated in this way can effectively reduce the risks in the manufacturing process, improve the yield rate of the chips, and ensure that the chips reach the optimal state in terms of key aspects such as performance and power consumption. The metal line filling shape generated in this way will become an important part of the metal line layout in the integrated circuit layout, laying a solid foundation for the subsequent realization of circuit functions.

[0101] In some embodiments of the present application, after adding the second metal line filling shape to the routing result, when the operation of adding the second metal line filling shape to the routing result is completed, the metal regions related to the vias will be processed next. The specific processing methods include the following situations, which are explained in detail as follows:

[0102] First, the concepts of the upper surrounding region and the lower surrounding region of the via metal need to be clarified. In the multi-layer structure of the integrated circuit, the via is a key component connecting different metal layers. The upper surrounding region of the via metal refers to the metal coverage region above the metal layer where the via is located, and the lower surrounding region is the metal coverage region below the metal layer where the via is located.

[0103] The first case is to merge the upper surrounding area of the via metal corresponding to the currently processed logic point with the lower surrounding area of the metal of the upper-layer via. The reason for such an operation is that in the multi-layer wiring of integrated circuits, there are certain associations and mutual influences between the vias and metal areas of adjacent layers. By merging these two areas and selecting the largest surrounding range of the two areas as the merged metal shape, the actual metal distribution of this area can be more accurately reflected, ensuring a more reasonable and stable connection between metal layers. At the same time, it also helps to optimize the overall layout of the wiring and reduce potential electrical performance problems.

[0104] The second case is to merge the upper surrounding area of the via metal corresponding to the currently processed logic point with the upper surrounding area of the metal of the lower-layer via. Similarly, in the multi-layer wiring structure, there may be overlapping or interacting situations between the upper surrounding areas of the via metals of adjacent layers in the same direction. By merging these two areas and selecting the largest surrounding range as the merged metal shape, the metal resources of these areas can be better integrated, avoiding problems such as signal interference and abnormal resistance caused by unreasonable metal distribution, and improving the performance and reliability of the circuit.

[0105] The third case is to merge the lower surrounding area of the via metal corresponding to the currently processed logic point with the lower surrounding area of the metal of the upper-layer via. This operation is also considered based on the connection and mutual relationship between metal layers in multi-layer wiring. Merging these two areas and determining the largest surrounding range as the merged metal shape helps to construct a more continuous and stable metal connection path, enhancing the electrical connection performance between different metal layers, thereby ensuring the normal operation of the entire integrated circuit.

[0106] The fourth case is to merge the lower surrounding area of the via metal corresponding to the currently processed logic point with the upper surrounding area of the metal of the lower-layer via. This merging method is also to optimize the layout of the metal area, ensuring that the via connections between different metal layers can achieve the best state in terms of physical and electrical performance. Selecting the largest surrounding range of the two areas as the merged metal shape can fully consider the actual influence range of each area, making the final metal shape more in line with the design and manufacturing requirements of the integrated circuit, and providing a solid foundation for the subsequent realization of circuit functions.

[0107] In the second aspect, the present application also proposes a metal wire filling device, as Figure 4 shown, the metal wire filling device includes: an acquisition unit 401, a first filling unit 402, a calculation unit 403, and a second filling unit 404.

[0108] Among them, the obtaining unit 401 is configured to obtain the vertical coordinates of the currently processed logic point on the wiring path and the vertical coordinates of the next logic point to be processed; the first filling unit 402 is configured to determine that metal wire filling is required if the vertical coordinates of the two are different, generate a first metal wire filling shape according to the first evaluation value obtained by performing design rule checking on the pre-filled metal wire, and add the first metal wire filling shape to the wiring result; the calculation unit 403 is configured to calculate the metal area of the layer where the currently processed logic point is located if the vertical coordinates of the two are the same, and add the calculated metal area to the current area to obtain an updated current area, where the current area is the cumulative metal area up to the current processing stage; the second filling unit 404 is configured to generate a second metal wire filling shape according to the second evaluation value obtained by performing design rule checking on the pre-filled metal wire and add the second metal wire filling shape to the wiring result if the updated current area is in violation and it is determined that metal wire filling is required according to the updated current area.

[0109] In some embodiments of the present application, the obtaining unit 401 is further configured to obtain the minimum metal area requirement or the minimum metal wire length requirement of the layer where the currently processed logic point is located; use the minimum metal area requirement as the area of the pre-filled metal wire, or determine the area of the pre-filled metal wire according to the minimum metal wire length requirement, and determine the direction of the pre-filled metal wire according to the starting point and the ending point of the pre-filled metal wire; perform design rule checking on the area of the pre-filled metal wire and the direction of the pre-filled metal wire, and select the method that makes the first evaluation value the smallest to generate the first metal wire filling shape.

[0110] In some embodiments of the present application, after the first filling unit 402 adds the first metal wire filling shape to the wiring result, the metal wire filling device further includes an updating unit, and the updating unit is configured to update the current area according to the via metal lower surrounding area of the next logic point to be processed if it is determined according to the currently processed logic point that the wiring direction is upward; update the current area according to the via metal upper surrounding area of the next logic point to be processed if it is determined according to the currently processed logic point that the wiring direction is downward.

[0111] In some embodiments of the present application, the obtaining unit 401 is further configured to obtain the minimum metal area requirement or the minimum metal line length requirement of the layer where the currently processed logic point is located; calculate the current technology line length based on the updated current area, and if the updated current area is less than the minimum metal area requirement, or the current technology line length is less than the minimum metal line length requirement, it is determined that there is a violation in the updated current area.

[0112] In some embodiments of the present application, the metal line filling device further includes a comparison unit configured to compare the updated current area with the via metal lower surrounding area of the currently processed logic point, and take the larger value of the two as the new current area; a determination unit configured to calculate the new current technology line length based on the new current area, and if the new current area is less than the minimum metal area requirement, or the new current technology line length is less than the minimum metal line length requirement, it is determined that metal line filling is required.

[0113] In some embodiments of the present application, the obtaining unit 401 is further configured to calculate the difference between the minimum metal area requirement and the new current area, take the calculated difference as the area of the pre-filled metal line, and determine the direction of the pre-filled metal line according to the start point and the end point of the pre-filled metal line; perform a design rule check on the area of the pre-filled metal line and the direction of the pre-filled metal line, and select the method that minimizes the second evaluation value to generate the second metal line filling shape.

[0114] In some embodiments of the present application, the metal line filling device further includes a merging unit, and the merging unit is configured to, after adding the second metal line filling shape to the wiring result, merge the via metal upper surrounding area corresponding to the currently processed logic point with the via metal lower surrounding area of the upper layer via, and select the maximum surrounding range of the two areas as the merged metal shape; or merge the via metal upper surrounding area corresponding to the currently processed logic point with the via metal upper surrounding area of the lower layer via, and select the maximum surrounding range of the two areas as the merged metal shape; or merge the via metal lower surrounding area corresponding to the currently processed logic point with the via metal lower surrounding area of the upper layer via, and select the maximum surrounding range of the two areas as the merged metal shape; or merge the via metal lower surrounding area corresponding to the currently processed logic point with the via metal upper surrounding area of the lower layer via, and select the maximum surrounding range of the two areas as the merged metal shape.

[0115] In some embodiments of the present application, the obtaining unit 401 is further configured to obtain the minimum area rule of the metal wire at the level where the currently processed logic point is located from the technical rule database; if the minimum area rule of the metal wire is a single rule, use the minimum area in the minimum area rule of the metal wire as the minimum metal area requirement; if the minimum area rule of the metal wire is a complex rule, calculate the quotient of the minimum area in the minimum area rule of the metal wire and the width of the metal wire, compare the maximum side length in the minimum area rule of the metal wire with the quotient or compare the minimum side length in the minimum area rule of the metal wire with the quotient, use the maximum value of the two as the minimum metal wire length requirement or use the minimum value of the two as the minimum metal wire length requirement, and determine the minimum metal area requirement according to the minimum metal wire length requirement.

[0116] In some embodiments of the present application, the obtaining unit 401 is further configured to determine the starting direction of the pre-filled metal wire according to the coordinate difference in the horizontal axis direction and the coordinate difference in the vertical axis direction between the previous logic point of the currently processed logic point and the previous logic point of the previous logic point, and determine the direction of the pre-filled metal wire on one side of the starting point as the outside of the starting direction according to the starting direction of the pre-filled metal wire; determine the ending direction of the pre-filled metal wire according to the coordinate difference in the horizontal axis direction and the coordinate difference in the vertical axis direction between the currently processed logic point and the previous logic point of the currently processed logic point, and determine the direction of the pre-filled metal wire on one side of the ending point as the outside of the ending direction according to the ending direction of the pre-filled metal wire.

[0117] As Figure 5 shown, an embodiment of the present application further provides an electronic device 500, including a memory 510, a processor 520, and a computer program 511 stored on the memory 510 and executable on the processor. When the processor 520 executes the computer program 511, the steps of any of the above methods for metal wire filling are implemented.

[0118] Since the electronic device introduced in this embodiment is the device used to implement a metal wire filling device in an embodiment of the present application, based on the method introduced in the embodiment of the present application, those skilled in the art can understand the specific implementation manners and various variations of the electronic device in this embodiment. Therefore, the specific implementation of how this electronic device implements the method in the embodiment of the present application will not be described in detail here. As long as the device used by those skilled in the art to implement the method in the embodiment of the present application belongs to the scope protected by the present application.

[0119] In the specific implementation process, when the computer program 511 is executed by the processor 520, it can implement any implementation manner in the corresponding embodiment.

[0120] It should be noted that in the above embodiments, the descriptions of each embodiment have their own emphases. For parts not described in detail in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

[0121] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to memory, disk, CD-ROM, optical memory, etc.) containing computer-usable program code.

[0122] The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to the embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram can be realized by computer program instructions, and the combination of the flows and / or blocks in the flowchart and / or block diagram can also be realized by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded computer, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for realizing the functions specified in Figure 1 one or more of the flows Figure 1 or blocks.

[0123] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory generate a manufactured article including an instruction device, and the instruction device realizes the functions specified in Figure 1 one or more of the flows Figure 1 or blocks.

[0124] These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for realizing the functions specified in Figure 1 one or more of the flows Figure 1 or blocks.

[0125] An embodiment of the present application also provides a computer program product, which includes computer software instructions. When the computer software instructions run on a processing device, the processing device is caused to execute the process of processing the wiring shape data in the corresponding embodiment.

[0126] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions according to the embodiments of the present application are fully or partially generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from a website, a computer, a server, or a data center to another website, computer, server, or data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or a wireless manner (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be stored by a computer or a data storage device such as a server or a data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)), etc.

[0127] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the above-described systems, devices, and units can refer to the corresponding processes in the foregoing method embodiments and will not be described herein again.

[0128] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of units is only a logical function division, and there can be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections of devices or units can be in an electrical, mechanical, or other form.

[0129] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0130] In addition, in each embodiment of the present application, each functional unit may be integrated into a processing unit, may exist physically alone for each unit, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional unit.

[0131] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, may be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods in the various embodiments of the present application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.

[0132] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the various embodiments of the present application.

Claims

1. A metal wire filling method, characterized in that: include: Obtain the vertical coordinate of the logic point currently being processed and the vertical coordinate of the next logic point to be processed on the wiring path; If the vertical coordinates of the two are different, it is determined that metal wire filling is required, and a first metal wire filling shape is generated according to a first evaluation value obtained by performing a design rule check on the pre-filled metal wire, and the first metal wire filling shape is added to the wiring result; If the vertical coordinates of the two are the same, the metal area of ​​the layer where the logic point currently being processed is located is calculated, and the calculated metal area is added to the current area to obtain an updated current area, where the current area is the cumulative metal area up to the current processing stage; If there is a violation in the updated current area, and it is determined that metal line filling is required according to the updated current area, generating a second metal line filling shape according to a second evaluation value obtained by performing a design rule check on the pre-filled metal line, and adding the second metal line filling shape to the routing result; Among them, the generating of the first metal wire filling shape according to the first evaluation value obtained by performing a design rule check on the pre-filled metal wire includes: obtaining the minimum metal area requirement or the minimum metal wire length requirement of the level where the logic point currently being processed is located; using the minimum metal area requirement as the area of ​​the pre-filled metal wire, or determining the area of ​​the pre-filled metal wire according to the minimum metal wire length requirement, and determining the direction of the pre-filled metal wire according to the starting point and the end point of the pre-filled metal wire; performing a design rule check on the area of ​​the pre-filled metal wire and the direction of the pre-filled metal wire, selecting a method that minimizes the first evaluation value, and generating the first metal wire filling shape; The method of generating a second metal wire filling shape based on a second evaluation value obtained by performing a design rule check on the pre-filled metal wire includes: comparing the updated current area with the area under the through-hole metal enclosure of the logic point currently being processed, and taking the larger value of the two as the new current area; calculating the difference between the minimum metal area requirement and the new current area, taking the calculated difference as the area of ​​the pre-filled metal wire, and determining the direction of the pre-filled metal wire based on the starting point and the end point of the pre-filled metal wire; performing a design rule check on the area of ​​the pre-filled metal wire and the direction of the pre-filled metal wire, and selecting a method that minimizes the second evaluation value to generate the second metal wire filling shape.

2. The method according to claim 1, characterized in that: After adding the first metal line filling shape to the routing result, the method further includes: If it is determined that the wiring direction is upward according to the currently processed logic point, then the current area is updated according to the area of ​​the through-hole metal bottom enclosure of the next logic point to be processed; If it is determined according to the logic point currently being processed that the wiring direction is downward, the current area is updated according to the upper enclosed area of ​​the through-hole metal of the next logic point to be processed.

3. The method according to claim 1, characterized in that The method further comprises: Obtaining the minimum metal area requirement or the minimum metal line length requirement of the level where the logic point currently being processed is located; The current technical line length is calculated based on the updated current area. If the updated current area is less than the minimum metal area requirement, or the current technical line length is less than the minimum metal line length requirement, it is determined that the updated current area has a violation.

4. The method according to claim 3, characterized in that The method further comprises: A new current technical line length is calculated based on the new current area. If the new current area is smaller than the minimum metal area requirement, or the new current technical line length is smaller than the minimum metal line length requirement, it is determined that metal line filling is required.

5. The method according to claim 1, characterized in that The method further comprises: After adding the second metal wire filling shape to the routing result, merging the upper metal enclosing area of ​​the through hole corresponding to the currently processed logic point with the lower metal enclosing area of ​​the through hole of the previous layer, and selecting the maximum enclosing range of the two areas as the merged metal shape; or Merge the metal upper enclosing area of ​​the through hole corresponding to the currently processed logic point with the metal upper enclosing area of ​​the through hole of the next layer, and select the largest enclosing range of the two areas as the merged metal shape; or Merge the metal lower enclosing area of ​​the through hole corresponding to the currently processed logic point with the metal lower enclosing area of ​​the through hole in the previous layer, and select the largest enclosing range of the two areas as the merged metal shape; or The metal lower enclosing area of ​​the through hole corresponding to the currently processed logic point is merged with the metal upper enclosing area of ​​the next layer of through holes, and the maximum enclosing range of the two areas is selected as the merged metal shape.

6. The method according to claim 1 or 3, characterized in that: Obtaining the minimum metal area requirement or minimum metal line length requirement of the level where the currently processed logic point is located, including: Acquire the minimum area rule of the metal line at the level where the logic point currently being processed is located from the technical rule database; If the metal line minimum area rule is a single rule, the minimum area in the metal line minimum area rule is used as the minimum metal area requirement; If the metal wire minimum area rule is a complex rule, then calculate the quotient of the minimum area in the metal wire minimum area rule and the metal wire width, compare the maximum side length in the metal wire minimum area rule with the quotient, or compare the minimum side length in the metal wire minimum area rule with the quotient, take the maximum value of the two as the minimum metal wire length requirement, or take the minimum value of the two as the minimum metal wire length requirement, and determine the minimum metal area requirement based on the minimum metal wire length requirement.

7. The method according to claim 1, characterized in that According to the starting point and the end point of the pre-filled metal wire, the direction of the pre-filled metal wire is determined, including: Determine the starting point direction of the pre-filled metal wire according to the coordinate difference in the horizontal axis direction and the coordinate difference in the vertical axis direction between the previous logic point of the currently processed logic point and the preceding logic point of the previous logic point, and determine the direction of the pre-filled metal wire on one side of the starting point as the outside of the starting point direction according to the starting point direction of the pre-filled metal wire; The end point direction of the pre-filled metal wire is determined based on the coordinate difference in the horizontal axis direction and the coordinate difference in the vertical axis direction between the currently processed logic point and the previous logic point of the currently processed logic point, and based on the end point direction of the pre-filled metal wire, the direction of the pre-filled metal wire on one side of the end point is determined to be outside the end point direction.

8. A metal wire filling device, characterized in that: include: An acquisition unit configured to acquire the vertical coordinate of the logic point currently being processed and the vertical coordinate of the next logic point to be processed on the wiring path; A first filling unit is configured to determine that metal wire filling is required if the vertical coordinates of the two are different, generate a first metal wire filling shape according to a first evaluation value obtained by performing a design rule check on the pre-filled metal wire, and add the first metal wire filling shape to the routing result; A calculation unit is configured to calculate the metal area of ​​the layer where the logic point currently being processed is located if the vertical coordinates of the two are the same, and add the calculated metal area to the current area to obtain an updated current area, wherein the current area is the cumulative metal area up to the current processing stage; A second filling unit is configured to generate a second metal line filling shape according to a second evaluation value obtained by performing a design rule check on the pre-filled metal line if there is a violation in the updated current area and it is determined that metal line filling is required according to the updated current area, and add the second metal line filling shape to the routing result; Among them, the generating of the first metal wire filling shape according to the first evaluation value obtained by performing a design rule check on the pre-filled metal wire includes: obtaining the minimum metal area requirement or the minimum metal wire length requirement of the level where the logic point currently being processed is located; using the minimum metal area requirement as the area of ​​the pre-filled metal wire, or determining the area of ​​the pre-filled metal wire according to the minimum metal wire length requirement, and determining the direction of the pre-filled metal wire according to the starting point and the end point of the pre-filled metal wire; performing a design rule check on the area of ​​the pre-filled metal wire and the direction of the pre-filled metal wire, selecting a method that minimizes the first evaluation value, and generating the first metal wire filling shape; The method of generating a second metal wire filling shape based on a second evaluation value obtained by performing a design rule check on the pre-filled metal wire includes: comparing the updated current area with the area under the through-hole metal enclosure of the logic point currently being processed, and taking the larger value of the two as the new current area; calculating the difference between the minimum metal area requirement and the new current area, taking the calculated difference as the area of ​​the pre-filled metal wire, and determining the direction of the pre-filled metal wire based on the starting point and the end point of the pre-filled metal wire; performing a design rule check on the area of ​​the pre-filled metal wire and the direction of the pre-filled metal wire, and selecting a method that minimizes the second evaluation value to generate the second metal wire filling shape.

9. An electronic device, comprising: A memory and a processor, wherein the processor is used to implement the steps of the metal wire filling method according to any one of claims 1 to 7 when executing a computer program stored in the memory.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the metal line filling method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • Method for optimizing integrated circuit layout heat distribution

    CN102314526A

  • Matrix extraction method for rapidly acquiring electromagnetic scattering characteristics of metal bodies of revolution

    CN103425816A