Short circuit position positioning method, device, equipment and storage medium

CN116070582BActive Publication Date: 2026-09-01BEIJING ESWIN COMPUTING TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310106278.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-01-31
Publication Date
2026-09-01
Estimated Expiration
2043-01-31

AI Technical Summary

Technical Problem

相关电子设计自动化(Electronics DesignAutomation,EDA)技术虽然能检测显示出短路连接线的最短路径,但随着连线使用的金属层增多和连线复杂程度的增加,在显示的短路最短路径里定位出具体短路相应的位置和相应的金属层,需要耗费操作人员较长的时间

Benefits of technology

[0018]本申请实施例提供一种计算机程序,包括计算机可读代码,当所述计算机可读代码在计算机设备中运行时,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116070582B_ABST
    Figure CN116070582B_ABST
Patent Text Reader

Abstract

Embodiments of the application disclose a short-circuit position positioning method, device and equipment and a storage medium, wherein the method comprises the following steps: determining metal lines associated with at least two external pins in a circuit layout to be positioned; segmenting the metal lines to obtain a plurality of metal blocks; determining short-circuit information of the plurality of metal blocks in the circuit layout to be positioned; classifying the plurality of metal blocks based on the short-circuit information to obtain first-type metal blocks and second-type metal blocks; and determining a short-circuit position in the circuit layout to be positioned based on the first-type metal blocks and the second-type metal blocks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to, but is not limited to, the field of electronic design automation, and particularly to a short-circuit location locator, apparatus, device, and storage medium. Background Technology

[0002] As integrated circuits become increasingly larger and more complex, the number of metal interconnect layers used in the manufacturing process increases, making short circuits in the integrated circuit layout more likely to occur. While Electronic Design Automation (EDA) technology can detect and display the shortest path for shorted connections, locating the specific short circuit location and corresponding metal layer within the displayed shortest path becomes time-consuming for operators, especially given the increasing number and complexity of interconnects. Summary of the Invention

[0003] In view of this, embodiments of this application provide at least one method, apparatus, device, and storage medium for locating short circuit locations.

[0004] In a first aspect, embodiments of this application provide a short-circuit location locating method, the method comprising:

[0005] In the circuit layout to be located, identify the metal lines associated with at least two external pins;

[0006] The metal wire is divided to obtain multiple metal blocks;

[0007] Determine the short-circuit information of the plurality of metal blocks in the circuit layout to be located;

[0008] Based on the short-circuit information, the multiple metal blocks are classified to obtain a first type of metal block and a second type of metal block;

[0009] Based on the first type of metal block and the second type of metal block, the short circuit location in the circuit layout to be located is determined.

[0010] Secondly, embodiments of this application provide a short-circuit location locating device, the device comprising:

[0011] The first determining module is used to determine, in the circuit layout to be located, the metal lines associated with at least two external pins;

[0012] The first segmentation module is used to segment the metal wire to obtain multiple metal blocks;

[0013] The second determining module is used to determine the short-circuit information of the plurality of metal blocks in the circuit layout to be located.

[0014] The first classification module is used to classify the multiple metal blocks based on the short-circuit information to obtain a first type of metal block and a second type of metal block;

[0015] The third determining module is used to determine the short circuit location in the circuit layout to be located based on the first type of metal block and the second type of metal block.

[0016] Thirdly, embodiments of this application provide a computer device, including a memory and a processor, wherein the memory stores a computer program that can run on the processor, and the processor executes the program to implement the steps in the method described above.

[0017] Fourthly, embodiments of this application provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements some or all of the steps in the above-described method.

[0018] This application provides a computer program including computer-readable code. When the computer-readable code is run in a computer device, the processor in the computer device executes some or all of the steps in the above-described method.

[0019] This application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, it implements some or all of the steps in the above method.

[0020] In this embodiment, for a circuit layout with a short circuit, firstly, the metal lines associated with at least two external pins are identified in the circuit layout, and these metal lines are segmented to obtain multiple metal blocks. Segmenting the metal lines associated with the external pins facilitates faster location of the short circuit in the circuit layout using these multiple metal blocks. Then, the multiple metal blocks are classified based on their short circuit information within the circuit layout, resulting in two types of metal blocks: a first type and a second type. This classification allows for the differentiation of different types of metal blocks. Finally, the short circuit location in the circuit layout is determined using the first and second types of metal blocks. In this way, by dividing the metal lines associated with at least two external pins and classifying the resulting metal blocks, since the first and second categories of metal blocks obtained after classification are both small-area metal blocks, it is possible to analyze these different categories of metal blocks one by one to identify the metal block that has short-circuited, thereby more accurately and quickly determining the short-circuit location in the circuit layout to be located.

[0021] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and are not intended to limit the technical solutions of this disclosure. Attached Figure Description

[0022] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the technical solutions of this application.

[0023] Figure 1 A schematic diagram illustrating the implementation process of a short-circuit location locator method provided in an embodiment of this application;

[0024] Figure 2 This is a schematic diagram illustrating another implementation process of a short-circuit location locator method provided in an embodiment of this application;

[0025] Figure 3 This is a schematic diagram illustrating an application scenario of a short-circuit location locator method provided in an embodiment of this application.

[0026] Figure 4 A schematic diagram illustrating another application scenario of the short-circuit location locating method provided in the embodiments of this application;

