Method, apparatus, storage medium and device for routing connection of integrated circuit layout
Through the automated endpoint pair connection method, the problem of complex and error-prone connection of integrated circuit layout traces is solved, the layout drawing efficiency and accuracy are improved, and the auxiliary design capabilities of design tools are enhanced.
Patent Information
- Application Number
- CN202310087054.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-31
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2043-01-31
AI Technical Summary
In the prior art, the wiring connection of integrated circuit layouts requires manual operation, which is complex and error-prone, resulting in a long time and low efficiency.
By obtaining the endpoints of the target trace in the integrated circuit layout, searching the neighbor endpoints in the preset order and forming an endpoint pair, connecting the two endpoints in the endpoint pair until all trace connections are completed, and using the KD tree to optimize neighbor endpoint searches to achieve automatic connection.
Automatic connection of traces is realized, the layout drawing efficiency is improved, time is saved, human errors are avoided, and the auxiliary design capabilities of integrated circuit layout design tools are enhanced.
Smart Images

Figure CN116011387B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of integrated circuit layout design, and particularly to a method, device, storage medium and equipment for connecting traces in an integrated circuit layout. Background Art
[0002] In the design of large-scale integrated circuit layouts, due to the large workload, it is often necessary for multiple designers to collaborate. Each designer separately draws a part of the layout, and finally all parts are merged together. Since each part of the layout contains a large number of traces, when merging the layouts, it is necessary to connect the traces of different parts together. The existing connection method is manual connection. Designers manually modify the endpoint coordinates of the traces or directly drag the endpoints of the traces with the mouse to achieve the connection of different traces. The operation is very complicated, time-consuming, and prone to errors. Summary of the Invention
[0003] The purpose of the present invention is to provide a method, device, storage medium and equipment for connecting traces in an integrated circuit layout, so as to solve the problems existing in the manual connection in the prior art, and be able to realize automatic connection of traces, improve the efficiency of layout drawing, save the time of layout drawing, and avoid human errors.
[0004] To solve the above technical problems, the present invention provides a method for connecting traces in an integrated circuit layout, including:
[0005] Obtaining the endpoints of the target traces in the integrated circuit layout;
[0006] Searching for an endpoint within a preset distance from each of the endpoints and belonging to different target traces in a preset order as a neighbor endpoint, and forming an endpoint pair for each endpoint and its neighbor endpoint, wherein each of the endpoints forms only one endpoint pair, and only one endpoint of each target trace forms an endpoint pair;
[0007] Connecting the two endpoints in each endpoint pair, so that the two target traces corresponding to each endpoint pair are connected into a new target trace, and repeating the above steps until no new endpoint pairs can be formed.
[0008] Preferably, the connecting the two endpoints in each endpoint pair includes:
[0009] Adjusting the position of one endpoint in each endpoint pair to coincide with the other endpoint.
[0010] Preferably, the search order of the endpoint whose position is adjusted is after the other endpoint.
[0011] Preferably, the connecting the two endpoints in each endpoint pair includes:
[0012] Connect the two endpoints in each of the said endpoint pairs with a line segment.
[0013] Preferably, the preset order is the drawing order of the endpoints.
[0014] Preferably, the step of finding, in the preset order, an endpoint within a preset distance from each of the said endpoints and belonging to different target traces as a neighbor endpoint includes:
[0015] Construct a KD tree based on the coordinates of all the said endpoints;
[0016] Find, in the preset order based on the KD tree, an endpoint within a preset distance from each of the said endpoints and belonging to different target traces as a neighbor endpoint.
[0017] Preferably, the step of finding, in the preset order based on the KD tree, an endpoint within a preset distance from each of the said endpoints and belonging to different target traces as a neighbor endpoint includes:
[0018] Set a circular search area with a radius of the preset distance centered on each endpoint in the preset order in the KD tree:
[0019] Find, in each of the said circular search areas, an endpoint belonging to a different target trace from the endpoint at the center as a neighbor endpoint.
[0020] Preferably, when there are multiple endpoints within a preset distance from each of the said endpoints and belonging to different target traces, the neighbor endpoint of each of the said endpoints is the endpoint with the earliest search order.
[0021] To solve the above technical problems, the present invention further provides a wire connection device for an integrated circuit layout, including:
[0022] An endpoint acquisition module, configured to acquire the endpoints of the target traces in the integrated circuit layout;
[0023] A point pair formation module, configured to find, in the preset order, an endpoint within a preset distance from each of the said endpoints and belonging to different target traces as a neighbor endpoint, and form an endpoint pair with each endpoint and its neighbor endpoint, wherein each of the said endpoints forms only one endpoint pair, and only one endpoint of each target trace forms an endpoint pair;
[0024] A wire connection module, configured to connect the two endpoints in each of the said endpoint pairs, connect the two target traces corresponding to each of the said endpoint pairs into a new target trace, and repeat the above steps until no new endpoint pairs can be formed.
[0025] To solve the above technical problems, the present invention further provides a storage medium storing a computer program, and the computer program is configured to execute the wiring connection method of the integrated circuit layout described in any one of the foregoing when running.
[0026] To solve the above technical problems, the present invention further provides an electronic device including a memory and a processor. The memory stores a computer program, and the processor is configured to run the computer program to execute the wiring connection method of the integrated circuit layout described in any one of the foregoing.
[0027] Different from the prior art, the wiring connection method of the integrated circuit layout provided by the present invention obtains the endpoints of the target wiring in the integrated circuit layout, then searches for an endpoint within a preset distance from each endpoint and belonging to different target wirings as a neighbor endpoint in a preset order, forms an endpoint pair with each endpoint and its neighbor endpoint, and then connects the two endpoints in each endpoint pair to connect the two target wirings corresponding to each endpoint pair into a new target wiring. Finally, the above process is repeated until no new endpoint pairs can be formed to complete the connection of all target wirings. This process only requires the designer to determine the wirings to be connected and the preset distance, without the need for manual wiring, thereby enabling automatic wiring connection, improving the layout drawing efficiency, saving the layout drawing time, avoiding human errors, and improving the auxiliary design ability of the integrated circuit layout design tool.
[0028] The wiring connection device, storage medium and electronic device of the integrated circuit layout provided by the present invention belong to the same inventive concept as the wiring connection method of the integrated circuit layout, and thus have the same beneficial effects, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 It is a flowchart of the wiring connection method of the integrated circuit layout provided by an embodiment of the present invention.
[0030] Figure 2 It is a schematic diagram of multiple target wirings in an application scenario.
[0031] Figure 3a For Figure 2 It is a schematic diagram after connecting two target wirings in the first way.
[0032] Figure 3b For Figure 2 It is a schematic diagram after connecting two target wirings in the second way.
[0033] Figure 4 For Figure 2 It is a schematic diagram after connecting multiple target wirings.
[0034] Figure 5It is a principle block diagram of a wire connection device for an integrated circuit layout provided by an embodiment of the present invention. Detailed implementation manners
[0035] The following will describe the specific implementation manners of the present invention in more detail with reference to the schematic diagrams. According to the following description and the claims, the advantages and features of the present invention will be clearer. It should be noted that the drawings are all in a very simplified form and use non-precise scales, and are only used to facilitate and clearly assist in explaining the purpose of the embodiments of the present invention.
[0036] In the description of the present invention, it should be understood that the orientation or positional relationship indicated by the terms "center", "upper", "lower", "left", "right", etc. is based on the orientation or positional relationship shown in the drawings, and is only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of the present invention.
[0037] In addition, the terms "first" and "second" are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include one or more of such features. In the description of the present invention, the meaning of "a plurality" is at least two, such as two, three, etc., unless otherwise specifically defined.
[0038] Please refer to Figure 1 , an embodiment of the present invention provides a wire connection method for an integrated circuit layout. The wire connection method includes the following steps:
[0039] S1: Obtain the endpoints of the target wire in the integrated circuit layout.
[0040] Among them, when each integrated circuit layout drawing software on the market currently draws the wires of the integrated circuit layout, it relies on the mouse to draw the endpoints to achieve. Currently, there are two common wire drawing methods. One drawing method is to click the left mouse button at a certain position on the layout to generate an endpoint of the wire, and then move the mouse arbitrarily. The length of the wire changes as the mouse moves. Finally, after clicking the right mouse button at another position, another endpoint of the wire is generated, and the drawing of the wire is completed. On this basis, multiple left mouse button clicks can be made before generating another endpoint of the wire to generate multiple break points. In this way, the wire changes from a line segment to a broken line.
[0041] Another drawing method is to click and hold the left or right mouse button at a certain position on the layout. At this time, an endpoint of the trace is generated. Then, move the mouse arbitrarily, and the length of the trace changes as the mouse moves. Finally, release the left or right mouse button at another position, and another endpoint of the trace is generated, completing the drawing of the trace.
[0042] Since the trace is drawn by relying on the mouse to draw endpoints, the endpoints of the trace are part of the integrated circuit layout. Therefore, the endpoints of the target trace can be obtained from the integrated circuit layout. Of course, the endpoints of the target trace can also be obtained by other means, such as the endpoint coordinates of the target trace input externally.
[0043] S2: Search for an endpoint that is within a preset distance from each endpoint and belongs to a different target trace in a preset order as a neighbor endpoint, and form an endpoint pair with each endpoint and its neighbor endpoint. Among them, each endpoint forms only one endpoint pair, and only one endpoint of each target trace forms an endpoint pair.
[0044] Among them, all endpoints in the integrated circuit layout will be sorted in a preset order first, and then each endpoint will be traversed in turn to find the neighbor endpoints of each endpoint, and form an endpoint pair with each endpoint and its neighbor endpoints. In this embodiment, the preset order is the drawing order of the endpoints. Since the drawing of the target traces in the integrated circuit layout has a sequence, and the endpoints on each target trace also have a sequence, then all endpoints in the integrated circuit layout have a drawing order, and the drawing order of all endpoints can be used as the preset order.
[0045] Since the endpoints are associated with the target traces, it is possible to determine whether any two endpoints belong to the same target trace through the association relationship between the endpoints and the target traces.
[0046] After finding the neighbor endpoints of each endpoint, it is necessary to determine whether each endpoint or its neighbor endpoint has already formed an endpoint pair and whether the other endpoint of the target trace to which each endpoint or its neighbor endpoint belongs has already formed an endpoint pair. For the current endpoint, if the current endpoint or its neighbor endpoint has already formed an endpoint pair or the other endpoint of the target trace to which the current endpoint or its neighbor endpoint belongs has already formed an endpoint pair, it does not meet the condition that each endpoint forms only one endpoint pair and only one endpoint of each target trace forms an endpoint pair. It is necessary to further determine whether there are other endpoints within a preset distance from the current endpoint and located on different target traces. If there are other endpoints, use these other endpoints as neighbor endpoints, and then determine again whether the current endpoint or its neighbor endpoint has already formed an endpoint pair and whether the other endpoint of the target trace to which the current endpoint or its neighbor endpoint belongs has already formed an endpoint pair.
[0047] If all the endpoints that are within a preset distance from the current endpoint and are located on different target traces do not meet the condition that each endpoint forms only one endpoint pair and each target trace has only one endpoint forming an endpoint pair, or there are no other endpoints within the preset distance from the current endpoint and located on different target traces, then it is necessary to search for the neighbor endpoint of the next endpoint of the current endpoint in a preset order, that is, to search for an endpoint within the preset distance from the next endpoint and belonging to different target traces as the neighbor endpoint.
[0048] In some embodiments of the present application, the neighbor endpoints are selected in the search order. Specifically, if there are multiple endpoints within the preset distance from each of the endpoints and belonging to different target traces, then the neighbor endpoint of each of the endpoints is the endpoint with the earliest search order.
[0049] For example, as Figure 2 shown, there are four target traces in the integrated circuit layout, namely L1, L2, L3, and L4. The endpoints of the four target traces are P1, P2, P3, P4, P5, P6, P7, and P8 in the drawing order. The two endpoints of trace L1 are P1 and P2 respectively, the two endpoints of trace L2 are P3 and P4 respectively, the two endpoints of trace L3 are P5 and P6 respectively, the two endpoints of trace L4 are P7 and P8 respectively. The distance between P1 and P4 is within the preset distance, the distances between P2, P3, and P5 pairwise are within the preset distance, and the distance between P6 and P7 is within the preset distance.
[0050] The first endpoint to be searched is P1. Search for the endpoint within the preset distance from endpoint P1 and belonging to different target traces, which is P4. Take endpoint P4 as the neighbor endpoint of endpoint P1. Since endpoint P1 and endpoint P4 belong to target traces L1 and L2 respectively, and neither endpoint P1 nor endpoint P4 has formed an endpoint pair, and the other endpoints P2 and P3 of target traces L1 and L2 have not formed an endpoint pair either, so form an endpoint pair (P1, P4) with endpoint P1 and its neighbor endpoint P4.
[0051] The next endpoint to be searched is P2. First, the first neighbor endpoint of endpoint P2 is endpoint P3. Since the other endpoint P1 of the target trace L1 to which endpoint P2 belongs has already formed an endpoint pair (P1, P4), which does not meet the condition that each target trace has only one endpoint forming an endpoint pair, therefore, take endpoint P5 as the neighbor endpoint of endpoint P2. At this time, it still does not meet the condition that each target trace has only one endpoint forming an endpoint pair, so neither endpoint P3 nor endpoint P5 can form an endpoint pair with endpoint P2.
[0052] The next endpoint to be searched is P3. Similarly, neither endpoint P2 nor endpoint P5 within the preset distance from endpoint P3 and belonging to different target traces can form an endpoint pair with endpoint P3.
[0053] The next endpoint to be searched is P4. Endpoint P4 has formed an endpoint pair (P1, P4), which does not meet the condition that each endpoint can only form one endpoint pair.
[0054] The next endpoint to be searched is P5. Both endpoints P2 and P3 do not meet the condition that each target line has only one endpoint to form an endpoint pair.
[0055] The next endpoint to be searched is P6. The endpoint P7 is found to be within a preset distance from endpoint P6 and belongs to different target routing lines. Endpoint P7 is used as the neighbor endpoint of endpoint P6. Since endpoints P6 and P7 belong to target routing lines L3 and L4 respectively, and endpoints P6 and P7 do not form an endpoint pair, and the other endpoints P5 and P8 of target routing lines L3 and L4 do not form an endpoint pair, endpoint P6 and its neighbor endpoint P7 are formed into an endpoint pair (P6, P7).
[0056] The next endpoint to be searched is P7. Endpoint P7 has formed an endpoint pair (P6, P7), which does not meet the condition that each endpoint can only form one endpoint pair.
[0057] The next endpoint to be searched is P8. There are no endpoints that are within a preset distance from endpoint P8 and belong to different target routes.
[0058] Therefore, the endpoint pairs finally formed are the endpoint pair (P1, P4) and the endpoint pair (P6, P7).
[0059] S3: Connect the two endpoints in each endpoint pair so that the two target traces corresponding to each endpoint pair are connected to form a new target trace, and repeat the above steps until no new endpoint pair can be formed.
[0060] The purpose of connecting the two endpoints in each endpoint pair is to connect the two target traces corresponding to each endpoint pair into a new target trace. There are two ways to achieve the connection of the two endpoints.
[0061] For the first method, connecting the two endpoints in each endpoint pair includes adjusting the position of one endpoint in each endpoint pair so that it coincides with the other endpoint. The endpoint to be adjusted can be selected from the two endpoints based on actual circumstances. In this embodiment, the search order for the endpoint to be adjusted is after the other endpoint, and the search order is the same as the order in which the endpoints are drawn.
[0062] by Figure 3aTaking the example shown, after connecting the two endpoints in the endpoint pair (P1, P4), the position of endpoint P4 in the endpoint pair (P1, P4) is adjusted to coincide with endpoint P1. It should be noted that the position of the other endpoint of the target trace to which the endpoint whose position is adjusted belongs remains unchanged. If there are still bend points on the target trace to which the endpoint whose position is adjusted belongs, then the positions of the bend points also remain unchanged. As Figure 3a shown, the position of endpoint P4 changes, but the position of the other endpoint P3 of the target trace L2 to which endpoint P4 belongs remains unchanged, and the positions of the bend points of the target trace L2 also remain unchanged.
[0063] For the second method, connect the two endpoints in each endpoint pair, including: connecting the two endpoints in each endpoint pair with a line segment. Among them, the positions of the two endpoints in each endpoint pair remain unchanged, and a line segment is generated between the two endpoints to connect the two endpoints. Taking Figure 3b the example shown, after connecting the two endpoints in the endpoint pair (P1, P4), the positions of endpoints P1 and P4 in the endpoint pair (P1, P4) remain unchanged, and a line segment H1 is generated between endpoints P1 and P4 to connect endpoints P1 and P4.
[0064] After the two target traces corresponding to each endpoint pair are connected into a new target trace, the number of target traces changes. Correspondingly, the number of endpoints of the target traces also changes, and it is necessary to re-obtain the endpoints and re-form the endpoint pairs. As Figure 3a shown, after connecting the two endpoints in the endpoint pair (P1, P4) and the endpoint pair (P6, P7), the original endpoints P1, P4, P6, and P7 become bend points, the target traces L1 and L2 are connected into a new target trace L5, and the target traces L3 and L4 are connected into a new target trace L6. The endpoints of the target trace L5 are P2 and P3, and the endpoints of the target trace L6 are P5 and P8.
[0065] After repeating step S1, endpoints P2, P3, P5, and P8 are obtained. After repeating step S2 again, the endpoint pair (P2, P5) is formed. Finally, after performing step S3 again, as Figure 4 shown, the target traces L5 and L6 are connected into a new target trace L7, and the number of endpoints also changes. The endpoints of the target trace L7 are P3 and P8.
[0066] After repeating step S1 for the second time, endpoints P3 and P8 are obtained. After repeating step S2 for the second time, no new endpoint pairs can be formed. Finally, after the 4 target traces L1, L2, L3, and L4 are connected, a target trace L7 is obtained.
[0067] Through the above method, the routing connection method for the integrated circuit layout provided by the embodiments of the present invention obtains the endpoints of the target routing in the integrated circuit layout, then searches for an endpoint within a preset distance from each endpoint and belonging to different target routings respectively as a neighbor endpoint according to a preset order, forms an endpoint pair with each endpoint and its neighbor endpoint, and then connects the two endpoints in each endpoint pair to connect the two target routings corresponding to each endpoint pair into a new target routing. Finally, the above process is repeated until no new endpoint pairs can be formed, and the connection of all target routings is completed. This process only requires the designer to determine the routings to be connected and the preset distance, without the need for manual wiring, thereby enabling automatic routing connection, improving the layout drawing efficiency, saving the layout drawing time, avoiding human errors, and improving the auxiliary design ability of the integrated circuit layout design tool.
[0068] In some embodiments of the present application, searching for an endpoint within a preset distance from each endpoint and belonging to different target routings respectively as a neighbor endpoint according to a preset order includes:
[0069] Construct a KD-tree based on the coordinates of all endpoints;
[0070] Search for an endpoint within a preset distance from each endpoint and belonging to different target routings respectively as a neighbor endpoint based on the KD-tree according to a preset order.
[0071] Among them, the KD-tree (K-dimensional tree) is a high-dimensional index tree data structure, often used for nearest neighbor search in a large-scale high-dimensional data space. The neighbor endpoints of each endpoint can be found through the KD-tree.
[0072] Further, searching for an endpoint within a preset distance from each endpoint and belonging to different target routings respectively as a neighbor endpoint based on the KD-tree according to a preset order includes:
[0073] Set a circular search area with a radius of the preset distance centered on each endpoint in the KD-tree according to a preset order:
[0074] Search for an endpoint within each circular search area that belongs to a different target routing from the endpoint at the center of the circle as a neighbor endpoint.
[0075] Among them, after setting a circular search area at an endpoint, if there are other endpoints in the circular search area besides the endpoint at the center of the circle, then these endpoints can be used as the neighbor endpoints of the endpoint at the center of the circle. When there are multiple endpoints in the circular search area besides the endpoint at the center of the circle, that is, when there are multiple endpoints within a preset distance from each endpoint and belonging to different target routings respectively, the neighbor endpoint of each endpoint is the endpoint with the earliest search order.
[0076] Please refer toFigure 5 , an embodiment of the present invention provides a wiring connection device for an integrated circuit layout. The device includes:
[0077] An endpoint acquisition module 51, configured to acquire endpoints of a target wiring in an integrated circuit layout. Among them, when each integrated circuit layout drawing software on the market currently draws the wiring of an integrated circuit layout, it relies on the mouse to draw endpoints to achieve. Currently, there are two common wiring drawing methods. One drawing method is to click the left mouse button at a certain position on the layout to generate an endpoint of the wiring, then move the mouse arbitrarily, and the length of the wiring changes as the mouse moves. Finally, after clicking the right mouse button at another position, another endpoint of the wiring is generated, and the drawing of the wiring is completed. On this basis, multiple left mouse button clicks can be made before generating another endpoint of the wiring to generate multiple folding points. In this way, the wiring changes from a line segment to a broken line.
[0078] Another drawing method is to click and hold the left or right mouse button at a certain position on the layout. At this time, an endpoint of the wiring is generated, then move the mouse arbitrarily, and the length of the wiring changes as the mouse moves. Finally, after releasing the left or right mouse button at another position, another endpoint of the wiring is generated, and the drawing of the wiring is completed.
[0079] Since the wiring is realized by relying on the mouse to draw endpoints, the endpoints of the wiring are part of the integrated circuit layout. Therefore, the endpoints of the target wiring can be acquired from the integrated circuit layout. Of course, the endpoints of the target wiring can also be acquired by other means, such as the endpoint coordinates of the target wiring input externally.
[0080] A point pair formation module 52, configured to find an endpoint that is within a preset distance from each endpoint and belongs to a different target wiring respectively in a preset order as a neighbor endpoint, and form an endpoint pair for each endpoint and its neighbor endpoint. Among them, each endpoint forms only one endpoint pair, and only one endpoint of each target wiring forms an endpoint pair. Among them, all endpoints in the integrated circuit layout will be sorted in a preset order first, and then each endpoint will be traversed in turn to find the neighbor endpoints of each endpoint, and form an endpoint pair for each endpoint and its neighbor endpoint. In this embodiment, the preset order is the drawing order of the endpoints. Since the drawing of the target wiring in the integrated circuit layout has a sequence, and the endpoints on each target wiring also have a sequence, then all endpoints in the integrated circuit layout have a drawing order, and the drawing order of all endpoints can be used as the preset order.
[0081] Since the endpoint is associated with the target wiring, it can be determined whether any two endpoints belong to the same target wiring through the association relationship between the endpoint and the target wiring.
[0082] After finding the neighbor endpoints of each endpoint, it is necessary to determine whether each endpoint or its neighbor endpoint has formed an endpoint pair and whether the other endpoint of the target trace to which each endpoint or its neighbor endpoint belongs has formed an endpoint pair. For the current endpoint, if the current endpoint or its neighbor endpoint has formed an endpoint pair or the other endpoint of the target trace to which the current endpoint or its neighbor endpoint belongs has formed an endpoint pair, then the condition that each endpoint forms only one endpoint pair and only one endpoint of each target trace forms an endpoint pair is not satisfied. It is necessary to further determine whether there are other endpoints within a preset distance from the current endpoint and located on different target traces. If there are other endpoints, then these other endpoints are taken as neighbor endpoints, and it is again determined whether the current endpoint or its neighbor endpoint has formed an endpoint pair and whether the other endpoint of the target trace to which the current endpoint or its neighbor endpoint belongs has formed an endpoint pair.
[0083] If all endpoints within a preset distance from the current endpoint and located on different target traces do not satisfy the condition that each endpoint forms only one endpoint pair and only one endpoint of each target trace forms an endpoint pair, or there are no other endpoints within a preset distance from the current endpoint and located on different target traces, then it is necessary to find the neighbor endpoints of the next endpoint of the current endpoint in a preset order, that is, to find an endpoint within a preset distance from the next endpoint and belonging to different target traces as a neighbor endpoint.
[0084] In some embodiments of the present application, the neighbor endpoints are selected in the search order. Specifically, if there are multiple endpoints within a preset distance from each of the endpoints and belonging to different target traces, then the neighbor endpoint of each of the endpoints is the endpoint with the earliest search order.
[0085] The trace connection module 53 is used to connect the two endpoints in each endpoint pair, so that the two target traces corresponding to each endpoint pair are connected into a new target trace, and the above steps are repeated until no new endpoint pairs can be formed. Among them, the purpose of connecting the two endpoints in each endpoint pair is to connect the two target traces corresponding to each endpoint pair into a new target trace. After the two target traces corresponding to each endpoint pair are connected into a new target trace, the number of target traces changes. Correspondingly, the number of endpoints of the target traces also changes, and it is necessary to re-obtain the endpoints and re-form the endpoint pairs.
[0086] The present invention also provides a storage medium, in which a computer program is stored, and the computer program is set to execute the trace connection method of the integrated circuit layout in the foregoing embodiments when running.
[0087] Specifically, in this embodiment, the above storage medium may include, but is not limited to: various media that can store computer programs such as USB flash drives, read-only memories (ROMs), random access memories (RAMs), external hard drives, magnetic disks, or optical discs.
[0088] The present invention also provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the wiring connection method of the integrated circuit layout in the foregoing embodiment.
[0089] Specifically, the memory and the processor can be connected through a data bus. In addition, the above electronic device may further include a transmission device and an input / output device. Among them, the transmission device is connected to the above processor, and the input / output device is connected to the above processor.
[0090] In the description of this specification, the description with reference to terms such as "one embodiment", "some embodiments", "example" or "specific example" means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in a suitable manner in any one or more embodiments. In addition, those skilled in the art can combine and combine the different embodiments or examples described in this specification.
[0091] The above are only the preferred embodiments of the present invention and do not impose any limitation on the present invention. Any person skilled in the art, without departing from the scope of the technical solution of the present invention, makes any form of equivalent replacement or modification and other changes to the technical solution and technical content disclosed in the present invention, all of which belong to the content of the technical solution of the present invention and are still within the protection scope of the present invention.
Claims
1. A method for routing connections in an integrated circuit layout, characterized in that Including: Obtaining endpoints of target traces in an integrated circuit layout; Searching in a preset order for an endpoint within a preset distance from each of the endpoints and belonging to different target traces as a neighbor endpoint, and forming an endpoint pair with each endpoint and its neighbor endpoint, where each of the endpoints forms only one endpoint pair, and only one endpoint of each target trace forms an endpoint pair; Connecting the two endpoints in each of the endpoint pairs to connect the two target traces corresponding to each endpoint pair into a new target trace, and repeating the above steps until no new endpoint pairs can be formed.
2. The wire connection method according to claim 1, characterized in that, The connecting the two endpoints in each of the endpoint pairs includes: Adjusting the position of one endpoint in each of the endpoint pairs to coincide with the other endpoint.
3. The wire connection method according to claim 2, wherein The search order of the endpoint whose position is adjusted is after the other endpoint.
4. The wire routing connection method according to claim 1, characterized in that, The connecting the two endpoints in each of the endpoint pairs includes: Connecting the two endpoints in each of the endpoint pairs by a line segment.
5. The wire connection method according to claim 1, characterized in that The preset order is the drawing order of the endpoints.
6. The wire connection method according to claim 1, characterized in that, The searching in a preset order for an endpoint within a preset distance from each of the endpoints and belonging to different target traces as a neighbor endpoint includes: Constructing a KD tree based on the coordinates of all the endpoints; Searching in a preset order based on the KD tree for an endpoint within a preset distance from each of the endpoints and belonging to different target traces as a neighbor endpoint.
7. The wire connection method according to claim 6, wherein The searching in a preset order based on the KD tree for an endpoint within a preset distance from each of the endpoints and belonging to different target traces as a neighbor endpoint includes: Setting a circular search area with a radius of the preset distance centered on each endpoint in the KD tree in a preset order; Searching for an endpoint within each of the circular search areas that belongs to a different target trace from the endpoint at the center as a neighbor endpoint.
8. The wire connection method according to claim 1, wherein When there are multiple endpoints within a preset distance from each of the endpoints and belonging to different target traces, the neighbor endpoint of each of the endpoints is the endpoint with the earliest search order.
9. A wire connection device for an integrated circuit layout, characterized in that, Including: An endpoint obtaining module for obtaining endpoints of target traces in an integrated circuit layout; An endpoint pair forming module for searching in a preset order for an endpoint within a preset distance from each of the endpoints and belonging to different target traces as a neighbor endpoint, and forming an endpoint pair with each endpoint and its neighbor endpoint, where each of the endpoints forms only one endpoint pair, and only one endpoint of each target trace forms an endpoint pair; A trace connecting module for connecting the two endpoints in each of the endpoint pairs to connect the two target traces corresponding to each endpoint pair into a new target trace, and repeating the above steps until no new endpoint pairs can be formed.
10. A storage medium, characterized in that, A computer program is stored in the storage medium, and the computer program is set to execute the method for connecting traces of an integrated circuit layout according to any one of claims 1 to 8 when running.
11. An electronic device, characterized in that, Including a memory and a processor, a computer program is stored in the memory, and the processor is set to run the computer program to execute the method for connecting traces of an integrated circuit layout according to any one of claims 1 to 8.
Citation Information
Patent Citations
Integrated circuit design apparatus, design method, and program
JP2010160598A
Route determination support device, route determination support method and storage medium storing therein program for executing method thereof, and printed substrate wiring method
US6502228B1