Hybrid bond terminal global dynamic matching method and computer program product

By employing a global dynamic matching method for hybrid bonding terminals in 3D stacked integrated circuits, a priority grid array of optimized nodes is constructed and the shortest augmenting path is iteratively searched. This solves the problem of excessive memory consumption in complex scenarios by traditional bipartite graph matching algorithms and improves matching efficiency.

CN122021546BActive Publication Date: 2026-06-26SHENZHEN HONGXIN MICRO NANO TECH CO LTD +1

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN HONGXIN MICRO NANO TECH CO LTD
Filing Date
2026-04-09
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Traditional bipartite graph matching algorithms require the pre-construction of a complete bipartite graph structure when dealing with complex scenarios, resulting in a huge solution space. Global access causes excessively high peak memory usage during algorithm operation and low matching efficiency.

Method used

A global dynamic matching method for hybrid bonding terminals is adopted. By acquiring pin connection configuration information and grid position information, a priority grid array corresponding to the optimization node is constructed. The shortest augmenting path is iteratively searched, and a unique grid is matched for each optimization node, reducing invalid traversal and lowering memory usage.

Benefits of technology

While maintaining global optimality, it improves matching efficiency, reduces peak memory requirements during algorithm runtime, and enhances efficiency in handling complex scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122021546B_ABST
    Figure CN122021546B_ABST
Patent Text Reader

Abstract

The hybrid bonding terminal global dynamic matching method and computer program product of the application comprise: acquiring pin connection configuration information; acquiring position information of a plurality of grid points on a hybrid bonding interface; determining an optimization node; based on the optimization node, constructing a priority grid point array corresponding to each optimization node; for each optimization node: starting from a grid point selected from the priority grid point array, stopping when the accessed grid point only belongs to one priority grid point array, the starting grid point, the terminal grid point and all the grid points accessed in the process constituting a grid point set, and updating the priority grid point array in the process of determining the terminal grid point; and matching a unique grid point for each optimization node by means of iteratively finding a shortest augmented path. Since the process of finding the shortest augmented path starts from a local point and dynamically expands the solution space, invalid traversal is reduced, the peak memory required for algorithm operation is reduced, and the matching efficiency is improved as a whole while maintaining the global optimum.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer-aided design counting for integrated circuits, and specifically to a global dynamic matching method and computer program product for hybrid bonding terminals. Background Technology

[0002] 3D stacked integrated circuits (ICs) represent a highly promising solution for exceeding Moore's Law. In 3D stacked ICs, dies are linked via hybrid bonding terminals, the placement of which significantly impacts placement and routing performance. Furthermore, due to limitations in the number and density of hybrid bonding terminals, resource competition exists among all cross-chip signal connections. In advanced process nodes where metal pitch is significantly smaller than bond pitch, the matching of cross-chip signal connections with hybrid bonding terminals is crucial for achieving optimal design performance.

[0003] In related technologies, when matching hybrid bonding terminals in cross-chip signal connections, traditional bipartite graph matching algorithms are used. These algorithms require pre-constructing a complete bipartite graph structure, including all nodes and candidate edges. When dealing with complex scenarios (such as large-scale nodes and high-density connection constraints), the complete solution space becomes enormous, and global access leads to excessively high peak memory usage during algorithm execution, resulting in low matching efficiency. Summary of the Invention

[0004] The main technical problem solved by this invention is that traditional bipartite graph matching algorithms require the pre-construction of a complete bipartite graph structure when performing matching. When dealing with complex scenarios, the complete solution space is huge, and global access causes the peak memory consumption of the algorithm to be too high, resulting in low matching efficiency.

[0005] According to a first aspect, one embodiment of this application provides a global dynamic matching method for hybrid bonding terminals, applied to 3D stacked integrated circuits, the global dynamic matching method for hybrid bonding terminals comprising:

[0006] Obtain pin connection configuration information, which is used to determine the first pin and the second pin in each pin connection group when the first chip and the second chip are connected. The first pin is a pin on the first chip, and the second pin is a pin on the second chip. Each pin connection group includes at least one first pin and at least one second pin.