[0027] Figure 5 This is a schematic diagram illustrating another application scenario of the short-circuit location locating method provided in the embodiments of this application;

[0028] Figure 6 A schematic diagram illustrating another application scenario of the short-circuit location locating method provided in the embodiments of this application;

[0029] Figure 7 A schematic diagram illustrating another application scenario of the short-circuit location locating method provided in the embodiments of this application;

[0030] Figure 8 This is a schematic diagram of the composition structure of a short-circuit location locating device provided in an embodiment of this application;

[0031] Figure 9 This is a schematic diagram of a hardware entity of an electronic device for locating short-circuit positions in an embodiment of this application. Detailed Implementation

[0032] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application are further described in detail below with reference to the accompanying drawings and embodiments. The described embodiments should not be regarded as limitations on this application. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0033] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0034] The terms “first / second / third” are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that “first / second / third” may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.

[0035] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. The terminology used herein is for descriptive purposes only and is not intended to limit the scope of this application.

[0036] Before providing a further detailed description of the embodiments of this application, the nouns and terms involved in the embodiments of this application will be explained, and the nouns and terms involved in the embodiments of this application shall be interpreted as follows.

[0037] 1) Electronic Design Automation (EDA) technology uses computers as tools on EDA software platforms to integrate the latest advancements in electronic technology, computer technology, information processing, and intelligent technologies for the automated design of electronic products. Using EDA tools, electronic systems can be designed from the initial concepts, algorithms, and protocols. A significant amount of work can be completed by computer, and the entire process of designing electronic products, from circuit design and performance analysis to creating different types of circuit layouts, can be automated on a computer.

[0038] 2) Integrated circuit layout is a planar geometric description of the actual physical state of an integrated circuit.

[0039] Based on this, embodiments of this application provide a short-circuit location method applicable to electronic devices with integrated circuits. This method involves segmenting the metal lines associated with at least two external pins and classifying the resulting multiple metal blocks. Since the first and second categories of metal blocks obtained after classification are both relatively small, it is possible to analyze these different categories of metal blocks one by one to identify the metal block experiencing the short circuit. This allows for a more accurate and rapid determination of the short-circuit location in the circuit layout. In embodiments of this application, this short-circuit location method can be executed by a processor of a computer device. Figure 1 This is a schematic diagram illustrating the implementation process of a short-circuit location locator method provided in an embodiment of this application. This method can be implemented by an electronic device, such as... Figure 1 As shown, the method includes the following steps S101 to S105:

[0040] Step S101: In the circuit layout to be located, determine the metal lines associated with at least two external pins.

[0041] Here, the circuit layout to be located can be the layout corresponding to the circuit that has a short circuit. At least two external pins are any two external pins on the metal layer of the circuit layout to be located. For example, if the metal layer has hundreds of external pins, the at least two external pins can be any of those hundreds of external pins. In some possible implementations, the circuit layout to be located can be a module implementing any function in an integrated circuit layout. For example, the short-circuited portion of the integrated circuit in a display panel. At least two external pins are external pins on the metal layer of the circuit layout to be located. The metal lines associated with the at least two external pins are the wires connected to the at least two external pins in the circuit.

[0042] In some possible implementations, firstly, the current functional module is determined in the circuit layout to be located. This current functional module is the one that is currently visible, and it includes multiple metal layers, components, etc. Then, at least two external pins are determined in at least one metal layer of this current module. For example, in the multiple metal layers included in the current functional module, each metal layer has multiple external pins, and these at least two external pins can be pins on the same metal layer or pins on different metal layers. Finally, the metal lines connected to the at least two external pins are determined. For example, in the circuit layout to be located, the metal layers to which the at least two external pins are connected, vias between multiple metal layers, wires directly connected through the pins, and wires connected through vias are determined, thereby obtaining the metal lines connected to the at least two external pins.

[0043] Step S102: The metal wire is divided into multiple metal blocks.

[0044] Here, the obtained metal wire is divided into equal intervals to obtain multiple metal blocks of the same size; alternatively, the metal wire can be divided into different intervals to obtain multiple metal blocks of different sizes.

[0045] In some possible implementations, the metal line can be divided into multiple metal blocks according to a certain width. This certain width can be the minimum width of the process metal in the circuit layout to be located, or it can be greater than that minimum width. In this way, by dividing the metal line, multiple smaller metal blocks can be obtained, making it easier to locate short circuit positions in the circuit layout using these metal blocks.

[0046] Step S103: Determine the short-circuit information of the plurality of metal blocks in the circuit layout to be located.

[0047] Here, short-circuit information is used to characterize the short-circuit status of each metal block in the circuit layout to be located, that is, whether a short circuit still exists after the metal block is deleted from the circuit layout to be located.

[0048] In some possible implementations, each metal block is cyclically deleted from the circuit layout to be located, and it is determined whether a short circuit still exists after the deletion of the metal block. The short circuit information of each metal block is obtained by binding it to whether a short circuit still exists in the circuit after its deletion, and this process is repeated for multiple metal blocks.

[0049] Step S104: Based on the short-circuit information, classify the multiple metal blocks to obtain a first type of metal block and a second type of metal block.

[0050] Here, based on the short-circuit information, multiple metal blocks are divided into two categories: Category 1 metal blocks and Category 2 metal blocks. In some possible implementations, if the short-circuit information indicates that a short circuit still exists in the circuit layout to be located after removing the metal block, the metal block is classified as Category 1 metal block. If the short-circuit information indicates that the short circuit has been eliminated in the circuit layout to be located after removing the metal block, the metal block is classified as Category 2 metal block. In this way, multiple complex metal blocks are distinguished using the short-circuit information, thereby obtaining Category 1 and Category 2 metal blocks with clearly defined short-circuit information.

[0051] Step S105: Based on the first type of metal block and the second type of metal block, determine the short circuit location in the circuit layout to be located.

[0052] Here, the two closest metal blocks from the first and second categories are identified. Since the first category indicates that a short circuit still exists in the circuit layout to be located after deleting metal blocks of that category, and the second category indicates that the short circuit has been eliminated in the circuit layout to be located after deleting metal blocks of that category, the identified closest metal blocks belonging to the two categories can encompass the short circuit location in the circuit layout to be located. Therefore, the short circuit location can be obtained by determining the positions of the two closest metal blocks.

[0053] In this embodiment, for a circuit layout with a short circuit, firstly, the metal lines associated with at least two external pins are identified in the circuit layout, and these metal lines are segmented to obtain multiple metal blocks. Segmenting the metal lines associated with the external pins facilitates faster location of the short circuit using these multiple metal blocks. Then, based on the short circuit information of these multiple metal blocks in the circuit layout, they are classified into two types: a first type and a second type. This classification allows for the differentiation of different types of metal blocks. Finally, the short circuit location in the circuit layout is determined using the first and second types of metal blocks. In this way, by dividing the metal lines associated with at least two external pins and classifying the resulting metal blocks, since the first and second categories of metal blocks obtained after classification are both small metal blocks, it is possible to analyze these different categories of metal blocks one by one to identify the metal block that has short-circuited, thereby more accurately and quickly determining the short-circuit location in the circuit layout to be located.

[0054] In some embodiments, it is determined whether a short circuit still exists in the circuit layout to be located by deleting any metal block. That is, the above step S103 can be achieved by the following steps S131 and S132 (not shown in the figure):

[0055] Step S131: In the circuit layout to be located, delete any one of the plurality of metal blocks to obtain an updated circuit layout to be located.

[0056] Here, in the circuit layout to be located, for each of the multiple metal blocks, one metal block is deleted at a time, resulting in the updated circuit layout corresponding to that metal block. In this way, the updated circuit layout corresponding to each metal block is different; that is, the updated circuit layout corresponding to each metal block is obtained by deleting only that metal block from the original circuit layout.

[0057] Step S132: Determine whether there is a short circuit in the updated circuit layout to be located, and obtain the short circuit information of any metal block.

[0058] Here, in the circuit layout to be located, after deleting a metal block, the updated circuit layout to be located corresponding to the metal block is obtained, and it is determined whether there is still a short circuit in the updated circuit layout to be located. The existence of a short circuit is used as the short circuit information of the metal block.

[0059] In some possible implementations, each metal block is deleted sequentially. If, after deleting a metal block, the path in the updated circuit layout to be located is still open, then it indicates that a short circuit still exists in the circuit layout to be located; that is, a short circuit still exists in the updated circuit layout corresponding to that metal block. For example... Figure 5 As shown, if the metal blocks in regions 51 and 52 are deleted, the path between A and B remains open, so the short circuit is not eliminated; that is, a short circuit still exists in the updated circuit layout corresponding to the metal blocks in regions 51 and 52. If the metal blocks in regions 53 and 54 are deleted, the path between A and B is broken, so the short circuit is eliminated; that is, there is no short circuit in the updated circuit layout corresponding to the metal blocks in regions 53 and 54. Thus, by cyclically deleting each metal block in the circuit layout, it is determined whether a short circuit still exists in the circuit after deleting the metal block. The short circuit status after deleting the metal block is used as the short circuit information for that metal block. This facilitates the classification of multiple metal blocks into two categories using this short circuit information, thereby enabling more precise location of short circuits.

[0060] In some embodiments, the category to which the metal block belongs is determined by whether a short circuit exists in the updated circuit layout to be located, as characterized by short circuit information. That is, step S104 above can be implemented by the following steps S141 and S142 (not shown in the figure):

[0061] Step S141: If the short circuit information of any metal block indicates that there is a short circuit in the updated circuit layout corresponding to the metal block, then determine that the metal block belongs to the first type of metal block.

[0062] Here, short-circuit information indicates that a short circuit exists in the updated circuit layout corresponding to any metal block, meaning that the short circuit still exists after the metal block is deleted from the circuit layout. Such metal blocks are classified as first-class metal blocks. These first-class metal blocks can be stored in the form of an array, meaning that the array corresponding to the first-class metal blocks contains metal blocks that still exhibit short circuits in the circuit after deletion.

[0063] Step S142: If the short circuit information of any metal block indicates that the short circuit has been eliminated in the updated circuit layout corresponding to the metal block, then determine that the metal block belongs to the second type of metal block.

[0064] Here, short-circuit information indicates that there is no short circuit in the updated circuit layout corresponding to any metal block, meaning that the short circuit is eliminated after deleting the metal block from the circuit layout. Such metal blocks are classified as second-class metal blocks. These second-class metal blocks can be stored in an array; that is, the array corresponding to the second-class metal blocks contains all metal blocks whose short circuits were eliminated after deletion. Thus, by classifying multiple metal blocks into two categories based on whether a short circuit still exists in the updated circuit layout as indicated by the short-circuit information, it is possible to distinguish between metal blocks with complex and unknown short-circuit conditions, facilitating subsequent short-circuit location using these two categories of metal blocks.