[0007] Obtain the position information of multiple grid points on the hybrid bonding interface between the first chip and the second chip;

[0008] Based on the first and second pins in each pin connection group, the optimized node is determined as the topology convergence point when the first and second pins in each pin connection group are connected;

[0009] Based on the location information of the multiple grid points and the optimized node corresponding to each pin connection group, a priority grid point array corresponding to each optimized node is constructed, wherein the number of grid points in each priority grid point array is less than the number of the multiple grid points.

[0010] For each of the optimization nodes: select a grid point from the priority grid point array according to the first predefined rule to start visiting, and stop when the visited grid point belongs to only one priority grid point array. Integrate the starting grid point, the ending grid point and all grid points visited during the visit into a grid point set. In the process of determining the ending grid point, update the priority grid point array according to the second predefined rule.

[0011] Based on each optimized node and its corresponding grid point set, a unique grid point is matched for each optimized node by iteratively finding the shortest augmenting path. The grid point matched for each optimized node is used to connect the first and second pins in the corresponding pin connection group.

[0012] In one embodiment, the plurality of grid points are arranged in multiple rows and columns, wherein grid points in the same row are collinear and the rows are parallel to each other, and grid points in the same column are collinear and the columns are parallel to each other.

[0013] In one embodiment, the priority grid array corresponding to each optimization node is an array consisting of the grid point closest to the optimization node and all grid points adjacent to the nearest grid point.

[0014] In one embodiment, the first predefined rule is to access grid points in ascending order of their half-perimeter values ​​in the priority grid array.

[0015] In one embodiment, the second predefined rule is that when accessing the current grid point, grid points that are adjacent to the current grid point and are not assigned to the current priority grid point array are assigned to the priority grid point array.

[0016] In one embodiment, the step of matching a unique grid point for each optimized node by iteratively finding the shortest augmenting path based on each optimized node and its corresponding grid point set includes:

[0017] For each set of grid points, a cost array with the same length as the set of grid points is constructed. The initial value of each element in the cost array is set to a preset maximum value that is greater than the total cost of any legal augmenting path. Each element in the cost array uniquely corresponds to a grid point in the set of grid points. The element is used to characterize the path cost value when the corresponding optimized node is the starting point and the corresponding grid point is the ending point as the augmenting path.

[0018] By iteratively finding the shortest augmenting path, the path cost values ​​in each cost array are updated sequentially.

[0019] After updating the path cost values ​​in each cost array, based on the constraints that an optimized node can only match one grid point and a grid point can only match one optimized node, the set of effective augmenting paths with the minimum total overall path cost is selected as the globally optimal grid point matching scheme, so that each optimized node matches a unique grid point.

[0020] In one embodiment, the method of iteratively finding the shortest augmenting path and successively updating the path cost values ​​in each cost array includes:

[0021] Starting from any optimization node, visit one grid point in the grid point set corresponding to any optimization node according to the first predefined rule;

[0022] If the visited current grid point is not matched, then the path from any optimized node as the starting point to the visited current grid point as the ending point is determined to be an augmenting path, and the elements in the cost array corresponding to the visited current grid point are updated.

[0023] If the visited current grid point has been matched, then mark the visited current grid point and set it as the current optimization node corresponding to the visited current grid point. Then, re-match grid points whose path cost value is less than the path cost value when the current grid point is the destination from the unmarked grid points in the grid point set corresponding to the current optimization node.

[0024] If a grid point with a path cost value less than the path cost value when the current grid point being visited is the endpoint is matched, the newly matched grid point will be used as the endpoint of the corresponding optimized node, and the corresponding element in the corresponding cost array will be updated.

[0025] If no grid point with a path cost value less than the path cost value when the current grid point being visited is found as the endpoint, then the current grid point being visited is taken as the endpoint of the corresponding optimized node, and grid points are continued to be matched for any optimized node.

[0026] In one embodiment, the path cost value is calculated as follows: the minimum cost of the current path plus the half-perimeter value corresponding to the current grid point, minus the dual variable of the current signal connection and the dual variable of the current grid point.

[0027] In one embodiment, determining the optimized node as the topology convergence point based on the first pin and the second pin in each pin connection group includes:

[0028] When the number of the first pin and the number of the second pin in the pin connection group are both one, the optimized node is the midpoint of the connection point between the first pin and the second pin;

[0029] When the number of the first pin and / or the number of the second pin in the pin connection group is greater than one, the optimized node is the Steiner point with the smallest variance of the Manhattan distance to the first pin and the second pin in the pin connection group on the right-angle Steiner tree constructed based on the first pin and the second pin.

[0030] According to a second aspect, this application provides a computer program product including a software code portion, which, when the product is run on the computer, is used to perform the steps of the hybrid bonding terminal global dynamic matching method as described above.

[0031] According to the hybrid bonding terminal global dynamic matching method and computer program product of the above embodiments, during the matching process, a corresponding priority grid array is determined for each optimization node. Based on the corresponding priority grid array, a corresponding grid set is constructed for each optimization node. Finally, a non-conflicting grid point is matched from the corresponding grid set for each optimization node. That is, a globally optimal grid point is matched for the first and second pins in each pin connection group. Since the search for the shortest augmenting path starts from a local perspective and the solution space is dynamically expanded (i.e., the priority grid array is updated), the search range is limited to truly reachable and effective local regions, reducing invalid traversals and decreasing the peak memory required for the algorithm to run. Under the premise of maintaining global optimality, the overall matching efficiency is improved. Attached Figure Description

[0032] Figure 1 This is a flowchart of a global dynamic matching method for hybrid bonding terminals in one embodiment;

[0033] Figure 2 This is a flowchart illustrating the determination of non-conflicting grid points in one embodiment;

[0034] Figure 3 This is a diagram showing the arrangement of multiple grid points in one embodiment;

[0035] Figure 4 This is a bipartite graph in one embodiment. Detailed Implementation

[0036] The present invention will now be described in further detail with reference to specific embodiments and accompanying drawings. Similar elements in different embodiments are referred to by associated similar element reference numerals. In the following embodiments, many details are described to facilitate a better understanding of this application. However, those skilled in the art will readily recognize that some features may be omitted in different situations, or may be replaced by other elements, materials, or methods. In some cases, certain operations related to this application are not shown or described in the specification. This is to avoid obscuring the core parts of this application with excessive description. For those skilled in the art, detailed description of these related operations is not necessary; they can fully understand the related operations based on the description in the specification and general technical knowledge in the art.

[0037] Furthermore, the features, operations, or characteristics described in the specification can be combined in any suitable manner to form various embodiments. At the same time, the steps or actions in the method description can be rearranged or adjusted in a manner obvious to those skilled in the art. Therefore, the various orders in the specification and drawings are only for the clear description of a particular embodiment and do not imply a necessary order, unless otherwise stated that a particular order must be followed.

[0038] The serial numbers assigned to components in this document, such as "first" and "second," are used only to distinguish the described objects and have no sequential or technical meaning. The terms "connection" and "linkage" used in this application, unless otherwise specified, include both direct and indirect connections (linkages).

[0039] This application provides a global dynamic matching method for hybrid bonding terminals, which can be applied to 3D stacked integrated circuits and can be used in electronic design automation (EDA) tools.

[0040] In some embodiments, such as Figure 1 As shown, the global dynamic matching method for hybrid bonding terminals includes the following steps:

[0041] S100. Obtain pin connection configuration information. The pin connection configuration information is used to determine the first pin and the second pin in each pin connection group when the first pin on the first chip and the second pin on the second chip are connected. Each pin connection group includes at least one first pin and at least one second pin.

[0042] S200: Obtain the position information of multiple grid points on the hybrid bonding interface between the first chip and the second chip;

[0043] S300, Based on the first and second pins in each pin connection group, determine the optimized node that serves as the topology convergence point when the first and second pins in each pin connection group are connected;

[0044] S400: Based on the location information of multiple grid points and the optimized node corresponding to each pin connection group, construct a priority grid array corresponding to each optimized node. The number of grid points in each priority grid array is less than the number of multiple grid points.