[0065] In some embodiments, the short circuit location is determined by identifying the two metal blocks with the smallest inter-block distance in the first type of metal blocks and the second type of metal blocks, respectively. That is, step S105 above can be achieved by... Figure 2 The steps shown are to be implemented as follows:

[0066] Step S201: Among the first type of metal blocks and the second type of metal blocks, determine the first target metal block and the second target metal block with the smallest inter-block distance, respectively.

[0067] Here, the first target metal block belongs to the first type of metal block, and the second target metal block belongs to the second type of metal block.

[0068] In some possible implementations, the two target metal blocks with the smallest distances—namely, the first target metal block and the second target metal block—are determined by calculating the distances between each metal block in the first category and each metal block in the second category. Since these two target metal blocks belong to different categories, the areas covered by the first and second target metal blocks necessarily include the short-circuit location.

[0069] Step S202: Based on the first target metal block and the second target metal block, determine the short circuit location in the circuit layout to be located.

[0070] Here, since the regions corresponding to the first and second target metal blocks include short-circuit locations, and the distance between the two target metal blocks is minimal, the regions corresponding to the first and second target metal blocks constitute the smallest region containing short-circuit locations. Based on this, the regions corresponding to the first and second target metal blocks are taken as the short-circuit locations in the circuit layout to be located. Thus, by identifying the two target metal blocks with the smallest inter-block distance among different types of metal blocks, these two target metal blocks necessarily contain short-circuit locations. Furthermore, since the inter-block distance between these two target metal blocks is minimal, the short-circuit locations can be accurately located using the positions of these two target metal blocks.

[0071] In some embodiments, by analyzing the inter-block distance between every two metal blocks in the two types of metal blocks, the two target metal blocks with the smallest inter-block distance are determined. That is, the above step S201 can be achieved by the following steps S211 and S212 (not shown in the figure):

[0072] Step S211: For each metal block in the first type of metal blocks, determine the inter-block distance between each metal block and each metal block in the second type of metal blocks, and obtain multiple inter-block distances.

[0073] Here, for each metal block in the first category, the distance between that metal block and each metal block in the second category is determined, thus obtaining multiple inter-block distances. For example, if there are 10 metal blocks in the first category and 8 metal blocks in the second category, the distance between each metal block in the first category and the 8 metal blocks in the second category is determined, thus obtaining 8 inter-block distances for that metal block; in this way, the distances between each of the 10 metal blocks and the 8 metal blocks are finally determined, resulting in 80 inter-block distances.

[0074] Step S212: Among the first type of metal block and the second type of metal block, based on the plurality of inter-block distances, determine the first target metal block and the second target metal block with the smallest inter-block distance.

[0075] Here, among multiple inter-block distances, the smallest inter-block distance is determined. The two target metal blocks corresponding to this smallest inter-block distance are designated as the first target metal block and the second target metal block, respectively. In this way, by determining the inter-block distance between each metal block in the first type of metal blocks and each metal block in the second type of metal blocks, the first and second target metal blocks with the smallest inter-block distance can be identified, making it easier to more accurately locate the short circuit position in the circuit using these two target metal blocks.

[0076] In some embodiments, the distance between two types of metal blocks is determined according to the position information of a first preset point in each metal block. That is, step S211 above can be achieved through the following steps:

[0077] The first step is to determine the position information of each metal block in the first type of metal blocks and each metal block in the second type of metal blocks at a first preset point.

[0078] Here, for each metal block in the first type of metal blocks and each metal block in the second type of metal blocks, the position of the entire metal block is represented by the position information of a first preset point within the metal block. This first preset point can be the center point, or it can be a point near the center point, for example, a point whose distance from the center point is less than a certain distance. The position information of the first preset point is its coordinates.

[0079] The second step is to determine the distance between the multiple blocks based on the position information of the first preset point of each metal block in the first type of metal blocks and the position information of the first preset point of each metal block in the second type of metal blocks.

[0080] Here, for each metal block in the first type of metal blocks, the distance between two metal blocks is determined according to the coordinates of a first preset point of that metal block and the coordinates of a first preset point of each metal block in the second type of metal blocks. For example, taking the first preset point as the center point, the distance between every two metal blocks in these two types of metal blocks is determined by determining the coordinates of the center points of each metal block in the first type of metal blocks and the center points of each metal block in the second type of metal blocks. Thus, by using the position information of the center point to represent the position of a metal block, the distance between two metal blocks can be determined more accurately.

[0081] In some embodiments, a target area is determined by two target metal blocks, and the short circuit location is located in the target area. That is, step S202 above can be achieved by the following steps S221 and S222 (not shown in the figure):

[0082] Step S221: Determine the target area based on the first target metal block and the second target metal block.

[0083] Here, the target area includes at least the area where the first target metal block and the second target metal block are located. This target area is obtained by combining the first target metal block and the second target metal block, and may include both overlapping and non-overlapping areas of these two target areas. It may also include the surrounding area of ​​these two target areas.

[0084] Step S222: The location information of the second preset point in the target area is determined as the short circuit location in the circuit layout to be located.