[0045] S500. For each optimization node: select a grid point from the priority grid point array according to the first predefined rule to start visiting, and stop when the visited grid point belongs to only one priority grid point array. Integrate the starting grid point, the ending grid point and all grid points visited during the visit into a grid point set. In the process of determining the ending grid point, update the priority grid point array according to the second predefined rule.

[0046] S600: Based on each optimized node and its corresponding grid point set, the shortest augmenting path is iteratively searched to match non-conflicting grid points for each optimized node. The grid points matched by each optimized node are used to connect the first and second pins in the corresponding pin connection group.

[0047] In some embodiments, pin connection configuration information can be pre-configured based on the connection relationship between the first and second pins when the first and second chips are connected. The pin connection configuration information determines the set of first and second pins in each pin connection group when the first and second chips are physically connected; each pin connection group includes at least one first pin and at least one second pin, and the first and second pins in each pin connection group need to be electrically connected to transmit specific signals or perform specific functions. For example, a pin connection group may include one first pin and two second pins, and these one first pin and two second pins need to be electrically connected. As another example, a pin connection group may include two first pins and three second pins, and these two first pins and three second pins need to be electrically connected. The pin connection configuration information includes at least pin identifiers (e.g., pin number or name), pin signal functions (e.g., clock pin, power supply pin), etc., to facilitate the determination of the first and second pins included in each pin connection group.

[0048] Furthermore, the location information of multiple grid points on the hybrid bonding interface between the first chip and the second chip is obtained. The grid points refer to the hybrid bonding terminals on the hybrid bonding interface, through which electrical connections between pins can be realized.

[0049] In some embodiments, multiple grid points of the hybrid bonding interface are arranged in multiple rows and columns. Grid points in the same row are collinear and the rows are parallel to each other; grid points in the same column are collinear and the columns are parallel to each other. The outermost grid points are connected sequentially to form a rectangle or parallelogram. To determine the position information of multiple grid points, a two-dimensional coordinate system can be established. This two-dimensional coordinate system lies in the same plane as the multiple grid points on the hybrid bonding interface, and the position information of each grid point is its position information in this two-dimensional coordinate system. For example, the position information of the grid point at coordinate (1,1) in this two-dimensional coordinate system is the grid point with coordinate (1,1).

[0050] Furthermore, an optimized node is determined for each pin connection group based on the first and second pins in each pin connection group. The optimized node serves as the topology convergence point when the first and second pins in the corresponding pin connection group are electrically connected. Each pin connection group corresponds to one optimized node, and the number of all optimized nodes is less than or equal to the number of multiple grid points, so that a mapping relationship is formed between the optimized nodes and multiple grid points. That is, each optimized node corresponds to one grid point, and there is no situation where optimized nodes share a grid point.

[0051] After determining the location information of multiple grid points and the optimization node, a priority grid point array corresponding to each optimization node is constructed based on the location information of the multiple grid points and the location information of each optimization node. That is, a priority grid point array corresponding to each pin connection group is constructed. The grid point that matches the global optimal time when the first and second pins in each pin connection group are electrically connected is a grid point in the priority grid point array. The location information of the optimization node can be the location information in the above two-dimensional coordinate system.

[0052] After the priority grid array corresponding to each optimization node is determined, the grid set corresponding to each optimization node is determined based on the priority grid array. Specifically, for each optimization node, a grid point is selected from the priority grid array corresponding to that optimization node according to a first predefined rule to start accessing it (this grid point is called the starting grid point). When the accessed grid point is also a grid point in the priority grid array corresponding to another optimization node, the grid point is recorded, and the priority grid array is updated according to a second predefined rule, that is, the grid points contained in the priority grid array are updated, until the accessed grid point belongs to only one priority grid array, that is, until the accessed grid point is only a grid point in the priority grid array, this grid point is called the ending grid point. At this point, the grid set corresponding to the optimization node can be determined. The grid set corresponding to the optimization node is the starting grid point, the ending grid point, and the set of all grid points accessed during the access process from the starting grid point to the determination of the ending grid point. In one embodiment, the number of grid points in the grid set corresponding to each optimization node is less than the number of multiple grid points.

[0053] Finally, based on each optimized node and its corresponding grid point set, the shortest augmenting path is iteratively searched to match non-conflicting grid points for each optimized node. Here, a non-conflicting grid point means that each optimized node is matched with a unique grid point, and there are no cases where optimized nodes share a single grid point. The grid points matched by each optimized node are then connected to the first and second pins in the corresponding pin connection group. In other words, the grid points matched by each optimized node are the grid points matched when connecting the first and second pins in the corresponding pin connection group.

[0054] Therefore, in the matching process, a corresponding priority grid array is determined for each optimization node. Based on the corresponding priority grid array, a corresponding grid set is constructed for each optimization node. Finally, a non-conflicting grid point is matched from the corresponding grid set for each optimization node. That is, a globally optimal grid point is matched for the first and second pins in each pin connection group. Since the search for the shortest augmenting path starts locally and the solution space is dynamically expanded (i.e., the priority grid array is updated), there is no need to input the cost matrix. The cost is calculated in the solution space, which limits the search range to truly reachable and effective local regions, reduces invalid traversals, and reduces the peak memory required for the algorithm to run. Under the premise of maintaining global optima, the overall matching efficiency is improved.

[0055] In some embodiments, the optimized node corresponding to each pin connection group is determined based on the number of first pins and the number of second pins in each pin connection group.

[0056] Specifically, when there is one first pin and one second pin in the pin connection group, the optimized node corresponding to the pin connection group is the midpoint of the connection line between the first pin and the second pin.

[0057] When the number of first pins and / or second pins in a pin connection group is two or more, a right-angle Steiner tree is constructed based on all first pins and all second pins in the pin connection group. Each Steiner point in the right-angle Steiner tree is traversed, and the variance of the Manhattan distance between each Steiner point and the pins (first pins and second pins) in the pin connection group is calculated. The Steiner point with the smallest variance of the Manhattan distance is selected as the optimization node.

[0058] In some embodiments, the priority grid array is an array consisting of the grid point closest to the optimization node and all grid points adjacent to the nearest grid point.

[0059] Specifically, when determining the priority grid array, multiple grid points are first modeled. For each grid point, the location of the grid point is the intersection of two non-parallel lines, L1 and L2, where L1 is: x = k y y + b i L2 is: y = k x x + b j For any two lattice points (the first lattice point and the second lattice point), the slopes of L1 at the first lattice point and L1 at the second lattice point are the same; the slopes of L2 at the first lattice point and L2 at the second lattice point are also the same. The slope is K. y The x-intercept of all straight lines b i Represented by a one-dimensional array gridx; the slope is K. x The x-intercept of all straight lines b j Represented by a one-dimensional array gridy. When the slopes of L1 and L2 are both 0, the straight line formed by connecting the grid points in each row is parallel to the X-axis in the two-dimensional coordinate system, and the straight line formed by connecting the grid points in each column is parallel to the Y-axis in the two-dimensional coordinate system.

[0060] The location of the optimization node is also the intersection of lines L1 and L2. After the coordinates of the optimization node are determined, the nearest line L1 to line L1 and the nearest line L2 to line L2 to form the optimization node can be determined using the one-dimensional array gridx and the one-dimensional array griddy. The nearest grid point to the optimization node can be determined using the nearest line L1 and the nearest line L2. The nearest grid point and all grid points adjacent to the nearest grid point are used as a priority grid point array, that is, the priority grid point array corresponding to the optimization node.

[0061] In some embodiments, after the priority grid array is determined, the half-perimeter value of each grid point in the priority grid array is calculated, and then the corresponding grid set is determined according to a first predefined rule. Specifically, the first predefined rule is to access the grid points in the priority grid array in ascending order of their half-perimeter values; where the half-perimeter value refers to the half-perimeter of the net formed by the grid point and the first and second pins in its corresponding pin connection group; that is, the starting grid point when determining the grid set has the smallest half-perimeter value (the smallest half-perimeter value among all grid points in the priority grid array). Furthermore, each time the grid points in the priority grid array are updated, the half-perimeter value of the grid point most recently added to the priority grid array is calculated after each update.