[0085] Here, the second preset point and the first preset point may be of the same or different types. The second preset point can be the center point of the target area, a vertex of the target area, or any other point. Since the target area is obtained by combining the first target metal block and the second target metal block, and the area where the first target metal block and the second target metal block are located is the smallest area including the short circuit location, using the position information of any point in the target area as the short circuit location can provide the user with an accurate short circuit location.

[0086] In this embodiment, a target area is obtained by combining the first target metal block and the second target metal block. The position information of the second preset point in the target area is used as the short circuit position in the circuit layout to be located. Since the first target metal block and the second target metal block are the metal blocks with the smallest inter-block distance among the two types of metal blocks, the target area obtained by the first target metal block and the second target metal block is the smallest area that includes the short circuit position. Thus, the short circuit position in the circuit layout to be located can be obtained by using the position information of the second preset point in the target area, which can improve the accuracy of short circuit position location.

[0087] In some embodiments, to ensure that the target area includes the short circuit location and improves the accuracy of short circuit location, the target area can be determined in the following two ways:

[0088] Method 1: First, merge the first target metal block and the second target metal block to obtain the merged area.

[0089] Here, an OR operation is performed on the first target metal block and the second target metal block to merge the two target metal blocks and obtain a merged region; thus, the merged region includes the area where the first target metal block and the second target metal block are located.

[0090] The second step is to enlarge the merged area according to a preset size to obtain the target area.

[0091] Here, the merged area is enlarged outwards according to the preset size to obtain the target area. This preset size can be set based on the size of the metal block or the segmentation size when dividing the metal wire. In some possible implementations, the preset size is smaller than the side length of the metal block, for example, half the side length of the metal block. The preset size is also smaller than the segmentation size, for example, one-quarter of the segmentation size. In a specific example, the preset size can be 1 micrometer (µm). Thus, after merging the first target metal block and the second target metal block, and enlarging outwards according to the preset size, the target area is obtained; this allows the target area to more accurately include the short circuit location, thereby displaying the precise short circuit location to the user.

[0092] Method 2: First, enlarge the first target metal block and the second target metal block according to the preset size to obtain the enlarged first target metal block and the enlarged second target metal block.

[0093] Here, the first and second target metal blocks are enlarged in all directions according to the preset size, resulting in enlarged first and second target metal blocks. For example, the first and second target metal blocks are each enlarged by 1µm in all directions. In this way, the enlarged first and second target metal blocks will necessarily cover the short circuit location.

[0094] The second step is to determine the overlapping area between the magnified first target metal block and the magnified second target metal block as the target area.

[0095] Here, since the enlarged first and second target metal blocks are obtained by magnifying existing metal blocks, and since they cover the short-circuit location, the overlapping area between them is a relatively small area that includes the short-circuit location. This overlapping area can accurately represent the short-circuit location. Thus, by first enlarging the two target metal blocks to a preset size, the enlarged first and second target metal blocks can more accurately cover the short-circuit location. Therefore, the overlapping area between the enlarged first and second target metal blocks must be the smallest area that includes the short-circuit location, allowing for a more accurate display of the short-circuit location.

[0096] In some embodiments, by considering the complexity of the circuit layout to be located and the metal processing information of the circuit layout to be located, the segmentation size for dividing the metal lines is set, that is, the above step S102 can be implemented by the following steps S121 and S122 (not shown in the figure):

[0097] Step S121: Determine the segmentation size based on the complexity of the circuit layout to be located and the metal processing information of the circuit layout to be located.

[0098] Here, the complexity of the circuit layout to be located refers to the number of metal layers, the crossover density of interconnects, and the density, type, and quantity of components in the layout. The more metal layers, the higher the crossover density of interconnects, and / or the higher the density, type, and quantity of components, the higher the complexity of the circuit layout. The metal processing information of the circuit layout indicates the width of the process metals that the layout can support, such as the minimum width of the process metals that can be supported.

[0099] In some possible implementations, if the complexity of the circuit layout to be located exceeds a complexity threshold, the segmentation size is set to the minimum width of the process metal that the circuit can support, as indicated in the metal processing information. This complexity threshold can be user-defined by the developer. If the complexity of the circuit layout to be located is less than the complexity threshold, the segmentation size is set to be greater than the minimum width of the process metal.

[0100] Step S122: Divide the metal wire according to the division size to obtain the plurality of metal blocks.

[0101] Here, for the metal lines extracted from the circuit layout to be located, the metal lines are divided into equal-width segments according to the specified segmentation size, resulting in multiple metal blocks of the same size. Thus, for circuit layouts with high complexity, segmenting the metal lines using the minimum width of the process metal allows for the location of short circuits in smaller blocks, providing a more precise short circuit location. For circuit layouts with lower complexity, using a larger segmentation size results in fewer metal blocks, thereby improving both the accuracy and speed of short circuit location.

[0102] The following describes the application of the short-circuit location positioning method provided in the embodiments of this application in a real-world scenario, taking the accurate positioning of short-circuit locations in integrated circuit layouts as an example.

[0103] In this embodiment of the application, the location of a short circuit in the integrated circuit layout can be determined through the following steps:

[0104] The first step is to extract all the information about the metal wires that connect the two pins.

[0105] like Figure 3 As shown, all the information of the metal wires connected to pin A and pin B is extracted.