[0062] In some embodiments, the priority grid array is updated according to a second predefined rule. The second predefined rule is that when accessing the current grid point, grid points adjacent to the current grid point that are not included in the priority grid array are added to the priority grid array. In other words, when a grid point is accessed and it does not belong to only one priority grid array, grid points adjacent to that grid point that are not included in that priority grid array are added to that priority grid array; that is, the priority grid array is updated once.

[0063] In one specific embodiment, such as Figure 3 The image shows the distribution of lattice points on a hybrid bonding interface. Figure 3 In this array, p is an optimized node, n is the nearest grid point, and the eight grid points surrounding the nearest grid point, along with the nearest grid point, form the priority grid point array corresponding to the optimized node p. Each time the priority grid point array is updated, the grid points among the eight grid points surrounding the currently visited grid point that are not yet included in the current optimized grid point array are added to the priority grid point array.

[0064] In some embodiments, such as Figure 2 As shown, based on each optimized node and its corresponding set of grid points, the method of iteratively finding the shortest augmenting path matches non-conflicting grid points for each optimized node, including the following steps:

[0065] S601. For each set of grid points, construct a cost array with the same length as the set of grid points.

[0066] S602. By iteratively finding the shortest augmenting path, update the path cost values ​​in each cost array one by one.

[0067] S603. After updating the path cost values ​​in each cost array, based on the constraints that an optimized node can only match one grid point and a grid point can only match one optimized node, select the set of effective augmenting paths with the minimum total overall path cost as the globally optimal grid point matching scheme, so that each optimized node matches a unique grid point.

[0068] In some embodiments, after the set of grid points corresponding to each optimization node is determined, a corresponding cost array is constructed for each grid point set. For a grid point set, the length of the cost array is the same as the number of grid points in the corresponding grid point set. That is, when there are m grid points in the grid point set, the corresponding cost array has m elements. Each grid point in the grid point set uniquely corresponds to an element in the cost array, and the corresponding element is the cost value when the optimization node corresponding to the grid point set is the starting point and the corresponding grid point is the ending point of the augmenting path. In this embodiment, in the initial stage (when the cost array has not been updated), each element in the cost array is set to a preset maximum value, which is greater than the total cost of any legal augmenting path. For example, the preset maximum value can be set to infinity (∞). After constructing the cost array, an iterative optimization strategy based on the shortest augmenting path is used to dynamically adjust the elements (i.e., cost values) in the cost array. After updating the path cost values ​​in each cost array, based on the constraints that an optimized node can only match one grid point and a grid point can only match one optimized node, the set of effective augmenting paths with the minimum total overall path cost is selected as the globally optimal grid point matching scheme, so that each optimized node matches a unique grid point.

[0069] In some embodiments, when updating the path cost values ​​in each cost array by iteratively finding the shortest augmenting path, starting from any optimized node, the access begins from one of the grid points in the grid point set corresponding to any optimized node according to a first predefined rule; that is, starting from any optimized node, the access begins from the grid point with the smallest half-perimeter value in the grid point set corresponding to that optimized node. If the accessed current grid point is not matched, then the path from any optimized node as the starting point to the accessed current grid point as the ending point is determined to be an augmenting path, and the elements in the cost array corresponding to the accessed current grid point are updated, that is, the path cost value from any optimized node as the starting point to the accessed current grid point as the ending point is updated.

[0070] If the visited grid point has already been assigned, then the visited grid point is marked, and for the current optimization node corresponding to the visited grid point, grid points with a path cost value less than the path cost value with the visited grid point as the destination are re-matched from the unmarked grid points in the grid point set corresponding to the current optimization node. In other words, when the visited grid point has already been assigned, the visited grid point is marked, and then the grid points corresponding to the current optimization node are re-matched from the grid points in the grid point set corresponding to the current optimization node.

[0071] If a grid point with a path cost value less than the path cost value when the current grid point is visited is matched, the newly matched grid point is used as the matched grid point of the corresponding optimization node, and the corresponding element in the cost array is updated; the optimization node corresponding to the current grid point is matched to any optimization node, and the corresponding element in the cost array is updated.

[0072] If no grid point with a path cost value less than the path cost value when the current grid point is visited is found, then the current grid point is used as the endpoint of the corresponding optimization node, and grid points are continued to be matched for any optimization node.

[0073] In some embodiments, the path cost value is calculated as follows: the minimum cost of the current path plus the half-perimeter value corresponding to the current grid point, minus the dual variable of the current signal connection and the dual variable of the current grid point.

[0074] The minimum cost of the current path refers to the equivalent matching cost between an optimized node and the target grid point, adjusted by the current dual variable, when searching for an augmenting path for a given optimized node in the current iteration. The current signal connection dual variable is assigned to each optimized node (current signal connection) in the matching algorithm. This dual variable is used to adjust the matching priority of the optimized node during iteration. The value of the current signal connection variable is dynamically updated with each iteration: when an optimized node has difficulty matching a suitable grid point, its dual variable usually increases, thereby reducing its "equivalent cost" with the grid point and making it easier to match. Specifically, after finding the shortest augmenting path, the current signal connection dual variable needs to be updated by adding the path cost of the shortest augmenting path to it. When updating the current signal connection dual variable of a visited optimized node, the path cost of the shortest augmenting path is added to it, along with the difference between the shortest path cost and the shortest augmenting path cost when the visited optimized node's matched grid point is the final destination. Here, "visited optimized nodes" refers to optimized nodes that have been matched with grid points. The dual variable of the current grid point is assigned to each grid point in the matching algorithm to adjust its "scarcity" or "occupancy cost." When a grid point is contested by multiple signals, its dual variable increases, raising the equivalent cost of matching that grid point for other signals. This prompts the algorithm to prioritize other grid points and avoid excessive resource concentration. Similarly, after finding the shortest augmenting path, the dual variable of the current grid point needs to be updated. Specifically, the dual variable of visited grid points needs to be subtracted from the difference between the cost of the shortest path ending at the current grid point and the cost of the shortest augmenting path. The grid point dual variable and the current signal connection dual variable, compared to those in traditional bipartite graph matching algorithms, are variables introduced by transforming the primal problem into a dual problem. Their initial value is 0, such as... Figure 4The diagram shown is a bipartite graph in one embodiment. During cost calculation, the use of a half-perimeter value allows for awareness of wiring resources during the solution process, resulting in a reduction in the total wiring length of the matching results.

[0075] In some embodiments, the matching algorithm ends when each optimized node has been traversed, matching a unique grid point for each optimized node, and the unique grid point corresponds to a unique optimized node. At the same time, the global optimum is achieved, that is, the path cost value is minimized.

[0076] In some embodiments, this application also provides a computer program product, including a software code portion, which, when the product is run on a computer, performs the steps of the hybrid bonding terminal global dynamic matching method as described above. Specific details are as described in the above-described embodiment of the hybrid bonding terminal global dynamic matching method, and will not be repeated here.

[0077] The above examples illustrate the present invention only to aid in understanding it and are not intended to limit the scope of the invention. Those skilled in the art can make various simple deductions, modifications, or substitutions based on the principles of this invention.

Claims

1. A global dynamic matching method for hybrid bonding terminals, applied to 3D stacked integrated circuits, characterized in that, The global dynamic matching method for hybrid bonding terminals includes: Obtain pin connection configuration information, which is used to determine the first pin and the second pin in each pin connection group when the first chip and the second chip are connected. The first pin is a pin on the first chip, and the second pin is a pin on the second chip. Each pin connection group includes at least one first pin and at least one second pin. Obtain the position information of multiple grid points on the hybrid bonding interface between the first chip and the second chip; Based on the first and second pins in each pin connection group, the optimized node is determined as the topology convergence point when the first and second pins in each pin connection group are connected; Based on the location information of the multiple grid points and the optimized node corresponding to each pin connection group, a priority grid point array corresponding to each optimized node is constructed, wherein the number of grid points in each priority grid point array is less than the number of the multiple grid points. For each of the optimization nodes: select a grid point from the priority grid point array according to the first predefined rule to start visiting, and stop when the visited grid point belongs to only one priority grid point array. Integrate the starting grid point, the ending grid point and all grid points visited during the visit into a grid point set. In the process of determining the ending grid point, update the priority grid point array according to the second predefined rule. Based on each optimized node and its corresponding grid point set, a unique grid point is matched for each optimized node by iteratively finding the shortest augmenting path. The grid point matched for each optimized node is used to connect the first and second pins in the corresponding pin connection group. The priority grid array corresponding to each optimization node is an array consisting of the grid point closest to the optimization node and all grid points adjacent to the nearest grid point; The first predefined rule is to visit grid points in the priority grid array starting from the order of the half-perimeter values ​​of the grid points from smallest to largest; The second predefined rule is that when accessing the current grid point, grid points that are adjacent to the current grid point and are not assigned to the current priority grid point array are assigned to the priority grid point array.