[0106] Here, the metal wire information includes: the metal layers to which pin A and pin B are connected, the vias between multiple metal layers, the wires directly connected through the pins, and the wires connected through the vias, etc.

[0107] The second step is to divide the metal connection into segments of a certain width (e.g., the minimum width of the metal in this process) and then label the segmented metal blocks with corresponding virtual information.

[0108] like Figure 4 As shown, the metal blocks after the segmentation of the metal wire information connected to pin A are labeled I1, I2, ..., In; and the metal blocks after the segmentation of the metal wire information connected to pin B are labeled I11, I12, ..., Inn.

[0109] The third step is to delete each metal block in a loop and check whether there is a short circuit in the connection relationship. If the deleted metal block cannot eliminate the short circuit relationship, the metal block (center position coordinates) is stored in the hold array (corresponding to the first type of metal block in the above embodiment). If the deleted metal block eliminates the short circuit relationship, the metal block (center position coordinates) is stored in the delete array (corresponding to the second type of metal block in the above embodiment).

[0110] like Figure 5 As shown, deleting the metal blocks in regions 51 and 52 does not eliminate the short circuit. Therefore, the coordinates of the center positions of the metal blocks in regions 51 and 52 are stored in the hold array 501 in the Linux system in the form of a table. Deleting the metal blocks in regions 53 and 54 eliminates the short circuit. Therefore, the coordinates of the center positions of the metal blocks in regions 53 and 54 are stored in the delete array 502 in the Linux system in the form of a table.

[0111] In some possible implementations, the center point coordinates of the metal block can be replaced with the vertex coordinates or other coordinates of the metal block.

[0112] The fourth step, after obtaining the hold array and delete array, involves iteratively comparing the center coordinates of the metal blocks in the delete array with the center coordinates of the metal blocks in the hold array to calculate the distance between the two points. The two target metal blocks with the smallest distances are then identified as the metal blocks where the short circuit occurred. For example... Figure 6 As shown, metal blocks 61 and 62 are the two target metal blocks with the smallest determined distance, so the short circuit occurs within region 63.

[0113] The fifth step involves performing an OR operation on the two target metal blocks with the smallest distance to obtain a new operational shape for the corresponding metal layer. This new shape is then magnified in all directions (e.g., by 1 micrometer), and the center coordinates of the two short-circuited metal blocks are output using a graphical user interface (GUI) window. This allows users to more easily observe the specific location of the short circuit and obtain the final result.

[0114] like Figure 7 As shown, the two target metal blocks with the smallest distance are magnified in all directions to obtain region 71. Thus, the short circuit location can be represented by the coordinates of the center point of region 71 * (12.03, 52.36).

[0115] In some possible implementations, performing an OR operation on the two metal blocks with the smallest distance can be replaced with other operations to obtain the region near these two metal blocks. (For example, first enlarge each of the two metal blocks, and then obtain the overlapping region through an AND operation).

[0116] Step 6: When there is more than one short circuit, after confirming and modifying the first short circuit point, repeat steps 3 to 5 above to locate the remaining short circuit locations in turn.

[0117] In this embodiment, the short-circuit metal connection is divided into several small blocks, which are then classified into hold arrays and delete arrays. Based on the center point coordinates, the two points with the shortest distance between the two sets of data are found, thereby determining the precise location of the short circuit in the circuit layout.

[0118] Based on the foregoing embodiments, this application provides a short-circuit location positioning device. The device includes various units and modules included in each unit, which can be implemented by a processor in a computer device; of course, it can also be implemented by specific logic circuits. In the implementation process, the processor can be a central processing unit (CPU), a microprocessor unit (MPU), a digital signal processor (DSP), or a field programmable gate array (FPGA), etc.

[0119] This application provides a short-circuit location locating device. Figure 8 This is a schematic diagram of the composition structure of a short-circuit location locating device provided in an embodiment of this application, as shown below. Figure 8 As shown, the short-circuit location locating device 800 includes:

[0120] The first determining module 801 is used to determine, in the circuit layout to be located, the metal lines associated with at least two external pins;

[0121] The first segmentation module 802 is used to segment the metal wire to obtain multiple metal blocks;

[0122] The second determining module 803 is used to determine the short circuit information of the plurality of metal blocks in the circuit layout to be located.

[0123] The first classification module 804 is used to classify the plurality of metal blocks based on the short-circuit information to obtain a first type of metal block and a second type of metal block;

[0124] The third determining module 805 is used to determine the short circuit location in the circuit layout to be located based on the first type of metal block and the second type of metal block.

[0125] In some embodiments, the second determining module 803 includes:

[0126] The first deletion submodule is used to delete any one of the plurality of metal blocks in the circuit layout to be located, so as to obtain an updated circuit layout to be located.

[0127] The first determining submodule is used to determine whether there is a short circuit in the updated circuit layout to be located, and to obtain the short circuit information of any metal block.

[0128] In some embodiments, the first classification module 804 includes:

[0129] The second determining submodule is used to determine that any metal block belongs to the first type of metal block when the short circuit information of any metal block indicates that there is a short circuit in the updated circuit layout to be located corresponding to any metal block.

[0130] The third determining submodule is used to determine that any metal block belongs to the second type of metal block when the short circuit information of any metal block indicates that the short circuit has been eliminated in the updated circuit layout to be located corresponding to any metal block.

[0131] In some embodiments, the third determining module 805 includes:

[0132] The fourth determination submodule is used to determine, respectively, the first target metal block and the second target metal block with the smallest inter-block distance among the first type of metal blocks and the second type of metal blocks;

[0133] The first positioning submodule is used to locate the short circuit position in the circuit layout to be positioned based on the first target metal block and the second target metal block.

[0134] In some embodiments, the fourth determining submodule includes:

[0135] The first determining unit is used to determine the inter-block distance between each metal block in the first type of metal blocks and each metal block in the second type of metal blocks for each metal block in the first type of metal blocks, thereby obtaining multiple inter-block distances;

[0136] The second determining unit is configured to determine, among the first type of metal block and the second type of metal block, the first target metal block and the second target metal block with the smallest inter-block distance based on the plurality of inter-block distances.

[0137] In some embodiments, the first determining unit includes:

[0138] The first determining subunit is used to determine the position information of each metal block in the first type of metal blocks and each metal block in the second type of metal blocks, respectively;

[0139] The second determining subunit is used to determine the distance between the plurality of blocks based on the position information of the first preset point of each metal block in the first type of metal blocks and the position information of the first preset point of each metal block in the second type of metal blocks.

[0140] In some embodiments, the first positioning submodule is configured to include:

[0141] The third determining unit is used to determine the target area based on the first target metal block and the second target metal block;

[0142] The fourth determining unit is used to determine the location information of the second preset point in the target area as the short circuit location in the circuit layout to be located; wherein the second preset point and the first preset point are of the same or different types.

[0143] In some embodiments, the third determining unit includes:

[0144] The first merging subunit is used to merge the first target metal block and the second target metal block to obtain a merged region;

[0145] The first magnification subunit is used to magnify the merged region according to a preset size to obtain the target region.

[0146] In some embodiments, the third determining unit includes:

[0147] The second magnification subunit is used to magnify the first target metal block and the second target metal block according to a preset size, respectively, to obtain the magnified first target metal block and the magnified second target metal block;

[0148] The fourth determining subunit is used to determine the overlapping area between the magnified first target metal block and the magnified second target metal block as the target area.

[0149] In some embodiments, the first segmentation module 802 includes:

[0150] The fifth determining submodule is used to determine the segmentation size based on the complexity of the circuit layout to be located and the metal processing information of the circuit layout to be located;

[0151] The first segmentation submodule is used to segment the metal wire based on the segmentation size to obtain the plurality of metal blocks.

[0152] The descriptions of the apparatus embodiments above are similar to those of the method embodiments above, and have similar beneficial effects. In some embodiments, the functions or modules included in the apparatus provided in this disclosure can be used to perform the methods described in the method embodiments above. For technical details not disclosed in the apparatus embodiments of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0153] It should be noted that, in the embodiments of this application, if the above-described short-circuit location method is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiments of this application, or the part that contributes to the related technology, can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, mobile hard drives, read-only memory (ROM), magnetic disks, or optical disks. Thus, the embodiments of this application are not limited to any specific hardware, software, or firmware, or any combination of hardware, software, and firmware.

[0154] This application provides a computer device including a memory and a processor. The memory stores a computer program that can run on the processor. When the processor executes the program, it implements some or all of the steps in the above-described method.

[0155] This application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements some or all of the steps in the above-described method. The computer-readable storage medium can be transient or non-transient.

[0156] This application provides a computer program including computer-readable code, wherein when the computer-readable code is executed in a computer device, a processor in the computer device performs some or all of the steps in the above-described method.

[0157] This application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program. When the computer program is read and executed by a computer, it implements some or all of the steps in the above-described method. This computer program product can be implemented specifically through hardware, software, or a combination thereof. In some embodiments, the computer program product is specifically embodied as a computer storage medium; in other embodiments, the computer program product is specifically embodied as a software product, such as a software development kit (SDK), etc.

[0158] It should be noted that the descriptions of the various embodiments above tend to emphasize the differences between them, while their similarities or commonalities can be referred to interchangeably. The descriptions of the above embodiments of the device, storage medium, computer program, and computer program product are similar to the descriptions of the above method embodiments and have similar beneficial effects. For technical details not disclosed in the embodiments of the device, storage medium, computer program, and computer program product of this application, please refer to the descriptions of the method embodiments of this application for understanding.

[0159] It should be noted that, Figure 9 This is a schematic diagram of a hardware entity of an electronic device for locating short-circuit positions in an embodiment of this application, such as... Figure 9 As shown, the hardware entity of the electronic device 900 includes: a processor 901, a communication interface 902, and a memory 903, wherein:

[0160] Processor 901 typically controls the overall operation of computer device 900.

[0161] Communication interface 902 enables computer devices to communicate with other terminals or servers over a network.

[0162] The memory 903 is configured to store instructions and applications executable by the processor 901, and can also cache data to be processed or already processed (e.g., image data, audio data, voice communication data, and video communication data) in the processor 901 and various modules in the computer device 900. It can be implemented using flash memory or random access memory (RAM). Data transfer between the processor 901, the communication interface 902, and the memory 903 can be performed via bus 904.

[0163] It should be understood that the phrase "one embodiment" or "an embodiment" throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment" or "in an embodiment" appearing throughout the specification does not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above steps / processes do not imply a sequential order of execution; the execution order of each step / process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the above embodiments of this application are merely descriptive and do not represent the superiority or inferiority of the embodiments.