2. The global dynamic matching method for hybrid bonding terminals as described in claim 1, characterized in that, The multiple grid points are arranged in multiple rows and columns, wherein grid points in the same row are collinear and the rows are parallel to each other, and grid points in the same column are collinear and the columns are parallel to each other.

3. The global dynamic matching method for hybrid bonding terminals as described in claim 1, characterized in that, The method of finding a unique grid point for each optimized node by iteratively searching for the shortest augmenting path based on each optimized node and its corresponding grid point set includes: For each set of grid points, a cost array with the same length as the set of grid points is constructed. The initial value of each element in the cost array is set to a preset maximum value that is greater than the total cost of any legal augmenting path. Each element in the cost array uniquely corresponds to a grid point in the set of grid points. The element is used to characterize the path cost value when the corresponding optimized node is the starting point and the corresponding grid point is the ending point as the augmenting path. By iteratively finding the shortest augmenting path, the path cost values ​​in each cost array are updated sequentially. After updating the path cost values ​​in each cost array, based on the constraints that an optimized node can only match one grid point and a grid point can only match one optimized node, the set of effective augmenting paths with the minimum total overall path cost is selected as the globally optimal grid point matching scheme, so that each optimized node matches a unique grid point.

4. The global dynamic matching method for hybrid bonding terminals as described in claim 3, characterized in that, The method of finding the shortest augmenting path through iteration, which updates the path cost values ​​in each cost array sequentially, includes: Starting from any optimization node, visit one grid point in the grid point set corresponding to any optimization node according to the first predefined rule; If the visited current grid point is not matched, then the path from any optimized node as the starting point to the visited current grid point as the ending point is determined to be an augmenting path, and the elements in the cost array corresponding to the visited current grid point are updated. If the visited current grid point has been matched, then mark the visited current grid point and set it as the current optimization node corresponding to the visited current grid point. Then, re-match grid points whose path cost value is less than the path cost value when the current grid point is the destination from the unmarked grid points in the grid point set corresponding to the current optimization node. If a grid point with a path cost value less than the path cost value when the current grid point being visited is the endpoint is matched, the newly matched grid point will be used as the endpoint of the corresponding optimized node, and the corresponding element in the corresponding cost array will be updated. If no grid point with a path cost value less than the path cost value when the current grid point being visited is found as the endpoint, then the current grid point being visited is taken as the endpoint of the corresponding optimized node, and grid points are continued to be matched for any optimized node.

5. The global dynamic matching method for hybrid bonding terminals as described in claim 4, characterized in that, The formula for calculating the path cost is: the minimum cost of the current path plus the half-perimeter value corresponding to the current grid point, minus the dual variable of the current signal connection and the dual variable of the current grid point.

6. The global dynamic matching method for hybrid bonding terminals as described in any one of claims 1-5, characterized in that, The step of determining the optimized node as the topology convergence point when the first and second pins in each pin connection group are connected, based on the first and second pins in each pin connection group, includes: When the number of the first pin and the number of the second pin in the pin connection group are both one, the optimized node is the midpoint of the connection point between the first pin and the second pin; When the number of the first pin and / or the number of the second pin in the pin connection group is greater than one, the optimized node is the Steiner point with the smallest variance of the Manhattan distance to the first pin and the second pin in the pin connection group on the right-angle Steiner tree constructed based on the first pin and the second pin.

7. A computer program product, characterized in that, Includes a software code portion that, when the product is run on the computer, is used to perform the steps of the hybrid bonding terminal global dynamic matching method as described in any one of claims 1 to 6.