[0164] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0165] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components can be combined, or integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed can be through some interfaces, and the indirect coupling or communication connection between devices or units can be electrical, mechanical, or other forms.

[0166] The units described above as separate components may or may not be physically separate. The components shown as units may or may not be physical units. They may be located in one place or distributed across multiple network units. Some or all of the units may be selected to achieve the purpose of this embodiment according to actual needs.

[0167] In addition, each functional unit in the various embodiments of this application can be integrated into one processing unit, or each unit can be a separate unit, or two or more units can be integrated into one unit; the integrated unit can be implemented in hardware or in the form of hardware plus software functional units.

[0168] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.

[0169] Alternatively, if the integrated units described above are implemented as software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence or the part that contributes to related technologies, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as mobile storage devices, ROM, magnetic disks, or optical disks.

[0170] The above description is merely an embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.

Claims

1. A method for locating a short circuit, characterized in that, The method includes: In the circuit layout to be located, identify the metal lines associated with at least two external pins; The metal wire is divided to obtain multiple metal blocks; Determine the short-circuit information of the plurality of metal blocks in the circuit layout to be located; If the short-circuit information of any metal block indicates that there is a short circuit in the updated circuit layout corresponding to the metal block, then the metal block is determined to belong to the first type of metal block. If the short circuit information of any metal block indicates that the short circuit has been eliminated in the updated circuit layout corresponding to any metal block, then the metal block is determined to belong to the second type of metal block. Among the first type of metal blocks and the second type of metal blocks, the first target metal block and the second target metal block with the smallest inter-block distance are determined respectively. Based on the first target metal block and the second target metal block, locate the short circuit position in the circuit layout to be located.

2. The method according to claim 1, characterized in that, Determining the short-circuit information of the plurality of metal blocks in the circuit layout to be located includes: In the circuit layout to be located, delete any one of the plurality of metal blocks to obtain an updated circuit layout to be located. Determine whether there is a short circuit in the updated circuit layout to be located, and obtain the short circuit information of any metal block.

3. The method according to claim 1, characterized in that, The step of determining the first target metal block and the second target metal block with the smallest inter-block distance among the first type of metal blocks and the second type of metal blocks includes: For each metal block in the first type of metal blocks, determine the inter-block distance between each metal block and each metal block in the second type of metal blocks to obtain multiple inter-block distances; Among the first type of metal block and the second type of metal block, the first target metal block and the second target metal block with the smallest inter-block distance are determined based on the plurality of inter-block distances.

4. The method according to claim 3, characterized in that, For each metal block in the first type of metal blocks, the inter-block distance between each metal block and each metal block in the second type of metal blocks is determined, resulting in multiple inter-block distances, including: For each metal block in the first type of metal blocks, determine the position information of each metal block and each metal block in the second type of metal blocks at a first preset point; Based on the position information of the first preset point of each metal block in the first type of metal block and the position information of the first preset point of each metal block in the second type of metal block, the distance between the multiple blocks is determined.

5. The method according to claim 1, characterized in that, The step of locating the short circuit location in the circuit layout to be located based on the first target metal block and the second target metal block includes: Based on the first target metal block and the second target metal block, determine the target area; The location information of the second preset point in the target area is determined as the short circuit location in the circuit layout to be located; wherein the second preset point and the first preset point are of the same or different types.

6. The method according to claim 5, characterized in that, The step of determining the target area based on the first target metal block and the second target metal block includes: The first target metal block and the second target metal block are merged to obtain a merged region; and the merged region is enlarged according to a preset size to obtain the target region. Alternatively, the first target metal block and the second target metal block can be enlarged according to a preset size to obtain an enlarged first target metal block and an enlarged second target metal block; and the overlapping area between the enlarged first target metal block and the enlarged second target metal block can be determined as the target area.

7. The method according to claim 1, characterized in that, The process of dividing the metal wire to obtain multiple metal blocks includes: The segmentation size is determined based on the complexity of the circuit layout to be located and the metal processing information of the circuit layout to be located. The metal wire is divided based on the stated division dimensions to obtain the plurality of metal blocks.

8. A short-circuit location locating device, characterized in that, The device includes: The first determining module is used to determine, in the circuit layout to be located, the metal lines associated with at least two external pins; The first segmentation module is used to segment the metal wire to obtain multiple metal blocks; The second determining module is used to determine the short-circuit information of the plurality of metal blocks in the circuit layout to be located. The first classification module is used to determine that any metal block belongs to a first type of metal block when the short circuit information of any metal block indicates that a short circuit exists in the updated circuit layout to be located corresponding to the metal block; and is also used to determine that any metal block belongs to a second type of metal block when the short circuit information of any metal block indicates that the short circuit has been eliminated in the updated circuit layout to be located corresponding to the metal block. The third determining module is used to determine, among the first type of metal blocks and the second type of metal blocks, the first target metal block and the second target metal block with the smallest inter-block distance, respectively; and is also used to locate the short circuit position in the circuit layout to be located based on the first target metal block and the second target metal block.

9. A computer device comprising a memory and a processor, the memory storing a computer program executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1 to 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the method described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method for positioning short circuit failure

    CN109490758A

  • Method and device for correcting short circuit defect on digital layout

    CN114818604A