Design method and device for layout of passing points, computer equipment, medium and program

By matching and updating the passing points of the signal path to be matched layer by layer in the multi-layer chip architecture, using the weighted data structure and greedy search strategy, the problem of difficult improvement in point layout design efficiency and quality in the existing technology is solved, and a more efficient and high-quality layout design is achieved.

CN119849413APending Publication Date: 2025-04-18HYGON INFORMATION TECH CO LTD
View PDF 0 Cites 3 Cited by

Patent Information

Application Number
CN202411918102.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-24
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

The prior art is difficult to effectively optimize the point layout in the multi-layer chip architecture, resulting in difficulty in improving design efficiency and quality.

Method used

By determining the intermediate layer of the currently matching point passing through the signal path to be matched, and determining the weight data structure of the candidate passing points based on the signal transmission level of the signal path, a greedy search strategy and a binary graph maximum weight matching algorithm are used to match and update the signal path to be matched layer by layer to achieve the optimized layout of the passing points.

Benefits of technology

The design efficiency and design quality of point layout are improved, and the global connection quality of signal paths is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119849413A_ABST
    Figure CN119849413A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a design method and device for layout of passing points, computer equipment, a medium and a program, and the method comprises the steps: determining a plurality of to-be-matched signal paths, and enabling the to-be-matched signal paths to be matched with part of path points; determining a current middle layer of a current to-be-matched passing point of the to-be-matched signal path; determining a weight data structure corresponding to the plurality of signal paths to be matched in the current intermediate layer, wherein the weight represents the connection quality; based on the weight data structure, determining a passing point matching scheme corresponding to connection quality maximization; adding matched path points of a to-be-matched signal path to candidate passing points, matched in a current intermediate layer, of the to-be-matched signal path in the passing point matching scheme; and after each to-be-matched signal path is matched with the candidate passing point in each intermediate layer, determining the candidate passing point, matched in each intermediate layer, of each to-be-matched signal path as a target passing point of the layout. According to the embodiment of the invention, the design efficiency and design quality of the passing point layout can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of chip design technology, and specifically to a design method, device, computer equipment, medium and program for point layout. Background Art

[0002] Based on the multi-layer architecture design of the chip, the chip can have multiple chip layers. To ensure that signals can be transmitted between chip layers, the chip layers need to be connected through interconnection methods. For example, the chip layers can be connected through silicon vias (TSV), solder balls, wiring and other interconnection methods. Therefore, the connection points in the chip layers can be at least one of silicon vias, solder ball contacts, wiring intersections, etc., depending on the specific interconnection method.

[0003] In order to realize signal transmission across chip layers, the chip needs to design a cross-layer signal path. Specifically, the signal path can be composed of a starting point, an end point and a passing point; wherein the starting point is the starting point of the signal path, which belongs to the endpoint of the signal path (the starting point is also called the source endpoint), and the signal initiating layer in the multiple chip layers of the chip is regarded as the signal output end; the end point is the end point of the signal path, which belongs to the endpoint of the signal path (the end point is also called the target endpoint), and the signal receiving layer in the multiple chip layers of the chip is regarded as the signal input end; the signal initiating layer is different from the signal receiving layer and passes through at least one chip layer, so the signal path needs to pass through at least one chip layer from the starting point to the end point. The chip layer that the signal path passes through from the starting point to the end point is called an intermediate layer (one or more), and the connection point of the signal path in the intermediate layer (such as silicon through vias, solder ball contacts, wiring intersections, etc.) is called a passing point.

[0004] It can be seen that the passing points involve signal transmission in the middle layer of the signal path, which is crucial to the performance and reliability of the chip. The layout optimization of the passing points needs to be considered when designing the chip. Therefore, how to provide a design solution for the passing point layout to improve the design efficiency and design quality of the passing point layout has become a technical problem that technical personnel in this field need to solve urgently. Summary of the invention

[0005] In view of this, embodiments of the present application provide a method, apparatus, computer device, medium, and program for designing a through-point layout to improve the design efficiency and design quality of the through-point layout.

[0006] To achieve the above objectives, the embodiments of the present application provide the following technical solutions.

[0007] In a first aspect, an embodiment of the present application provides a design method for a point layout, including:

[0008] Determine a plurality of signal paths to be matched, wherein a signal path to be matched includes a partial path point of a signal path that has been matched;

[0009] According to the signal transmission level of the signal path in the middle layer, determine the current middle layer of the current to-be-matched passing point of the to-be-matched signal path, and determine a plurality of candidate passing points of the current middle layer;

[0010] Determine a weight data structure corresponding to a plurality of signal paths to be matched in the current middle layer, wherein the weight data structure includes weights corresponding to each signal path to be matched and each candidate passing point in the current middle layer, wherein the weight represents the connection quality;

[0011] Based on the weight data structure, determining a passing point matching scheme corresponding to the weight result and the maximum connection quality, wherein the passing point matching scheme includes candidate passing points matched by each signal path to be matched in the current intermediate layer; and adding the candidate passing points matched by the signal path to be matched in the current intermediate layer to the path points matched by the signal path to be matched, so as to update the signal path to be matched;

[0012] After each to-be-matched signal path matches a candidate passing point in each intermediate layer, the candidate passing point matched by each to-be-matched signal path in each intermediate layer is determined as a target passing point for each intermediate layer layout.

[0013] In a second aspect, an embodiment of the present application provides a design device for a point layout, including:

[0014] A signal path determination module to be matched, used to determine a plurality of signal paths to be matched, wherein a signal path to be matched includes a partial path point of a signal path that has been matched;

[0015] A current intermediate layer determination module, used to determine the current intermediate layer of the current to-be-matched passing point of the to-be-matched signal path according to the signal transmission level of the signal path in the intermediate layer, and determine multiple candidate passing points of the current intermediate layer;

[0016] A weight data structure determination module, used to determine a weight data structure corresponding to a plurality of signal paths to be matched in the current intermediate layer, wherein the weight data structure includes weights corresponding to each signal path to be matched and each candidate passing point in the current intermediate layer, wherein the weight represents the connection quality;

[0017] A matching module, for determining, based on the weight data structure, a passing point matching scheme corresponding to the weight result and the maximum connection quality, wherein the passing point matching scheme includes candidate passing points matched by each signal path to be matched in the current intermediate layer; and adding the candidate passing points matched by the signal path to be matched in the current intermediate layer to the path points matched by the signal path to be matched, so as to update the signal path to be matched;

[0018] The layout determination module is used to determine the candidate passing points matched by each signal path to be matched in each intermediate layer as target passing points for the layout of each intermediate layer after each signal path to be matched matches the candidate passing points in each intermediate layer.

[0019] In a third aspect, an embodiment of the present application provides a computer device comprising at least one memory and at least one processor, wherein the memory stores computer execution instructions, and the processor calls the computer execution instructions stored in the memory to execute the design method of the passing point layout as described in the first aspect above.

[0020] In a fourth aspect, an embodiment of the present application provides a storage medium, wherein the storage medium stores computer execution instructions, and when the computer execution instructions are executed, the design method of the passing point layout as described in the first aspect above is implemented.

[0021] In a fifth aspect, an embodiment of the present application provides a computer program, including computer execution instructions, which, when executed, implement the design method of the passing point layout as described in the first aspect above.

[0022] It can be seen that in terms of the layout design of passing points, the embodiment of the present application decomposes the layout problem of passing points in the middle layer into the problem of matching passing points in each middle layer. Therefore, for multiple signal paths to be matched that have matched some path points, the embodiment of the present application can determine the current middle layer of the current passing point of the signal path to be matched according to the signal transmission level of the signal path in the middle layer, and determine multiple candidate passing points in the current middle layer; and then determine the weight data structure corresponding to the multiple signal paths to be matched in the current middle layer, the weight data structure includes the weights corresponding to each signal path to be matched and each candidate passing point in the current middle layer, wherein the weight represents the connection quality; that is, in the process of matching passing points in each middle layer, the embodiment of the present application introduces a weight factor representing the connection quality, so that for the current middle layer, the weights corresponding to each signal path to be matched and each candidate passing point in the current middle layer are used to quantify the connection quality, so that each middle layer The passing point matching of the intermediate layer can focus on the connection quality; then, for the current intermediate layer, based on the weight data structure, find the passing point matching scheme corresponding to the weight result and the maximized connection quality, and the passing point matching scheme includes the candidate passing points matched by each signal path to be matched in the current intermediate layer; based on the candidate passing points matched by the signal path to be matched in the current intermediate layer, the embodiment of the present application can update the signal path to be matched, add the candidate passing points matched by the signal path to be matched in the current intermediate layer, and then perform the passing point matching of the next intermediate layer, so as to realize the iterative update of the signal path to be matched layer by layer, until each signal path to be matched matches the candidate passing points in each intermediate layer, and complete the passing point matching and iterative update of multiple signal paths to be matched in each intermediate layer. At this time, the candidate passing points matched by each signal path to be matched in each intermediate layer are the target passing points of the layout of each intermediate layer.

[0023] The embodiments of the present application can intelligently and automatically optimize the passing point layout and improve the global connection quality of the signal path, thereby achieving the effect of improving the design efficiency and design quality of the passing point layout. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0025] Figure 1 An example diagram of the multi-layer architecture of a chip.

[0026] Figure 2A flow chart of a method for designing a pass-through point layout provided in an embodiment of the present application.

[0027] Figure 3A Flowchart for determining candidate passing points.

[0028] Figure 3B An example diagram showing how the point layout problem is transformed into a matching problem.

[0029] Figure 4A Flowchart for determining weight data structure.

[0030] Figure 4B An example diagram of the formation of the weight matrix.

[0031] Figure 5 Schematic diagram of the model for the layer-by-layer maximum weight matching problem.

[0032] Fig. 6A Schematic diagram of the problem-solving model for the TSV placement problem.

[0033] Figure 6B An example diagram of the matching between the association pair set and the candidate passing point set.

[0034] Figure 6C FIG. 4 is another example of a match between a set of associated pairs and a set of candidate passing points.

[0035] Fig.6D Figure 1 is an example diagram of a fully matched signal path.

[0036] Figure 7 A flowchart of passing point matching based on equal subgraphs provided in an embodiment of the present application.

[0037] Fig. 8A This is an example image for initializing the top label.

[0038] Figure 8B An example graph for initializing equal subgraphs.

[0039] Fig.9A A flow chart of a method for determining a complete match provided in an embodiment of the present application.

[0040] Fig. 9B Example graph for finding augmenting paths and flipping operations.

[0041] Fig. 9C Another example graph for finding augmenting paths and flipping operations.

[0042] Fig.9D An example graph for adjusting equal subgraphs.

[0043] Fig.9E Another example diagram for finding augmenting paths and flipping operations.

[0044] Fig.9F This is an example of a perfect match.

[0045] Fig.10 A block diagram of a design device for a pass-through point layout provided in an embodiment of the present application. DETAILED DESCRIPTION

[0046] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0047] To understand the multi-layer architecture of chips, take a 3D (3-dimensional) chip as an example. Figure 1 An example diagram of a multi-layer architecture of a chip is shown. It should be noted that a 3D chip refers to a chip with a three-dimensional structure, in which multiple chip layers are stacked, and functional integration is achieved between the chip layers through vertical connections and other connection methods; for example, a 3D chip can be packaged using 3D packaging technology. When 3D packaging technology is used, a 3D chip can refer to a chip architecture that uses 3D packaging technology to stack multiple chip layers of a chip and connect them using vertical interconnection technology (such as silicon through-holes); chips with multi-layer architectures are not limited to 3D chips using 3D packaging technology, but may also be chips using 2.5D packaging technology (2.5D packaging technology achieves lateral interconnection of functional layers through an intermediate layer), multi-layer functional units implemented on a single silicon wafer, and other forms of chips.

[0048] Reference Figure 1 , taking 3D chip as an example, the chip may include:

[0049] The package substrate 110 is located at the bottom of the chip and provides mechanical support, heat dissipation, and connection between the chip and external circuits.

[0050] Interposer 120 is used to connect the substrate of multiple Dies (bare chips, also called core particles). The interposer supports efficient communication between Dies through signal bridging. In the multi-layer architecture of the chip, Die can correspond to the chip layer of the chip.

[0051] exist Figure 1In the example, the multiple chip layers of the chip may include a logic layer and multiple functional layers; wherein the logic layer includes a logic Die 130 for data processing and logic control; the logic Die is connected to the package substrate through an interposer and communicates with the stacked multiple functional layers through TSV (Through Silicon Via) 140;

[0052] The multiple functional layers include multiple functional Dies 150, and the functional Dies can be used to implement the functional modules of the chip, such as computing cores, storage modules, sensor modules, etc. The functional Dies can be regarded as functional layers stacked on the logic Dies (i.e., logic layers) in the multi-layer architecture of the chip, and the multiple functional Dies communicate through vertical interconnection technology (e.g., TSV);

[0053] Further, in Figure 1 In the example, the chip may also include a GPU (Graphics Processing Unit, Graphics Processing Unit) Die or a CPU (Central Processing Unit, Central Processing Unit) Die or a SOC (System on Chip, System on Chip) Die; Figure 1 In the example, the upper layer of the interposer connects the GPU Die / CPU Die / SOC Die and the logic Die, and the lower layer connects the package substrate; and the logic Die connects the stacked multiple functional Dies through TSV and microbumps 160, while the logic Die and GPU Die / CPU Die / SOC Die transmit signals through PHY (physical layer interface); it should be noted that microbumps are used to connect the signal paths and power distribution between adjacent chip layers, and TSV is a vertical through hole that runs through each Die, which is used to realize signal and power transmission between different layers.

[0054] Combination Figure 1 For example, taking a 3D chip as an example, the cross-layer signal path can start from the logic Die (i.e., the logic layer), so that the logic Die can be used as the signal initiating layer, and the starting point of the signal path (i.e., the source endpoint) is located at the logic Die; the end point of the signal path (i.e., the target endpoint) can be located at the top functional Die of multiple functional Dies, so that the top functional Die can be used as the signal receiving layer; the signal needs to pass through multiple functional Dies to be transmitted from the logic Die to the top functional Die, so the functional Die through which the signal passes corresponds to the middle layer of the signal path, and the TSV that runs through the middle layer can be regarded as the passing point of the signal path, which is used to realize vertical communication between layers.

[0055] The endpoints of the above-mentioned signal path are located at the bottom layer (logic layer) and the top layer (top layer functional Die) among the multiple chip layers of the chip, so that the chip layer through which the signal is transmitted from the bottom layer (logic layer) to the top layer (top layer functional Die) is the middle layer, and the TSV of the middle layer is the passing point of the signal path, which can be regarded as an example of the vertical signal transmission path of the stacked architecture of the 3D chip; of course, the signal path can also have other forms, not limited to the vertical signal transmission path, and the form of the signal path can vary depending on the chip architecture and functional requirements, such as a horizontal signal transmission path (for example, the signal is transmitted between the laterally connected GPU Die and CPU Die through the intermediate layer, and the wiring of the intermediate layer is used to achieve interconnection), etc.

[0056] As an important part of the signal path, the via point plays a key role in cross-layer signal communication. Therefore, the layout design of the via point needs to be considered in chip design, and the quality of the layout design of the via point has an important impact on the performance and reliability of the chip. For example, in the design field of 3D packaging technology for 3D chips, the TSV layout strategy in the vertical stacking direction is the core element of the design, which affects the comprehensive performance of the circuit (including speed, stability, etc.), energy efficiency, cost-effectiveness, and feasibility of the manufacturing process. It can be seen that in the design of multi-layer architecture chips such as 3D chips, the layout design of the via point has become an important part of the chip design process.

[0057] It should be noted that via point layout (such as TSV layout) refers to the technology of optimizing the overall circuit performance and reliability by placing or adjusting the position of via points (such as TSV) during the design process of multi-layer architecture chips such as 3D chips. The core goal of via point layout (such as TSV layout) is to ensure that via points (such as TSV) can effectively transmit electrical signals while reducing losses and interference during signal transmission. The key issue is how to precisely control the position of via points (such as TSV) to reduce the length of the signal path, reduce resistance and inductance, and thus improve the speed and stability of signal transmission.

[0058] However, with the rapid development of semiconductor technology, the scale of chip design has expanded and the number of chip layers has increased, which has led to the increasing design complexity of the pass-through layout, which is mainly reflected in the following aspects:

[0059] The exponential growth of design space. Specifically, the expansion of chip design scale and the continuous increase in the number of chip layers increase the design space of through-point layout (such as TSV layout), resulting in an increase in the design complexity of through-point layout (such as TSV layout). Taking 3D chips as an example, as the number of stacked layers of 3D chips increases, the design space of TSV layout grows exponentially. Assuming that the number of TSV points in a single middle layer is N, the design space of TSV layout in 3 middle layers can reach N. 3 ,This expansion of the design space increases the design complexity of the ,passing point layout;

[0060] The diversity of layout constraints. Specifically, the design of through-point layout (such as TSV layout) requires effective management of layout constraints, and the diversity of layout constraints leads to increased design complexity of through-point layout (such as TSV layout). Taking 3D chips as an example, the design of TSV layout needs to comprehensively consider multiple constraints, such as signal integrity, thermal management, electromagnetic compatibility, manufacturing cost, etc. These diverse constraints lead to increased design complexity of through-point layout (such as TSV layout).

[0061] Faced with the increasing design complexity of through-point layout, the design method of through-point layout (such as TSV layout) needs to take into account both design efficiency and design quality. However, some of the following design methods have their own shortcomings:

[0062] As for the design method using electronic design automation tools, electronic design automation tools can generate layout solutions for through-point layout through automated processes, which is highly efficient and can be applied to basic design tasks. However, electronic design automation tools are mainly oriented to two-dimensional planar design, while the through-point layout of 3D chips requires processing of three-dimensional vertical stacking structures. Therefore, electronic design automation tools are difficult to meet the three-dimensional complex design requirements of through-point layout (such as TSV layout) of 3D chip stacking. At this time, manual intervention is required to perform additional pre-processing (such as simplifying the three-dimensional problem of through-point layout into a two-dimensional problem) and post-processing (such as correcting the layout solution of the electronic design automation tool to adapt to the three-dimensional scene of the 3D chip) to make up for the shortcomings of the electronic design automation tool, which increases labor costs and design time. Therefore, electronic design automation tools do not provide sufficient support for multi-dimensional layout constraints and cannot meet the design requirements of through-point layout of complex 3D chips.

[0063] For the design method through manual layout and adjustment by designers, designers directly intervene in the layout process of through-point layout and manually optimize and adjust specific paths or areas. This method can flexibly respond to special needs in through-point layout, such as adjusting the TSV position on the critical path to optimize the signal effect. It can be suitable for local optimization, but it is less efficient when facing global design problems. At the same time, the design quality depends on the professional knowledge and experience of the designer, and it is difficult to ensure the consistency of the design quality. In addition, the manual adjustment of the designer is time-consuming and laborious, especially when facing complex designs, the efficiency is difficult to guarantee. In addition, during the manual layout and adjustment process, due to the negligence of the designer, design errors may be introduced, affecting the design quality;

[0064] For the design method using rule-based layout algorithms, the layout algorithm can use preset rules (such as line width, line spacing, inter-layer connection restrictions, etc.) to optimize the layout, thereby generating a design solution that meets the rule constraints. This method uses clear rules to optimize the design and can be used for basic optimization of through-point layout, such as ensuring that the spacing between TSVs meets manufacturing requirements; however, when faced with complex global layout optimization or dynamic requirements, due to the fixed nature of the rules, the layout algorithm's responsiveness is insufficient and it is difficult to handle multi-dimensional constraints. Therefore, the applicability of rule-based layout algorithms is limited, and it is difficult to cope with the diverse scenarios of 3D chip through-point layout, which may produce suboptimal solutions and affect the overall layout performance;

[0065] As for the design method using intelligent optimization algorithms, intelligent optimization algorithms combine artificial intelligence and machine learning technologies to automatically generate layout plans based on historical design cases and real-time constraints. This method can dynamically adjust the layout strategy according to design requirements and generate a layout plan close to the global optimal. Therefore, the intelligent optimization algorithm can handle complex multi-dimensional constraints in the through-point layout, with a high degree of automation, which can reduce human intervention, and through data-driven optimization, it can generate high-quality layout plans for the specific needs of 3D chips. However, intelligent optimization algorithms require a large amount of training data, and the quality and quantity of training data will affect the algorithm effect. In addition, complex intelligent optimization algorithms may require large computing resources and time, especially when facing large-scale designs. At the same time, the decision-making process of some intelligent algorithms is not transparent, which may make it difficult for designers to understand the optimization results.

[0066] It can be seen that electronic design automation tools and designers' manual layout methods are mainly suitable for simple or local design problems, but are insufficient when faced with complex 3D layout requirements; rule-based layout algorithms are suitable for optimizing basic design constraints, but lack globality and flexibility; although intelligent optimization algorithms can cope with diverse needs, they need to solve problems such as data dependence and computing costs.

[0067] Based on this, in an optional implementation, the embodiment of the present application considers combining a greedy search strategy with a bipartite graph maximum weight matching to optimize the design of the through point layout (such as a TSV layout) to improve the design efficiency and design quality of the through point layout. The embodiment of the present application gradually constructs and optimizes the path of the through point layout (such as a TSV layout) through a greedy search strategy, and selects the current optimal or approximately optimal solution in each step, thereby decomposing the global optimization problem of the through point layout (such as a TSV layout) into multiple layer-by-layer matching sub-problems, which can be optimized layer by layer according to the signal path to reduce computational complexity; the embodiment of the present application converts the through point layout (such as a TSV layout) problem of each layer into a maximum weight matching problem in graph theory through a bipartite graph maximum weight matching, and uses algorithms such as a bipartite graph maximum weight matching to solve it, thereby matching the through points at each layer, and finally iterating multiple layers to find the global optimal or near-global optimal path matching solution.

[0068] Specifically, the signal needs to pass through at least one intermediate layer from the signal initiating layer where the source endpoint is located to the signal receiving layer where the target endpoint is located. Therefore, the passing point layout involves the passing point layout of the intermediate layer connected to the source endpoint, the passing point layout between the intermediate layers (when there are multiple intermediate layers), and the passing point layout of the intermediate layer connected to the target endpoint. This involves a multi-layer layout problem of passing points. The greedy search strategy can be used to gradually solve the multi-layer layout problem, and the complex multi-layer layout problem can be decomposed into sub-problems of layer-by-layer matching along the signal path. In combination with algorithms such as bipartite graph maximum weight matching, global optimization support is provided for the passing point matching of each layer to cope with the design complexity and multi-constraint problems of passing point layout (such as TSV layout), and to improve the design efficiency and design quality of passing point layout.

[0069] To facilitate understanding, some basic concepts are introduced below.

[0070] A greedy search algorithm is an algorithmic strategy that selects the best option under the current circumstances at each decision-making step without considering the impact of future steps; that is, the greedy search algorithm makes local optimal selections, that is, the selection at each step only focuses on the best solution under the current state. Although it may not be possible to guarantee a global optimal solution, it is possible to find a solution close to the global optimal solution to meet actual needs; in this embodiment of the present application, the greedy search algorithm gradually optimizes the signal path by selecting the passing points with the best connection quality layer by layer.

[0071] A bipartite graph is a special graph structure whose vertex set can be divided into two non-intersecting subsets A and B. Each edge in the graph connects a vertex in subset A and a vertex in subset B. There are no edges connecting vertices in the same subset.

[0072] In a graph, a matching refers to a set of edges that do not share endpoints, and a maximum matching is the matching scheme (matching set) with the largest number of edges. Maximum weight matching is an extended concept of maximum matching, which introduces weights for the connections (edges) between vertices, so as to find a matching scheme with the smallest or largest sum of weights; that is, maximum weight matching focuses on the weights of the edges (i.e. the weights of the connections), so that the sum of the weights of the edges of the matching scheme found is minimized or maximized.

[0073] In the passing point layout problem of the embodiment of the present application, the weight can represent the connection quality reflected by the connection attributes of the connection, that is, the weight represents the connection quality. Therefore, when optimizing layer by layer, the embodiment of the present application can use the weight to perform maximum weight matching to find a matching solution that maximizes the connection quality, thereby optimizing the design quality of the passing point layout.

[0074] As an optional implementation, Figure 2 An optional flow chart of a design method for a point layout provided in an embodiment of the present application is shown as an example. The method can be executed by a computer device. For example, the computer device can execute the design method for a point layout provided in an embodiment of the present application by running an optimization algorithm. The computer device includes but is not limited to a terminal device or a server device, and can be any computer device used for chip design that can be used by designers. Figure 2 The design method of the point layout provided in the embodiment of the present application may include the following steps.

[0075] Step S210 , initializing a plurality of signal paths to be matched, wherein an initialized signal path to be matched includes a source endpoint to which a signal path has been matched.

[0076] The embodiment of the present application introduces the concept of a signal path to be matched, and a signal path to be matched includes a partial path point of a signal path that has been matched; it can be understood that the signal path starts from the source endpoint of the signal initiating layer, passes through the passing points of at least one intermediate layer (one or more intermediate layers), and reaches the target endpoint of the signal receiving layer. Therefore, the path points of the signal path include the source endpoint of the signal initiating layer, the passing points of at least one intermediate layer, and the target endpoint of the signal receiving layer; in the embodiment of the present application, the signal path to be matched has matched some of the path points in the above-mentioned path points, that is, the signal path to be matched has not yet completely matched the path points, but only matched some of the path points; for example, the signal path to be matched has matched the source endpoint, but has not yet matched the passing points, or the signal path to be matched has matched the source endpoint and the passing points of some intermediate layers, but has not yet matched the passing points of all intermediate layers.

[0077] In an optional implementation, an embodiment of the present application can match path points for the signal path to be matched layer by layer according to the signal transmission level of the signal path, thereby gradually matching the source endpoint, the passing points of each intermediate layer, and the target endpoint for the signal path to be matched, and obtaining a complete matching signal path corresponding to the signal path to be matched with complete matching path points; that is, the matched path points of the signal path to be matched are obtained by matching layer by layer.

[0078] In the embodiment of the present application, the positions of multiple source endpoints of the signal initiation layer are known. The embodiment of the present application can initialize multiple signal paths to be matched based on the multiple source endpoints whose positions are known, that is, initializing multiple signal paths to be matched is to initialize matching source endpoints for each signal path to be matched, and one signal path to be matched is initialized to match one source endpoint. For example, the embodiment of the present application can use multiple source endpoints of the signal initiation layer as the starting points of the signal paths to be matched, thereby initializing multiple signal paths to be matched.

[0079] Further, a plurality of signal paths to be matched may form a set of signal paths to be matched. For ease of explanation, the set of signal paths to be matched is recorded as Path(S). The set of signal paths to be matched Path(S) includes a plurality of signal paths to be matched, and each signal path to be matched is indicated by a path point that has been matched by each signal path to be matched. For example, taking four signal paths to be matched path1 to path4 as an example, the set of signal paths to be matched Path(S) may be expressed as:

[0080] Path((path1),(path2),(path3),(path4)), wherein each of the signal paths path1 to path4 to be matched includes some path points that have been matched.

[0081] It can be understood that since the initialization of the signal path to be matched is based on the source endpoint, when initializing multiple signal paths to be matched, the signal path set Path(S) to be matched includes the source endpoints that have been matched by each signal path to be matched; and as the signal paths to be matched match path points layer by layer, the path points that have been matched by each signal path to be matched in the signal path set Path(S) to be matched are updated and added accordingly, that is, the signal paths to be matched are updated as the signal paths to be matched match path points layer by layer.

[0082] Furthermore, the embodiments of the present application can obtain a source endpoint set (the information set of multiple source endpoints is referred to as the source endpoint set) to obtain the location information of multiple source endpoints, thereby determining multiple source endpoints; then, based on the multiple source endpoints, initialize multiple signal paths to be matched to form an initialized signal path set Path (S) to be matched.

[0083] For example, the source endpoint set can be in the form of an information list, that is, the source endpoint set can be a source endpoint information list, recording the location information of multiple source endpoints in the signal initiation layer, such as the location coordinates of multiple source endpoints in the signal initiation layer; for ease of explanation, the source endpoint set (such as the source endpoint information list) is denoted as S.

[0084] As an example, assuming that the source endpoint set S indicates four source endpoints, represented as source endpoints s1, s2, s3 and s4, the initialized signal path set Path(S) to be matched may include the initialized four signal paths path1 to path4 to be matched, and the path point that has been matched by each initialized signal path to be matched is the source endpoint. For example, the initialized signal path set Path(S) to be matched may be expressed as:

[0085] Path((s1),(s2),(s3),(s4)), that is, path1 has matched source endpoint s1, path2 has matched source endpoint s2, path3 has matched source endpoint s3, and path4 has matched source endpoint s4.

[0086] Step S220: Associating the target endpoint corresponding to the source endpoint for each initialized signal path to be matched.

[0087] In the embodiment of the present application, the positions of multiple target endpoints of the signal receiving layer are known, and there is a corresponding relationship between the source endpoint and the target endpoint. Therefore, based on the known position of the source endpoint and the corresponding target endpoint, the embodiment of the present application can associate the corresponding target endpoint for each initialized signal path to be matched, forming an association pair between the signal path to be matched and the target endpoint; further, multiple signal paths to be matched and the corresponding target endpoint form multiple association pairs, constituting an association pair set. In other words, each association pair in the association pair set indicates each signal path to be matched and the corresponding target endpoint.

[0088] Furthermore, the embodiments of the present application can obtain the location information of multiple target endpoints by acquiring a target endpoint set (the information set of multiple target endpoints is referred to as a target endpoint set), thereby determining multiple target endpoints. Furthermore, based on the correspondence between each source endpoint and the target endpoint, the corresponding target endpoint is associated with each initialized signal path to be matched, forming an association pair of each signal path to be matched, so that multiple association pairs of multiple signal paths to be matched form an association pair set. Among them, an association pair of a signal path to be matched represents the path point that has been matched by the signal path to be matched and the associated target endpoint; specifically, at the time of initialization, an association pair of a signal path to be matched represents the source endpoint that is initialized to match the signal path to be matched and the associated target endpoint, and as the path point that has been matched by the signal path to be matched is updated and added, an association pair of a signal path to be matched represents the path point that has been matched by the signal path to be matched (including the source endpoint and the matched passing point) and the associated target endpoint.

[0089] For example, the target endpoint set can be in the form of an information list, that is, the target endpoint set can be a target endpoint information list, recording the location information of multiple target endpoints in the signal receiving layer, such as the location coordinates of multiple target endpoints in the signal receiving layer. For ease of explanation, the target endpoint set (such as the target endpoint information list) is recorded as T.

[0090] As an example, let the associated pair set be Pair(Path(S),T), and take the four source endpoints s1, s2, s3 and s4 in the previous example as an example, assuming that the correspondence between the source endpoints and the target endpoints is a one-to-one correspondence, and assuming that the source endpoint s1 corresponds to the target endpoint t1 in the target endpoint set T, the source endpoint s2 corresponds to the target endpoint t2, the source endpoint s3 corresponds to the target endpoint t3, and the source endpoint s4 corresponds to the target endpoint t4. Then, after obtaining the initialized signal path set to be matched Path(S) = Path((s1), (s2), (s3), (s4)), based on the above correspondence between the source endpoints and the target endpoints, the corresponding target endpoints are associated with the four initialized signal paths to be matched in the initialized signal path set Path(S), and the following associated pair set can be obtained:

[0091] Pair(Path(S),T)=(((s1),t1),((s2),t2),((s3),t3),((s4),t4)).

[0092] Each association pair in the association pair set represents a signal path to be matched and an associated target endpoint. As the signal path to be matched matches the passing points layer by layer in the intermediate layer, the matched path points of the signal path to be matched in the association pair set are updated accordingly, that is, the signal path to be matched in the association pair set is updated along with the matched path points. For example, in the above example, the association pair ((s1), t1) represents the association between the signal path to be matched of the initialized source endpoint s1 and the target endpoint t1. As the signal path to be matched matches the passing points layer by layer, the signal path to be matched in the association pair ((s1), t1) is updated and added accordingly, and the matched passing points. Assuming that the signal path to be matched matches the passing point u1 in the first intermediate layer, the signal path to be matched in the association pair ((s1), t1) is updated to ((s1, u1), t1) accordingly, until the signal receiving layer is matched, the signal path to be matched matches the corresponding target endpoint t1 in the association pair, and then the corresponding complete matching signal path can be obtained.

[0093] It should be noted that the above example is illustrated based on a one-to-one correspondence between the source endpoint and the target endpoint. When the correspondence between the source endpoint and the target endpoint is a one-to-one correspondence, for example, one source endpoint corresponds to one target endpoint, there are no association pairs of duplicate source endpoints and duplicate target endpoints in the association pair set.

[0094] In an optional implementation, the correspondence between the source endpoint and the target endpoint can also be a one-to-many correspondence, for example, one source endpoint corresponds to multiple target endpoints, indicating multiple signal paths with the same source endpoint but different target endpoints. In this case, a signal path to be matched of a matched source endpoint in the association pair set can be associated with multiple target endpoints. For example, an association pair of a signal path to be matched of a matched source endpoint can be associated with multiple target endpoints. For example, assuming that the source endpoint s1 corresponds to the target endpoint t1 and the target endpoint t2, the association pair of the source endpoint s1 in the association pair set Pair(Path(S),T) can be expressed as ((s1), t1, t2), that is, the signal path to be matched (s1) of the source endpoint s1 is initialized to be associated with the target endpoints t1 and t2.

[0095] It can be understood that the signal needs to pass through at least one intermediate layer from the signal initiating layer to the signal receiving layer. Therefore, after determining the initialized signal path to be matched or the associated pair, the matching passing points of the signal path to be matched are performed layer by layer in at least one intermediate layer, and finally matched with the corresponding target endpoint in the associated pair, so that the complete matching signal path corresponding to the signal path to be matched can be obtained; at this time, through the matching passing points of the signal path to be matched in each intermediate layer, the passing point layout of each intermediate layer can be determined, that is, the position of the matching passing points of the signal path to be matched in each intermediate layer is the layout position of the passing points of each intermediate layer, so as to realize the confirmation of the passing point layout design of the intermediate layer.

[0096] It should be noted that associating the target endpoints corresponding to the source endpoints for each initialized signal path to be matched is only an optional implementation method, that is, setting the association pair set Pair(Path(S),T) so that the signal path to be matched and the corresponding target endpoint are indicated by the association pair is only an optional implementation method. The embodiment of the present application can also directly perform layer-by-layer passing point matching after initializing the signal path to be matched, until the receiving layer is matched, based on the target endpoint corresponding to the source endpoint in the signal path to be matched (such as the target endpoint corresponding to the one-to-one correspondence, one-to-many correspondence, etc. of the source endpoint), the target endpoint of the signal path to be matched is matched. In other words, the matching of the signal path to be matched at the last layer is the matching of the target endpoint of the signal receiving layer, which can be implemented based on the corresponding relationship between the source endpoint and the target endpoint of the signal path to be matched, or based on the target endpoint associated in the set association pair, and the embodiment of the present application is not limited.

[0097] In step S230, according to the signal transmission level of the signal path in the middle layer, the current middle layer of the point through which the signal path to be matched passes is determined.

[0098] The signal path needs to pass through at least one intermediate layer from the signal initiating layer to the signal receiving layer. For example, the chip layer (such as the functional Die) through which the signal is transmitted from the lowest layer (logic layer) to the highest layer (the functional Die of the uppermost layer) is an intermediate layer. The number of intermediate layers is at least one (or more), depending on the specific multi-layer architecture of the chip. Therefore, for an initialized signal path to be matched, the positions of the endpoints of the path (i.e., the source endpoint and the target endpoint) are known, and it is necessary to match the passing points for the signal path to be matched layer by layer in each intermediate layer to determine the layout of the passing points.

[0099] As an optional implementation, an embodiment of the present application may start from an initialized signal path to be matched, and match passing points of the signal path to be matched layer by layer in at least one intermediate layer through which the signal path passes, according to the signal transmission level of the signal path in the intermediate layer, thereby gradually adding the passing points matched layer by layer to the matched path points of the signal path to be matched to update the signal path to be matched; further, according to the signal transmission level of the intermediate layer, the updated signal path to be matched matches the passing points in the next intermediate layer, thereby iteratively updating the matched path points of the signal path until the signal receiving layer is matched, and adding the target endpoint corresponding to the signal receiving layer to the matched path points of the signal path to be matched, thereby completing the path point matching of the signal path to be matched.

[0100] In the above process, there is a current intermediate layer of the signal path to be matched that is progressive layer by layer, that is, according to the signal transmission level of the signal path in the intermediate layer, the embodiment of the present application will be the intermediate layer that has not yet matched the passing point of the signal path to be matched, and will be used as the current intermediate layer of the signal path to be matched in turn, so that the signal path to be matched has a current intermediate layer that changes correspondingly with the hierarchical relationship of the signal transmission level, that is, according to the signal transmission level, the current intermediate layer is the intermediate layer of the current passing point of the signal path to be matched, which belongs to the intermediate layer that has not yet matched the passing point of the signal path to be matched, and follows the signal transmission level of the signal path in the intermediate layer. For example, taking n intermediate layers as an example, according to the signal transmission level of the signal path in n intermediate layers, n intermediate layers can be used as the current intermediate layer of the signal path to be matched in turn, so as to match the passing point of the signal path to be matched layer by layer, and update the path point that has been matched by the signal path to be matched. At the same time, the process of matching the passing point layer by layer in the embodiment of the present application is iterative, that is, on the basis of the updated signal path to be matched by the passing point matched by the previous intermediate layer, the passing point is matched with the next intermediate layer until the target endpoint corresponding to the signal receiving layer is matched.

[0101] As an optional implementation, the signal path to be matched referred to in step S230 may be an initialized signal path to be matched, or a signal path to be matched that has been matched at least once through a point, wherein the signal path to be matched matches a point through an intermediate layer once. That is to say, the embodiment of the present application supports determining the current intermediate layer for the initialized signal path to be matched according to the signal transmission level of the signal path in the intermediate layer, and at this time, the initialized signal path to be matched uses the first intermediate layer as the current intermediate layer; at the same time, the embodiment of the present application may also support determining the current intermediate layer for the signal path to be matched that has been matched at least once through a point, and according to the signal transmission level of the signal path in the intermediate layer, and at this time, the next intermediate layer of the intermediate layer of the previous matched point through the signal path to be matched is the current intermediate layer.

[0102] Step S240: determine multiple candidate passing points of the current middle layer.

[0103] After determining the current middle layer of the signal path to be matched, the embodiment of the present application can determine multiple candidate passing points in the current middle layer. It should be noted that, for any middle layer, the multiple candidate passing points of the middle layer are of candidate nature, that is, the positions of the candidate passing points have been determined, but they are not the passing points of the final layout of the middle layer. The embodiment of the present application selects the final matching passing points from the candidate passing points of the middle layer, so that the final matching passing points in the middle layer are used as the passing points of the middle layer layout (i.e., the target passing points of the middle layer).

[0104] As an optional implementation, Figure 3A An optional flow chart for determining candidate passing points is shown as an example. Figure 3A As shown, the process may include the following steps.

[0105] Step S310: for any middle layer, determine whether the candidate passing points of the middle layer have been determined, if not, execute step S311, if yes, execute step S312.

[0106] As an optional implementation, the embodiment of the present application takes each intermediate layer as the current intermediate layer in turn, thereby matching the passing points for the signal path to be matched layer by layer. Therefore, the embodiment of the present application can respectively determine whether the candidate passing points of each intermediate layer already exist, such as whether there is a corresponding candidate passing point set for each intermediate layer; for any intermediate layer, the information set of multiple candidate passing points of the intermediate layer is referred to as the candidate passing point set, so that for at least one intermediate layer, there should be at least one candidate passing point set corresponding to at least one intermediate layer, and one intermediate layer corresponds to one candidate passing point set, which contains information of multiple candidate passing points in the intermediate layer (such as location information) to indicate multiple candidate passing points in the intermediate layer.

[0107] For example, the candidate passing point set may be in the form of an information list, that is, the candidate passing point set may be a candidate passing point information list, recording the location information of multiple candidate passing points in the middle layer. For ease of explanation, the candidate passing point set (such as the candidate passing point information list) is denoted as X. Based on the existence of at least one candidate passing point set (one or more candidate passing point sets), the i-th candidate passing point set may be denoted as X. i , that is, the information set of multiple candidate passing points in the i-th intermediate layer is the i-th candidate passing point set X i .

[0108] Step S311 : Based on the design rules of the passing points, multiple candidate passing points of the middle layer are determined in the layout range of the passing points of the middle layer in a manner of maximizing the full coverage of the passing points.

[0109] As an optional implementation, if the candidate passing points of the middle layer are not determined, that is, the positions of the candidate passing points of the middle layer are unknown, it is necessary to determine multiple candidate passing points that can be selected in the middle layer under the design constraints of the passing points.

[0110] In an optional implementation, the embodiment of the present application can maximize the full coverage of passing points in the layout range of the passing points in the middle layer based on the design rules of the passing points, so as to determine multiple candidate passing points in the middle layer. Specifically, for any middle layer where the candidate passing points are not determined, the embodiment of the present application can determine the layout range of the passing points in the middle layer, that is, the spatial range in which the passing points are allowed to be placed in the middle layer; and determine the design rules of the passing points, such as the constraints of the passing points, the design rule constraints, etc.; wherein the constraints of the passing points are the design requirements that the layout of the passing points in the middle layer needs to meet, such as the minimum spacing constraints, thermal management constraints, etc.; the design rule constraints of the passing points are the placement rules of the passing points specified in the design specifications, such as the diameter size of the passing points, etc.; thus, the embodiment of the present application can maximize the full coverage of the passing points in the layout range of the passing points in the middle layer according to the design rules of the passing points (such as the constraints of the passing points, the design rule constraints, etc.), so that the passing points are as fully covered as possible within the layout range, thereby obtaining multiple passing points in the middle layer, which are the candidate passing points of the middle layer, that is, all possible positions of the target passing points of the middle layer.

[0111] That is to say, as an optional implementation method for determining multiple candidate passing points of the current middle layer, if the positions of the candidate passing points of the current middle layer are not determined, the embodiment of the present application can determine the multiple candidate passing points of the current middle layer based on the design rules of the passing points, within the layout range of the passing points of the current middle layer, in a manner to maximize the full coverage of the passing points.

[0112] After executing step S311, the candidate passing points in the middle layer become determined, and the information (such as location information) of multiple candidate passing points in the middle layer can constitute a corresponding candidate passing point set, thereby entering step S312, and determining multiple candidate passing points in the middle layer by acquiring the candidate passing point set in the middle layer.

[0113] Step S312: Obtain a set of candidate passing points in the middle layer, where the set of candidate passing points in the middle layer indicates a plurality of candidate passing points in the middle layer.

[0114] It should be noted that the through-point layout (such as TSV layout) can be divided into the following two cases:

[0115] In the first case, the positions of all possible target passing points in the middle layer have been determined, that is, the positions of all candidate passing points in the middle layer have been determined; the key to the problem of passing point layout at this time is: matching corresponding passing points for the signal path to be matched in different middle layers, such as matching the known signal path to be matched with the endpoints corresponding to the source endpoint set and the target endpoint set through the known candidate passing point set, so as to find the ideal signal path;

[0116] In the second case, the layout range of the passing points of each intermediate layer is known, but the position of the passing points is unknown. At this time, the key to the layout of the passing points is: for different intermediate layers, within the layout range of the passing points, determine the position of the passing points for the signal path to be matched.

[0117] The actual situation may also include a combination of the above two situations. In order to simplify and unify the problem solving, the embodiment of the present application can convert the above-mentioned second situation into the first situation, that is, convert the second situation where the position of the passing point is unknown into the first situation where the position of the candidate passing point is known, and plan the positions of all possible target passing points in the middle layer, so as to obtain multiple candidate passing points in the middle layer; in this way, all optional points within the layout range of the passing points of the middle layer are used as the set of candidate passing points to be matched in the middle layer, for example, the set of candidate Via points of TSV in the middle layer (including multiple candidate Via points corresponding to the TSV layout of the middle layer), so that the problem can be uniformly converted into a matching problem between point sets, that is, a matching problem between multiple signal paths to be matched corresponding to the source endpoint set and the target endpoint set, and the candidate passing point sets of each middle layer.

[0118] For further understanding, Figure 3B An example diagram showing how a point layout problem (eg, a TSV layout problem) is transformed into a matching problem is shown, as shown in FIG. Figure 3B As shown, as an example, the source endpoint set S indicates four source endpoints s1, s2, s3 and s4, the target endpoint set T indicates four target endpoints t1, t2, t3 and t4, the signal passes through n intermediate layers, and the n intermediate layers correspond to n candidate passing point sets x 1 to x n , where the i-th intermediate layer corresponds to the i-th candidate passing point set x i ;like Figure 3B For example, take the first candidate passing point set x 1 and the nth candidate passing point set x n For example, the first candidate passing point set x 1 Indicates the 6 candidate passing points u1 to u6 of the first intermediate layer, the nth candidate passing point set x n Indicates 8 candidate passing points v1 to v8 of the nth intermediate layer; thus, the embodiment of the present application can be based on the source endpoint set S, n candidate passing point sets x 1 to x n , and the target endpoint set T perform layer-by-layer point matching of the signal path, thereby determining the matching passing points of the signal path in each intermediate layer, and realizing the layout confirmation of the target passing points in the intermediate layer;

[0119] for example, Figure 3BThe thin solid lines in the figure represent all possible connections between adjacent chip layers, such as the source endpoints in the source endpoint set S and the candidate passing point set x of the first intermediate layer. 1 All possible connections of each candidate passing point in the first intermediate layer, the candidate passing point set x 1 All possible connections between each candidate passing point in the set of candidate passing points in the second intermediate layer, and so on, until the nth candidate passing point set x n All possible connections between each candidate passing point in and each target endpoint in the target endpoint set T; further, Figure 3B Taking a matched signal path marked by a bold dashed line as an example, based on the target endpoint t2 corresponding to the source endpoint s1, the embodiment of the present application can determine the corresponding association pair (path1, t2) after initializing the signal path path1 to be matched corresponding to the source endpoint s1, wherein path1 includes the matched path points and includes the source endpoint s1 when initialized; thus, in the layer-by-layer matching process, the source endpoint s1 is matched with the candidate passing point set x of the first intermediate layer. 1 Match, for example, from the candidate passing point set x 1 The passing point u3 is matched and updated to the signal path to be matched, forming the signal path to be matched (s1, u3); then, through the set of n candidate passing points x 1 to x n , match the passing points of the signal path to be matched and update the matched passing points layer by layer until the nth candidate passing point set x n The matching passing point v3 is formed to form the signal path to be matched of (s1,u3,...,v3); finally, based on the target endpoint t2 associated in the association pair, or the target endpoint t2 indicated by the corresponding relationship of the source endpoint s1, the signal path to be matched is extended to the target endpoint t2 to obtain the complete matching signal path (s1,u3,...,v3,t2) corresponding to the signal path to be matched, and the matching of the path points is completed; furthermore, the corresponding matching passing points of multiple signal paths to be matched in n intermediate layers are the target passing points that need to be laid out in the n intermediate layers, and the layout confirmation of the passing points in the n intermediate layers is realized.

[0120] It can be seen that the transformation of the passing point layout problem (such as the TSV layout problem) into a matching problem is based on a point set. Starting from the known source endpoint of the initialized signal path to be matched, the passing points are matched in the middle layer for the signal path to be matched layer by layer through greedy search algorithms and maximum weight matching algorithms.

[0121] Back to Figure 2As shown, in step S250, a weight data structure corresponding to multiple signal paths to be matched in the current intermediate layer is determined, and the weight data structure includes weights corresponding to each signal path to be matched and each candidate passing point in the current intermediate layer, wherein the weight represents the connection quality.

[0122] The matching of the passing points of the signal path to be matched in multiple intermediate layers can be decomposed into multiple matchings layer by layer, and only the matching of the passing points of one intermediate layer needs to be processed at a time; for example, multiple intermediate layers can be used as the current intermediate layers in turn, so that only the matching of the passing points of the signal path to be matched in the current intermediate layer needs to be processed each time, simplifying the problem of multi-layer passing point matching. For example, taking the current matching of the passing points in the i-th intermediate layer as an example, that is, the i-th intermediate layer is the current intermediate layer, then when i is greater than 1, the signal path to be matched has matched the passing points in the 1st intermediate layer to the i-1th intermediate layer before the i-th intermediate layer, and when i is equal to 1, the signal path to be matched is the initialized signal path; thus, the signal path to be matched and the i-th candidate passing point set x i The matching problem between (such as the maximum weight matching problem) can be regarded as the basic sub-problem of the multi-layer matching problem decomposed at the i-th intermediate layer. For example, the basic sub-problem of multiple signal paths to be matched at the i-th intermediate layer is defined as: the association pair set Pair(Path(S),T) and the i-th candidate passing point set x i The maximum weight matching problem between them is that each signal path to be matched in the associated pair set Pair(Path(S),T) has a path point that has been matched before the i-th intermediate layer.

[0123] As an optional implementation, the above-mentioned decomposition of the basic sub-problems of layer-by-layer matching can be implemented based on the idea of ​​searching for a global optimal solution of the greedy search algorithm, and the solution to the basic sub-problems of the current intermediate layer can be implemented using the idea of ​​maximum weight matching. In other words, as an algorithm that makes the current local optimal solution in each step of selection, greedy search gradually builds a solution to approach the global optimal solution. Therefore, in the above-mentioned multi-layer matching problem, the greedy search algorithm can construct a layer-by-layer passing point matching problem, by selecting the passing points of the current match (such as the current optimal) at each layer, and then accumulating layer by layer to form an overall optimal solution.

[0124] The passing point matching problem of the current middle layer can be solved by weighted bipartite graph matching. Based on this, after determining the current middle layer of the signal path to be matched and multiple candidate passing points of the current middle layer, the associated pairs of multiple signal paths to be matched can form a subset of the bipartite graph, and the set of candidate passing points of the current middle layer can form another subset of the bipartite graph, thereby solving the passing point matching problem of the signal path to be matched in the current middle layer by maximum weight matching.

[0125] In an optional implementation, in order to facilitate solving the problem of matching the passing points of the signal path to be matched in the current intermediate layer through maximum weight matching, the embodiment of the present application can determine the weight data structure corresponding to multiple signal paths to be matched in the current intermediate layer, and the weight data structure includes the weights corresponding to each signal path to be matched and each candidate passing point in the current intermediate layer, wherein the weight represents the connection quality.

[0126] As an optional implementation, for any signal path to be matched, the weight corresponding to a candidate passing point of a signal path to be matched and the current intermediate layer may include a cumulative weight and an heuristic weight; wherein the cumulative weight represents the weight accumulation of the layer-by-layer connection from the matched path point of the signal path to be matched to the candidate passing point; the heuristic weight represents the estimated weight from the candidate passing point to the target endpoint of the signal path to be matched. In the optional implementation, Figure 4A An optional flow chart for determining a weight data structure is shown as an example. Figure 4A As shown, the process may include the following steps.

[0127] Step S410: for any signal path to be matched, according to the matched path points of the signal path to be matched and the candidate passing points of the current intermediate layer, determine the accumulated item weights of the signal path to be matched and the candidate passing points respectively.

[0128] The cumulative weight of a signal path to be matched and a candidate passing point can specifically be: the cumulative weight of the layer-by-layer connection between the path points that have been matched by the signal path to be matched, and the weight of the connection between the last matched path point and the candidate passing point, that is, the accumulation of the weight of the layer-by-layer connection from the path point that has been matched by the signal path to be matched to the candidate passing point.

[0129] For example, taking the i-th signal path to be matched and the current intermediate layer being the k+1-th intermediate layer, the matched path points of the i-th signal path to be matched include the i-th source endpoint s i , and the candidate passing points matched layer by layer from the 1st intermediate layer to the kth intermediate layer; for the i-th signal path to be matched and a candidate passing point in the k+1th intermediate layer, the cumulative item weight is: the path formed by the matched path points along the i-th signal path to be matched, from the i-th source endpoint s i The sum of the weights of the layer-by-layer connections of a candidate passing point from the k+1th intermediate layer to the k+1th intermediate layer;

[0130] For example, define the cumulative item weight as W history , then for the i-th signal path to be matched and a candidate passing point in the k+1-th intermediate layer, the cumulative weight of the i-th signal path to be matched and a candidate passing point in the k+1-th intermediate layer can be expressed as:

[0131]

[0132] in, Means: From the i-th source endpoint s i Candidate passing points matched to the i-th signal path in the first intermediate layer The weight of the connection between them;

[0133] express:

[0134] Starting from the 1st intermediate layer, the sum of the weights of the layer-by-layer connections of the candidate passing points matched by the i-th signal path to be matched is added, plus the weight of the connection between a matching passing point on the i-th signal path to be matched (for example, the passing point matched by the i-th signal path to be matched in the k-th intermediate layer) and a candidate passing point in the current intermediate layer (i.e., the k+1-th intermediate layer).

[0135] It should be noted that the above is based on the example that the signal path to be matched matches the passing points of some intermediate layers. The embodiment of the present application can also support the calculation of the cumulative item weights of the initialized signal path to be matched, that is, the weight of the connection from the source endpoint of the signal path to be matched to each candidate passing point of the first intermediate layer.

[0136] It should be noted that the embodiment of the present application cross-calculates the weights of each signal path to be matched and each candidate passing point in the current intermediate layer. Therefore, the embodiment of the present application needs to determine the cumulative item weights corresponding to each signal path to be matched and each candidate passing point. The calculation method of the cumulative item weights corresponding to any signal path to be matched and any candidate passing point can be similarly referred to the previous description.

[0137] Step S411: For any signal path to be matched, determine the heuristic item weights of the signal path to be matched and each candidate passing point according to the target endpoint corresponding to the source endpoint of the signal path to be matched.

[0138] The heuristic item weight of a signal path to be matched and a candidate passing point represents: the estimated weight of a candidate passing point in the current intermediate layer to the target endpoint of the signal path to be matched.

[0139] For example, taking the i-th signal path to be matched and the current intermediate layer as the k+1-th intermediate layer, for the i-th signal path to be matched and any candidate passing point of the k+1-th intermediate layer, the heuristic item weight is: the distance from any candidate passing point of the k+1-th intermediate layer to the target endpoint t of the i-th signal path to be matched i The estimated weight of, for example, any candidate passing point in the k+1th intermediate layer to the target endpoint t of the i-th signal path to be matched i The estimated connection weights.

[0140] For example, define the weight of the heuristic item as w heuristics , then for any candidate passing point of the i-th signal path to be matched and the k+1-th intermediate layer, the heuristic item weight of the i-th signal path to be matched and a candidate passing point of the k+1-th intermediate layer can be expressed as:

[0141]

[0142] in, is a candidate passing point to be matched in the k+1th intermediate layer of the i-th signal path to be matched.

[0143] It should be noted that the embodiment of the present application cross-calculates the weights of each signal path to be matched and each candidate passing point in the current intermediate layer. Therefore, the embodiment of the present application needs to determine the heuristic item weights corresponding to each signal path to be matched and each candidate passing point. The calculation method of the heuristic item weights corresponding to any signal path to be matched and any candidate passing point can be similarly referred to the previous description.

[0144] Step S412: Obtain a weight data structure corresponding to multiple signal paths to be matched in the current middle layer according to the heuristic item weights and cumulative item weights of each signal path to be matched and each candidate passing point.

[0145] In an optional implementation, for any signal path to be matched, based on the accumulated item weights and heuristic item weights of the signal path to be matched and each candidate passing point, the embodiment of the present application can determine the weights of the signal path to be matched and each candidate passing point. For example, for any signal path to be matched, the embodiment of the present application can add the accumulated item weights and heuristic item weights of the signal path to be matched and a candidate passing point to obtain the weight corresponding to the signal path to be matched and a candidate passing point; further, according to the weights corresponding to each signal path to be matched and each candidate passing point, the embodiment of the present application can obtain the weight data structure corresponding to multiple signal paths to be matched in the current intermediate layer.

[0146] In other optional implementations, the embodiments of the present application can determine a cumulative item weight data structure (for example, a cumulative item weight matrix) based on the cumulative item weights of each signal path to be matched and each candidate passing point; determine an heuristic item weight data structure (for example, an heuristic item weight matrix) based on the heuristic item weights of each signal path to be matched and each candidate passing point; and then, combine the cumulative item weight data structure (for example, the cumulative item weight matrix) and the heuristic item weight data structure (for example, the heuristic item weight matrix), such as adding them, to form a weight data structure corresponding to multiple signal paths to be matched in the current middle layer.

[0147] For example, take the weight matrix as an example. Figure 4B The formation example diagram of the weight matrix is ​​shown as an example. Figure 4B As shown, assuming that the current middle layer is the i-th middle layer, corresponding to the i-th candidate passing point set x i (including candidate passing points x1 to x6), the set of signal paths to be matched Path(S,...) includes the matched path points of each signal path to be matched path1 to path4, and the corresponding set of associated pairs is Pair(Path(S,...),T), which associates the target endpoints t1 to t4 of each signal path to be matched;

[0148] For the i-th intermediate layer, the embodiment of the present application can determine that each of the to-be-matched signal paths path1 to path4 in the to-be-matched signal path set Path(S,...) is respectively associated with the i-th candidate passing point set x i The cumulative item weights of each candidate passing point x1 to x6 in the set are used to form a cumulative item weight matrix; the i-th candidate passing point set x i Each candidate passing point x1 to x6 in is respectively combined with the heuristic item weights of the target endpoints t1 to t4 of each signal path to be matched path1 to path4 to form a heuristic item weight matrix; then, the cumulative item weight matrix and the heuristic item weight matrix are combined to obtain the weight matrix corresponding to multiple signal paths to be matched (path1 to path4) at the i-th intermediate layer. It can be seen that a row of the weight matrix corresponds to a signal path to be matched, and a column corresponds to the i-th candidate passing point set x i A candidate passing point in ; further, when the signal path to be matched is included in the association pairs in the association pair set Pair(Path(S,…),T), a row of the weight matrix corresponds to an association pair, for example, the association pairs corresponding to path1 to path4 are respectively represented as p1 to p4 in the figure.

[0149] It should be noted that in the through point layout problem of the embodiment of the present application, the weight represents the connection quality reflected by the connection attribute of the connection. The form and type of the connection attribute of the connection can be selected according to the actual design requirements, that is, the form and type of the connection attribute to be introduced when the through point layout is selected according to the actual design requirements.

[0150] In an optional implementation, the connection attribute may be a single connection attribute or a combination of multiple connection attributes, including but not limited to at least one of a connection distance, a signal integrity of a connection, and a power consumption of a connection.

[0151] The smaller the connection distance, the higher the connection quality. For example, a shorter connection distance can reduce signal transmission time and possible delay, which helps to improve the operation speed of the circuit. At the same time, a shorter connection distance means less resource occupation (such as wiring space, etc.).

[0152] The signal integrity of a connection refers to whether the signal can maintain stable quality during transmission, without interference or distortion. Good signal integrity can ensure the accuracy and reliability of signal transmission. Therefore, the higher the signal integrity of a connection, the higher the connection quality.

[0153] The power consumption of a connection is the power consumed by the connection. The lower the power consumption, the higher the energy efficiency and the lower the heat dissipation requirements. Therefore, the lower the power consumption of a connection, the higher the connection quality.

[0154] In an optional implementation, the embodiment of the present application can set the weight to be negatively correlated with the connection quality, that is, the smaller the weight of the connection, the higher the connection quality, so as to use the maximum weight matching and other algorithms to find the passing point matching scheme with the smallest sum of weights in the current middle layer. The passing point matching scheme with the smallest sum of weights is the passing point matching scheme that maximizes the connection quality corresponding to multiple signal paths to be matched in the current middle layer.

[0155] That is, in the maximum weight matching, the passing point matching scheme with the smallest sum of weights can correspond to maximizing the connection quality. This is because the weight is negatively correlated with the connection quality, so minimizing the sum of weights can correspond to maximizing the connection quality.

[0156] For example, if the connection attribute of the connection is the connection distance of the connection, the shorter the connection distance, the higher the connection quality, that is, the connection distance and the connection quality are negatively correlated. Therefore, based on the setting that the weight and the connection quality are negatively correlated, the embodiment of the present application can set the connection distance and the weight to be positively correlated when the connection attribute is the connection distance. For example, the shorter the connection distance, the smaller the weight and the correspondingly higher the connection quality. Therefore, finding the passing point matching scheme that minimizes the sum of weights can correspond to maximizing the connection quality; for example, the connection distance of the connection is directly set as the weight of the connection, or the connection distance of the connection is converted into the weight of the connection through the conversion of the positive correlation between the connection distance and the weight of the connection, and is negatively correlated with the connection quality.

[0157] For example, if the connection attribute of the connection is the signal integrity of the connection, the higher the signal integrity of the connection, the higher the connection quality, that is, the signal integrity of the connection is positively correlated with the connection quality, and thus based on the setting that the weight is negatively correlated with the connection quality, the embodiment of the present application can set the signal integrity of the connection and the weight of the connection to be negatively correlated when the connection attribute is the signal integrity of the connection. For example, the higher the signal integrity of the connection, the smaller the weight of the connection and the correspondingly higher the connection quality, so that finding the passing point matching scheme that minimizes the sum of the weights can correspond to maximizing the connection quality.

[0158] For example, if the connection attribute is the power consumption of the connection, the lower the power consumption of the connection, the higher the connection quality, that is, the power consumption of the connection is negatively correlated with the connection quality. Therefore, based on the setting that the weight is negatively correlated with the connection quality, the embodiment of the present application can set the power consumption of the connection and the weight of the connection to be positively correlated when the connection attribute is the power consumption of the connection. For example, the lower the power consumption of the connection, the smaller the weight of the connection, and the correspondingly higher the connection quality, so that finding a matching scheme that minimizes the sum of weights can correspond to maximizing the connection quality.

[0159] Of course, minimizing the sum of weights and maximizing the connection quality is only an optional implementation method. The embodiment of the present application can also set the maximization of the sum of weights to correspond to the maximization of the connection quality, such as setting the connection weight to be positively correlated with the connection quality. The embodiment of the present application does not limit whether to use the maximum weight matching to find the passing point matching scheme with the smallest sum of weights to correspond to the maximization of the connection quality, or to find the passing point matching scheme with the largest sum of weights to correspond to the maximization of the connection quality. The embodiment of the present application supports adjusting the correlation between the weight and the connection quality as needed, and there is no limitation on this.

[0160] As an example, the weight data structure may be a weight matrix. The weight matrix, as a two-dimensional structure (i.e., a matrix structure), can be used to represent the weight corresponding to each signal path to be matched and each candidate passing point of the current intermediate layer, wherein the weight corresponding to a signal path to be matched and a candidate passing point is the sum of the corresponding cumulative item weight and the heuristic item weight. Furthermore, the weight matrix may be in the form of multiple rows and columns, wherein a row in the weight matrix corresponds to a signal path to be matched and a column corresponds to a candidate passing point; or, a row in the weight matrix corresponds to a candidate passing point and a column corresponds to a signal path to be matched; thus, each element of the weight matrix (i.e., each intersection of the rows and columns of the weight matrix) represents the weight corresponding to each signal path to be matched and each candidate passing point.

[0161] For example, a weight matrix is ​​a weighted adjacency matrix. In graph theory, an adjacency matrix is ​​a matrix that represents the connection relationship between vertices in a graph. An adjacency matrix with weights is a weighted adjacency matrix. Figure 3B As shown, assuming that the signal path to be matched is an initialized signal path to be matched with a source endpoint, including the source endpoints of each signal path to be matched, then according to the signal transmission hierarchy of n intermediate layers, the current intermediate layer is the first intermediate layer; since each initialized signal path to be matched is currently indicated by a matched source endpoint, it can be determined that the source endpoints (s1 to s4) of each signal path to be matched are respectively associated with the first candidate passing point set x 1The weight corresponding to each candidate passing point (u1 to u6) in represents the weight of the connection between the source endpoint of the signal path to be matched and the candidate passing point (in this case, it is directly the cumulative item weight), and the sum of the heuristic item weights from the candidate passing point to the target endpoint of the signal path to be matched, thereby forming a weight adjacency matrix corresponding to the initialized set of signal paths to be matched and the first candidate passing point set.

[0162] Furthermore, the signal paths to be matched in the weight matrix can also be represented by association pairs containing the signal paths to be matched. Figure 3B As shown, for the set of associated pairs corresponding to the initialized signal path to be matched and the first set of candidate passing points, the embodiment of the present application can construct a weighted adjacency matrix with 4 rows and 6 columns, and a row in the weighted adjacency matrix corresponds to an associated pair, including an initialized signal path to be matched and a corresponding associated target endpoint, and a column corresponds to a candidate passing point in the first set of candidate passing points. Of course, when constructing the weight matrix, introducing the associated pairs of the signal path to be matched is only an optional implementation method. The embodiment of the present application should at least indicate the path points that have been matched for each signal path to be matched when constructing the weight matrix, which is not limited to being by the signal path to be matched or the associated pair.

[0163] The above-mentioned method of determining weights integrates the historical weights of the matched path points of the signal path to be matched (i.e., the cumulative weights) and the estimated weights of the candidate passing points to the target endpoint in the current intermediate layer (i.e., the heuristic weights). It can reflect the cumulative connection quality of the matched path points and the optimization direction of the future path of the signal path to be matched. Thus, in the current intermediate layer, the passing points are matched for each signal path to be matched, and the weight results correspond to the maximization of the connection quality (for example, the sum of the weights is minimized). Then, the optimal or near-optimal signal path can be found iteratively layer by layer.

[0164] It should be noted that in the process of matching passing points of multiple intermediate layers, the weight data structure (such as the weight matrix) is determined layer by layer; for example, based on the changes in the current intermediate layer, the cumulative item weight needs to be updated accordingly, and the heuristic item weight also needs to be updated accordingly.

[0165] In other possible implementations, the embodiments of the present application may also determine the weights corresponding to the signal path to be matched and the candidate passing points of the current intermediate layer based on the weights of the connections between the signal paths to be matched and the candidate passing points of the current intermediate layer; for example, the weight of the connection between the previous matched path point on the signal path to be matched and the candidate passing point of the current intermediate layer is directly used as the weight corresponding to the signal path to be matched and the candidate passing point of the current intermediate layer. At this time, the weight data structure of the current intermediate layer only considers the weights of the connections between the signal path to be matched and the candidate passing points of the current intermediate layer, that is, the weight of the connection from the previous matched path point of the signal path to be matched to the candidate passing point of the current intermediate layer. Of course, this is only a simplified optional implementation method.

[0166] Back to Figure 2 As shown, in step S260, based on the weight data structure, a passing point matching scheme corresponding to the weight result and the maximization of the connection quality is determined, and the passing point matching scheme includes candidate passing points matched by each signal path to be matched in the current intermediate layer.

[0167] After determining the weight data structure corresponding to the multiple signal paths to be matched in the current middle layer, the embodiment of the present application can match the candidate passing points for each signal path to be matched in the current middle layer based on the weight data structure. In an optional implementation, based on an algorithm such as maximum weight matching, the embodiment of the present application can find a passing point matching scheme that maximizes the connection quality based on the weight data structure, wherein the passing point matching scheme includes the candidate passing points matched by each signal path to be matched in the current middle layer; that is, the weight results (such as the sum of the weights) corresponding to the candidate passing points matched by each signal path to be matched in the current middle layer correspond to the maximum connection quality.

[0168] In an optional implementation, the weights can be set to be negatively correlated with the connection quality, so that the passing point matching scheme with the smallest sum of weights is the passing point matching scheme with the maximized connection quality. The embodiment of the present application can utilize algorithms such as maximum weight matching, with the minimum sum of weights as the goal, and match the candidate passing points of the current intermediate layer for each signal path to be matched based on the weight data structure of the current intermediate layer, thereby obtaining the passing point matching scheme with the maximized connection quality.

[0169] In an optional implementation, the passing point matching scheme includes candidate passing points that are uniquely matched by each signal path to be matched in the current intermediate layer, that is, a signal path to be matched uniquely matches a candidate passing point in the current intermediate layer, and a candidate passing point matched by a signal path to be matched cannot be matched by other signal paths to be matched.

[0170] In the embodiment of the present application, the evaluation index of the passing point matching scheme is the sum of the weights corresponding to the candidate passing points to be matched and the signal paths to be matched contained in the passing point matching scheme. Therefore, the core goal of the embodiment of the present application to find the corresponding passing point matching scheme for maximizing the connection quality is to find a passing point matching scheme so that the sum of the weights of the found passing point matching scheme corresponds to the maximization of the connection quality. For example, the passing point matching scheme with the smallest sum of weights (i.e., the evaluation index of the passing point matching scheme is minimized) is found as the passing point matching scheme for maximizing the connection quality.

[0171] For ease of understanding, taking minimizing the sum of weights as an example, the core goal of the passing point layout problem can be to minimize the sum of weights of the signal path from the source endpoint to the target endpoint, that is, to find a set of signal paths with the smallest sum of weights. After being decomposed into layer-by-layer matching sub-problems, it can achieve global matching optimization of the signal path through matching optimization of the passing points of each intermediate layer, that is, in each intermediate layer, find the passing points with the smallest sum of weights of multiple signal paths to be matched based on the corresponding weight data structure, and update them to the signal paths to be matched.

[0172] Example, combined Figure 3B As shown, with the source endpoint set S, the target endpoint set T, and the n candidate passing point sets x corresponding to the n intermediate layers 1 to x n For example, starting from the source endpoint of the source endpoint set S, passing through n candidate passing point sets x 1 to x n The candidate passing points in the target endpoint set T can be defined as Path(S,X 1 ,…,X n ,T), then the core goal of the point layout problem (i.e., the core goal of finding a set of signal paths with the smallest sum of weights) can be described by the following formula:

[0173]

[0174] Among them, s i is the source endpoint of the i-th signal path to be matched, t i is the target endpoint of the i-th signal path to be matched, is the candidate passing point of the i-th signal path to be matched in the k-th intermediate layer; weight represents the weight, which is used to evaluate the matching quality. When minimizing the sum of weights, the smaller the weight, the better the matching; specifically, Indicates the source endpoint s of the i-th signal path to be matched iThe weight of the connection of the candidate passing point matched with the first intermediate layer, i belongs to m, m is the number of source endpoints in the source endpoint set S, m is greater than or equal to 1; represents the weight of the connection between the candidate passing point matched in the kth intermediate layer of the i-th signal path to be matched and the candidate passing point matched in the k+1th intermediate layer, k is 1 to n-1, n is the number of intermediate layers (corresponding to the set of n candidate passing points x 1 to x n ), n is greater than or equal to 1; is the candidate passing point matched by the i-th signal path to be matched in the n-th intermediate layer (i.e., the last intermediate layer), and the target endpoint t i The weight of the connection between them;

[0175] It can be seen from the above formula that by minimizing the sum of the weights of the layer-by-layer connections of the m signal paths to be matched in multiple chip layers, the optimal signal path set from the source endpoint set to the target endpoint set can be found.

[0176] In an optional implementation example, taking minimizing the sum of weights as an example, the embodiment of the present application can calculate the Manhattan distance of the connection to calculate the distance of the connection, so that the connection distance is positively correlated with the weight, or the connection distance is directly set as the weight of the connection to determine the weight of the connection. Among them, in the integrated circuit layout, the Manhattan distance is used to calculate the right-angle path distance between two points physically. In other possible implementations, the connection distance can also be achieved by calculating the Euclidean distance, or user-defined distance, etc., without being limited to calculating the Manhattan distance, so as to meet the user's diversified and personalized layout optimization.

[0177] Step S270: Add the candidate passing points of the signal path to be matched in the current middle layer to the path points that have been matched by the signal path to be matched, so as to update the signal path to be matched.

[0178] After obtaining the passing point matching scheme of the current intermediate layer, the embodiment of the present application can determine the candidate passing points matched by each signal path to be matched in the current intermediate layer, so that for any signal path to be matched, the embodiment of the present application can add the candidate passing points matched by the signal path to be matched in the current intermediate layer to the matched path points of the signal path to be matched, so as to update the signal path to be matched;

[0179] Furthermore, on the basis of updating the signal path to be matched, if there is still an intermediate layer with no matched passing points, the next current intermediate layer of the passing points to be matched can be determined based on the signal transmission level of the signal path in the intermediate layer; according to the principle and method of matching passing points in the current intermediate layer described above, continue to determine the corresponding weight data structure in the next current intermediate layer, and continue to determine the corresponding passing point matching scheme for maximizing the connection quality for each signal path to be matched, and obtain the candidate passing points matched by each signal path to be matched in a current intermediate layer, and update them to each signal path to be matched; update each signal path to be matched layer by layer in the above manner until each signal path to be matched completes the matching of candidate passing points in each intermediate layer, thereby obtaining the candidate passing points matched by each signal path to be matched in each intermediate layer.

[0180] Step S280: After each signal path to be matched matches a candidate passing point in each intermediate layer, a corresponding target endpoint is matched for each signal path to be matched, and the candidate passing points matched by each signal path to be matched in each intermediate layer are determined as target passing points of each intermediate layer layout.

[0181] After each signal path to be matched has matched the candidate passing points in each intermediate layer, that is, after completing the layer-by-layer matching of the candidate passing points of multiple signal paths to be matched in at least one intermediate layer, the embodiment of the present application can obtain each signal path to be matched that has matched the source endpoint and the candidate passing points of each intermediate layer. At this time, each signal path to be matched is matched with the corresponding target endpoint. For example, the target endpoint corresponding to the source endpoint of each signal path to be matched is added to the matched path point of each signal path to be matched, and each signal path to be matched is updated, so that the complete matching signal path corresponding to each signal path to be matched can be obtained.

[0182] In an optional implementation, the embodiment of the present application can match the corresponding target endpoint for each signal path to be matched based on the target endpoint associated with the signal path to be matched of each associated pair in the associated pair set, and obtain the complete matching signal path corresponding to each signal path to be matched. Alternatively, in other optional implementations, the embodiment of the present application can match the corresponding target endpoint for each signal path to be matched based on the corresponding relationship between the source endpoint and the target endpoint of each signal path to be matched, and obtain the complete matching signal path corresponding to each signal path to be matched.

[0183] At the same time, after each signal path to be matched matches the candidate passing point in each intermediate layer, the candidate passing point matched by each signal path to be matched in each intermediate layer is the target passing point to be laid out in each intermediate layer. Therefore, the embodiment of the present application can determine the target passing point to be laid out in each intermediate layer based on the candidate passing point matched by each signal path to be matched in each intermediate layer. In other words, the position of the candidate passing point matched by each signal path to be matched in each intermediate layer is the position of the target passing point to be laid out in each intermediate layer.

[0184] It can be seen that in terms of the layout design of passing points, the embodiment of the present application decomposes the layout problem of passing points in the middle layer into the problem of matching passing points in each middle layer. Therefore, for multiple signal paths to be matched that have matched some path points, the embodiment of the present application can determine the current middle layer of the current passing point of the signal path to be matched according to the signal transmission level of the signal path in the middle layer, and determine multiple candidate passing points in the current middle layer; and then determine the weight data structure corresponding to the multiple signal paths to be matched in the current middle layer, the weight data structure includes the weights corresponding to each signal path to be matched and each candidate passing point in the current middle layer, wherein the weight represents the connection quality; that is, in the process of matching passing points in each middle layer, the embodiment of the present application introduces a weight factor representing the connection quality, so that for the current middle layer, the weights corresponding to each signal path to be matched and each candidate passing point in the current middle layer are used to quantify the connection quality, so that each middle layer The passing point matching of the middle layer can focus on the connection quality; then, for the current middle layer, based on the weight data structure, find the passing point matching scheme corresponding to the weight result and the maximum connection quality, and the passing point matching scheme includes the candidate passing points matched by each signal path to be matched in the current middle layer; based on the candidate passing points matched by the signal path to be matched in the current middle layer, the embodiment of the present application can update the signal path to be matched, add the candidate passing points matched by the signal path to be matched in the current middle layer, and then perform the passing point matching of the next middle layer, so as to realize the iterative update of the signal path to be matched layer by layer, until each signal path to be matched matches the candidate passing points in each middle layer, and complete the passing point matching and iterative update of multiple signal paths to be matched in each middle layer, at this time, the candidate passing points matched by each signal path to be matched in each middle layer are the target passing points of each middle layer layout. The embodiment of the present application can realize the optimization of the passing point layout intelligently and automatically, and improve the global connection quality of the signal path, so as to achieve the effect of improving the design efficiency and design quality of the passing point layout.

[0185] To facilitate further understanding, the solution provided in the embodiment of the present application is exemplified from the perspective of an association pair set.

[0186] Define the source endpoint set S, the target endpoint set T, and the n candidate passing point sets x of the n intermediate layers 1 to x n , then starting from the source endpoint set S, passing through n candidate passing point sets x 1 to x n , the set of signal paths that eventually reach the target endpoint set T can be defined as: Path(S,X 1 ,…,X n ,T); Since the to-be-matched signal path of the embodiment of the present application matches some path points, taking the to-be-matched signal path matching the source endpoint and some intermediate points as an example, the to-be-matched signal path set can be expressed as Path(S,X 1 ,…,X k ), where 1<k<n, and since there is a corresponding relationship between the source endpoint and the target endpoint (for example, a one-to-one corresponding relationship), the associated pair set of the signal path set to be matched and the target endpoint set can be defined as: Pair(Path(S,X 1 ,…,X k ),T);

[0187] Therefore, when the source endpoint and the target endpoint of the path are known, the task of gradually matching the candidate passing points in the n candidate passing point sets can be transformed into: determining the maximum weight matching problem between the current intermediate layer and the associated pair set and the candidate passing points (such as candidate Via) of the current intermediate layer in turn, and gradually updating the candidate passing points matched by each signal path in the associated pair set. For example, Figure 5 The model diagram of the maximum weight matching problem layer by layer is shown as an example. Figure 5 As shown, as an example, the source endpoint set S includes four source endpoints s1 to s4, each of which is the starting point of each signal path in the set of signal paths; thus, the embodiment of the present application can initialize the set of signal paths to be matched based on multiple source endpoints in the source endpoint set s, such as initializing four signal paths path1 to path4 to be matched. Since the target endpoint of each signal path to be matched is known, an association pair of each signal path to be matched and the corresponding target endpoint can be formed to form an association pair set;

[0188] Then, the passing points of the intermediate layers are matched layer by layer, and the matched candidate passing points are added to the signal paths to be matched, so as to update the set of signal paths to be matched, that is, Path(S,...); since the set of signal paths to be matched is included in the set of associated pairs, the set of signal paths to be matched in the set of associated pairs can be updated, that is, Pair(Path(S,...),T);

[0189] For example, x in the figure irepresents the set of candidate passing points of the ith intermediate layer, including 6 candidate passing points x1 to x6. When the signal path to be matched matches the ith intermediate layer, the ith intermediate layer is used as the current intermediate layer. At this time, path1 to path4 respectively match the source endpoint at the signal initiation layer and match the candidate passing points at the intermediate layer before the ith intermediate layer. Therefore, a signal path to be matched is a path starting from the source endpoint, passing through the candidate passing points matched by each intermediate layer before the ith intermediate layer, and connecting to the i-1th intermediate layer layer by layer. For example, path1 is a path from the source endpoint s1, through p ath1 is the candidate passing points matched by each intermediate layer before the i-th intermediate layer, and is connected layer by layer to the path of the i-1th intermediate layer, and the same is true for path2 to path4; furthermore, the embodiment of the present application can determine the weights of each signal path to be matched from path1 to path4, and the weights corresponding to the candidate passing points x1 to x6 of the i-th intermediate layer, respectively, to construct a weight matrix; then, based on the weight matrix, an algorithm such as maximum weight matching is used to determine the passing point matching scheme of the i-th intermediate layer for path1 to path4, and the sum of the weights of the passing point matching scheme is minimized;

[0190] In the above manner, by searching layer by layer for candidate passing points that match path1 to path4 in each intermediate layer, the sum of the weights of the overall path from path1 to path4 is minimized, and the target endpoints corresponding to path1 to path4 in the association pair set are appended to path1 to path4, a set of complete matching signal paths from the source endpoint set S to the target endpoint set T, passing through the candidate passing points that match in n intermediate layers, can be formed.

[0191] In an optional implementation, from the perspective of the association pair set, the above layer-by-layer passing point matching problem can be described by the following formula:

[0192] To minimize:

[0193] Specifically, taking the current middle layer as the k+1th middle layer as an example, x k+1 is the set of candidate passing points of the k+1th intermediate layer, is the candidate passing point of the i-th signal path to be matched in the k+1-th intermediate layer, pair i is the association pair of the i-th signal path to be matched in the association pair set, so that in the k+1-th intermediate layer, the embodiment of the present application is to find an optimal matching solution (Match), that is, to find The sum of the weights corresponding to the candidate passing points matched by all associated pairs at the k+1th intermediate layer is minimized, where i belongs to m, m is the number of source endpoints in the source endpoint set S, corresponding to multiple signal paths to be matched.

[0194] To facilitate further understanding, the solution provided in the embodiment of the present application is illustrated below by taking the TSV layout problem of two middle layers of a 3D chip as an example.

[0195] For example, Fig. 6A The schematic diagram of the problem-solving model of the TSV layout problem is shown as an example. Fig. 6A As shown, the goal of the TSV layout problem can be defined as: between a given source endpoint set S and a target endpoint set T, select candidate passing points from the candidate passing point sets U and V of the two intermediate layers so that the sum of the weights of the signal path set from the source endpoint set to the target endpoint set is minimized. Examples of points existing in the source endpoint set S, the target endpoint set T, and the candidate passing point sets U and V can be found in Fig. 6A The solution to the TSV layout problem is to solve it layer by layer and decompose the complex global layout problem into multiple matching sub-problems at the intermediate layers.

[0196] Specifically, Fig. 6A The graph theory model in the middle right part corresponds to the problem solution space, in which the source endpoint set S, the candidate passing point set U of the first intermediate layer, the candidate passing point set V of the second intermediate layer, and the target endpoint set T respectively represent vertex sets of different levels. There are all edges connected layer by layer between each level, and these edges represent candidates for the path; each edge carries a weight, and the weight represents the connection quality reflected by the connection attribute of the edge (such as connection distance); therefore, in the layer-by-layer decomposition of the TSV layout problem, the problem of matching the path points of the signal path from the source endpoint set S to the target endpoint set T can be decomposed into a layer-by-layer matching problem, and the goal of each layer is to determine the candidate passing points for path matching so that the sum of weights is minimized, and then through layer-by-layer accumulation, the sum of weights on the path of the entire TSV layout is minimized.

[0197] The following is an explanation of the process of solving the TSV layout problem of a complex 3D chip by decomposing it into layer-by-layer matching sub-problems through a greedy search strategy.

[0198] exist Fig. 6A Based on the example, the embodiment of the present application can initialize the signal path set Path(S) to be matched based on multiple source endpoints in the source endpoint set S; and according to the correspondence between the source endpoints and the target endpoints of the source endpoint set S and the target endpoint set T (such as a one-to-one correspondence between the source endpoints and the target endpoints), associate the initialized signal path set Path(S) to be matched with the target endpoint corresponding to the target endpoint set T to form an association pair set Pair(Path(S),T);

[0199] Next, the first intermediate layer is used as the current intermediate layer to solve the passing point matching scheme between the signal path to be matched in the association pair set Pair(Path(S),T) and the candidate passing point set U of the first intermediate layer. Specifically, the weights corresponding to each signal path to be matched in the association pair set Pair(Path(S),T) and each candidate passing point in the candidate passing point set U are calculated to form a weight matrix corresponding to the first intermediate layer.

[0200] The weight corresponding to a signal path to be matched and a candidate passing point is: the cumulative weight of the signal path to be matched and the candidate passing point, plus the heuristic weight of the signal path to be matched and the candidate passing point;

[0201] The cumulative item weight considers the connection cost (i.e., connection quality) from the matched path points of the signal path to be matched to the candidate passing points of the current intermediate layer, ensuring that the matching of the candidate passing points of the current intermediate layer can maintain continuity with the historical path of the signal path to be matched (including the matched path points); Fig. 6A In the example, when the first intermediate layer is the current intermediate layer, the accumulated item weight is the weight of the connection from the to-be-matched signal path to the candidate passing point in the candidate passing point set U;

[0202] The heuristic weight is an estimate of the future path of the signal path to be matched, ensuring that the impact of the target endpoint can be taken into account when matching candidate passing points in the current intermediate layer; Fig. 6A In the example, when the first intermediate layer is the current intermediate layer, the heuristic item weight is the weight of the estimated connection from the candidate passing point in the candidate passing point set U to the target endpoint of the signal path to be matched; thus, the weights of the cumulative item weight and the heuristic item weight can reflect the constraints and influences of the historical path (i.e., the matched path) of the signal path to be matched, as well as the constraints and influences of the target endpoint;

[0203] For ease of understanding, Figure 6B An example diagram of the matching between the associated pair set and the candidate passing point set is shown as follows: Figure 6B As shown, after initializing the signal path to be matched, the association pair set Pair(Path(S),T) includes 4 association pairs:

[0204] pair1=(path1(s1),t1),pair2=(path2(s2),t2),pair3=(path3(s3),t3),pair4=(path4(s4),t4);

[0205] When solving the problem using an algorithm such as maximum weight matching based on a bipartite graph, for matching the candidate passing points of the first intermediate layer, the embodiment of the present application can determine the candidate passing points that are uniquely matched in the first intermediate layer for each signal path to be matched, based on the weight matrix corresponding to the first intermediate layer, and the sum of the weights is the smallest; Figure 6B For example, path1(s1) in pair1 matches candidate passing point u2, path2(s2) in pair2 matches candidate passing point u1, path3(s3) in pair3 matches candidate passing point u3, and path4(s4) in pair4 matches candidate passing point u6, and the passing point matching solutions of each signal path to be matched in the association pair set Pair(Path(S),T) in the first intermediate layer are obtained, and the sum of the weights of the passing point matching solutions is the smallest;

[0206] It should be noted that Figure 6B The thick solid lines in the figure represent the connections corresponding to the candidate passing points matched by the signal paths to be matched in the first intermediate layer, and there are corresponding cumulative item weights, which represent the constraints and influences of the matched path points of the signal paths to be matched on the candidate passing points matched in the first intermediate layer; Figure 6B The dotted lines shown in the figure represent the connection between the candidate passing points matched by each signal path to be matched in the first intermediate layer and the corresponding target endpoints, which have corresponding heuristic item weights, indicating the constraints and influences of the target endpoints of the signal path to be matched on the candidate passing points matched by the first intermediate layer.

[0207] After the first intermediate layer completes matching the candidate passing points, the candidate passing points matched by each signal path to be matched in the first intermediate layer are added to the corresponding signal path to be matched in the association pair set, and the association pair set Pair(Path(S,U),T) can be updated, which is expressed as:

[0208] pair1=(path1(s1-u2),t1),pair2=(path2(s2-u1),t2),pair3=(path3(s3-u3),t3),pair4=(path4(s4-u6),t4);

[0209] Then, the passing point matching scheme between the signal path to be matched of the association pair set Pair(Path(S,U),T) and the candidate passing point set V of the second intermediate layer is solved. The specific principle is consistent with the previous description and can be referenced to each other, except that the weight matrix corresponding to the second intermediate layer needs to be re-determined, that is, when the second intermediate layer is the current intermediate layer, the cumulative item weight is the sum of the weights of the matched path points of the signal path to be matched (the source endpoint and the candidate passing points matched by the first intermediate layer) to the candidate passing points in the candidate passing point set V layer by layer; the heuristic item weight is the weight of the estimated connection from the candidate passing points in the candidate passing point set V to the target endpoint of the signal path to be matched;

[0210] For example, Figure 6C Another matching example diagram between the associated pair set and the candidate passing point set is shown exemplarily. When solving the problem using an algorithm such as maximum weight matching based on a bipartite graph, for the matching of candidate passing points in the second intermediate layer, the embodiment of the present application can determine the candidate passing points that are matched in the candidate passing point set V for each signal path to be matched in the associated pair set Pair(Path(S,U),T) based on the weight matrix corresponding to the second intermediate layer, and the sum of the weights is the smallest; for example, path1(s1-u2) in pair1 matches candidate passing point v2, and path2(s2-u1) in pair2 matches candidate passing point v3. v4, path3(s3-u3) in pair3 matches the candidate passing point v5, and path4(s4-u6) in pair4 matches the candidate passing point v7, thereby obtaining the passing point matching schemes of each signal path to be matched in the association pair set Pair(Path(S,U),T) in the second intermediate layer, and the sum of the weights of the passing point matching schemes is the smallest; then, the candidate passing points matched by each signal path to be matched in the second intermediate layer are added to the corresponding signal path to be matched in the association pair set, and the association pair set Pair(Path(S,U,V),T) can be updated, which is expressed as:

[0211] pair1=(path1(s1-u2-v2),t1),pair2=(path2(s2-u1-v4),t2),pair3=(path3(s3-u3-v5),t3),pair4=(path4(s4-u6-v7,t4);

[0212] Next, on the basis of the candidate passing points that have been matched in the two intermediate layers, each signal path to be matched is extended to the corresponding target endpoint, that is, by associating the target endpoint associated with each signal path to be matched in the set of associated pairs, the target endpoint is added to the signal path to be matched, so as to form a complete matching signal path;

[0213] For example, Fig.6D An example diagram of forming a complete matching signal path is shown as an example. Fig.6D As shown in the figure, after completing the matching of candidate passing points of all intermediate layers, the set of signal paths to be matched Path (S, U, V) contains the path points of each signal path to be matched from the source endpoint of the source endpoint set to the candidate passing point set V of the second intermediate layer. On this basis, the target endpoint corresponding to each signal path to be matched is added to the set of signal paths to be matched to form a set of complete matching signal paths Path (S, U, V, T), which is expressed as:

[0214] path1(s1-u2-v2-t1),path2(s2-u1-v4-t2),path3(s3-u3-v5-t3),path4(s4-u6-v7-t4);

[0215] Accordingly, Fig.6D The right part shows the layout of path points of the set of complete matching signal paths Path (S, U, V, T) at multiple levels, which can be used as a reference.

[0216] It can be seen that the embodiment of the present application gradually matches the connection between the source endpoint of the signal path to be matched and the candidate passing points of each intermediate layer through a layer-by-layer matching method, and finally connects to the target endpoint, so that the complex multi-layer global matching problem is decomposed into multiple layer-by-layer matching sub-problems; at the same time, the cumulative item weight and the heuristic item weight are introduced in the weight calculation. Then, each time the candidate passing point is matched in the intermediate layer, the constraints and influences of the path points and the target endpoints that have been matched by the path can be comprehensively considered to ensure that the path can maintain the maximization of the connection quality (for example, the minimization of the sum of weights) in the process of matching the passing points layer by layer, thereby ensuring that the passing point layout of each intermediate layer (such as the TSV layout) corresponds to the global maximization of the connection quality.

[0217] As an optional implementation, the following takes the candidate passing point matching of the current layer as an example to explain the maximum weight matching algorithm, with the goal of maximizing the connection quality, to determine the candidate passing points that each signal path to be matched matches in the current intermediate layer (i.e., the passing point matching scheme of the current intermediate layer) for optional implementation. The maximum weight matching algorithm and other optional methods for matching candidate passing points in each intermediate layer can be implemented in the same way as described below.

[0218] It should be noted that there may be multiple algorithms for solving the maximum weight matching, including but not limited to: the Hungarian algorithm, the KM (Kuhn-Munkres) algorithm, various derivative algorithms of the Hungarian algorithm and the KM algorithm, and algorithms based on deep learning and reinforcement learning, etc. Different algorithms are suitable for different scenarios, and the embodiments of the present application do not limit the specific algorithm type used for the maximum weight matching.

[0219] As an optional implementation, the algorithm for finding the maximum weight matching in a weighted bipartite graph (such as the KM algorithm, etc.) can convert the problem of finding the maximum weight matching into the problem of finding a complete matching by assigning a label to each vertex; the core of the algorithm is to continuously adjust the label to expand a special subgraph (i.e., the equal subgraph) until a complete matching is found in the equal subgraph, so that this complete matching is the maximum weight matching of the bipartite graph. It should be further explained that the value assigned to the vertex is called the label. By adjusting the label, the weight of the equal edges (i.e., equal connections) in the equal subgraph is restricted, and the algorithm can find a valid matching in each iteration. The role of the label is to help the algorithm find a matching solution that satisfies the weight minimization or maximization, while reducing the computational complexity. Specifically, the equal subgraph considers the edge whose edge weight is equal to the sum of the labels of the two vertices, so that by introducing the label, the edges in the equal subgraph can be regarded as equal edges. A complete matching means that each vertex to be matched has only one unique matching, that is, in a complete matching, a vertex in one subset can only match one vertex in another subset, and no vertex is matched repeatedly.

[0220] As an optional implementation, Figure 7 The optional flow chart of the equal subgraph-based passing point matching provided in the embodiment of the present application is shown as an example, referring to Figure 7 , the process may include the following steps.

[0221] Step S710, based on the association pair vertices corresponding to each association pair, the candidate passing point vertices corresponding to each candidate passing point of the current intermediate layer, and the weight data structure, initialize the equal subgraph to obtain an initial equal subgraph.

[0222] The initial equal subgraph includes the associated pair vertices corresponding to each associated pair in the equal subgraph, the candidate passing point vertices corresponding to each candidate passing point in the current intermediate layer in the equal subgraph, and the initial equal connections, wherein the initial equal connections are the connections corresponding to the maximum connection quality between the associated pair vertices and the candidate passing point vertices.

[0223] The vertices of the association pairs in the equal subgraph are called association pair vertices, and the vertices of the candidate passing points of the current intermediate layer in the equal subgraph are called candidate passing point vertices; in an optional implementation, the embodiment of the present application can determine the corresponding association pair vertices in the equal subgraph for each association pair in the association pair set Pair(Path(S,…),T), thereby obtaining multiple association pair vertices, and an association pair vertex represents an association pair in the association pair set, indicating a signal path to be matched (including matched path points) and the corresponding target endpoint; in an optional implementation, the embodiment of the present application can determine the corresponding candidate passing point vertices in the equal subgraph for each candidate passing point in the candidate passing point set of the current intermediate layer, thereby obtaining multiple candidate passing point vertices, and a candidate passing point vertex represents a candidate passing point of the current intermediate layer.

[0224] After determining the association pair vertices corresponding to each association pair and the candidate passing point vertices corresponding to each candidate passing point in the current intermediate layer, the embodiment of the present application can initialize the top mark for each association pair vertex and each candidate passing point vertex respectively to provide a basis for constructing an initial equal subgraph.

[0225] In an optional implementation, the top label of an associated pair of vertices can be initialized to the weight of the maximum connection quality among the weights corresponding to the associated pair of vertices. For example, taking the weight and the connection quality as an example of a negative correlation, for any associated pair of vertices, the embodiment of the present application can initialize the top label of the associated pair of vertices to the minimum weight among the weights corresponding to the associated pair of vertices; the top labels of multiple associated pair of vertices can form a top label set of associated pair of vertices, recorded as PK; for ease of understanding, Fig. 8A An example diagram of initializing the top mark is shown as an example. Fig. 8A As shown, let the set of associated pair vertices be Pair, and there are 4 associated pair vertices, denoted as p1 to p4, the top labels of the associated pair vertices p1 to p4 are PK1 to PK4 respectively, and the top labels PK1 to PK4 of the associated pair vertices p1 to p4 are respectively initialized to the minimum weights among the weights corresponding to the associated pair vertices, and the top labels PK1 to PK4 of the associated pair vertices p1 to p4 form the top label set PK of the associated pair vertices;

[0226] In an optional implementation, the top label of a candidate passing point vertex can be initialized to 0 or a default value, so that the top labels of multiple candidate passing point vertices form a top label set of candidate passing point vertices, denoted as XK; combined with Fig. 8A As shown, let the set of candidate passing point vertices be X, and there are 6 candidate passing point vertices, denoted as x1 to x6, the top labels of the candidate passing point vertices are XK1 to XK6, and the top labels XK1 to XK6 of the candidate passing point vertices x1 to x6 are initialized to 0, respectively, and the top labels XK1 to XK6 of the candidate passing point vertices x1 to x6 form the top label set XK of the candidate passing point vertices.

[0227] Furthermore, in addition to multiple associated pair vertices and multiple candidate passing point vertices, the equal subgraph also includes a set of equal connections that meet the equal conditions. For example, when the sum of the top marks of the associated pair vertices and the top marks of the candidate passing point vertices is equal to the corresponding weights of the associated pair vertices and the candidate passing point vertices, the connection between the associated pair vertices and the candidate passing point vertices meets the equal conditions and is regarded as an equal connection in the equal subgraph.

[0228] For example, let the top label of the i-th associated vertex be PK i , the top label of the jth candidate passing point vertex is XK j , the weight corresponding to the i-th associated pair vertex and the j-th candidate passing point vertex is d i,j , that is, in the weight data structure corresponding to the current intermediate layer, the weight corresponding to the i-th signal path to be matched and the j-th candidate passing point is d i,j , specifically: the cumulative weight of the matched path point of the i-th signal path to be matched to the j-th candidate passing point, plus the heuristic weight of the j-th candidate passing point to the target endpoint of the i-th signal path to be matched; thus, if the top label PK of the i-th associated pair vertex i and the top label XK of the jth candidate passing point vertex j The sum of the top marks is equal to d i,j , namely PK i +XK j =d i,j , then the connection between the i-th associated pair vertex and the j-th candidate passing point vertex can be confirmed as an equal connection, which meets the equality condition for inclusion in the equal subgraph.

[0229] As an example, Figure 8B An example diagram showing initialization of equal subgraphs is shown, combined with Fig. 8A and Figure 8BAs shown, assuming that the top labels PK1 to PK4 of the associated pairs of vertices p1 to p4 are initialized to 3, 5, 6 and 4 respectively, and the top labels XK1 to XK6 of the candidate passing point vertices x1 to x6 are initialized to 0 respectively, if in the weight data structure corresponding to the current intermediate layer, the weight corresponding to the associated pair of vertex p1 and the candidate passing point vertices x4 and x6 is 3, then the connection between the associated pair of vertex p1 and the candidate passing point vertices x4 and x6 is an equal connection and is included in the equal subgraph; similarly, the weight corresponding to the associated pair of vertex p2 and the candidate passing point vertex x4 is 5, then the connection between the associated pair of vertex p2 and the candidate passing point vertex x4 is an equal connection; the weight corresponding to the associated pair of vertex p3 and the candidate passing point vertex x6 is 6, then the connection between the associated pair of vertex p3 and the candidate passing point vertex x6 is an equal connection; the weight corresponding to the associated pair of vertex p4 and the candidate passing point vertex x2 is 4, then the connection between the associated pair of vertex p4 and the candidate passing point vertex x2 is an equal connection.

[0230] That is to say, the embodiment of the present application screens out equal connections that meet the equality conditions, so that the screened out equal connections, multiple associated pairs of vertices, and multiple candidate passing point vertices form an equal subgraph.

[0231] Step S711, starting from the initial equal subgraph, continuously adjust the equal subgraph until each associated pair of vertices has a unique matching candidate passing point vertex in the final equal subgraph, and obtain each signal path to be matched in the associated pair corresponding to each associated pair of vertices, and each unique matching candidate passing point in the current intermediate layer.

[0232] Step S712: Based on the candidate passing points that are uniquely matched by each signal path to be matched in the current intermediate layer, a passing point matching scheme corresponding to the weighted result and the maximum connection quality is formed.

[0233] In an optional implementation, the embodiment of the present application can solve the complete matching of associated pairs of vertices by adjusting the equal subgraph, that is, by adjusting the equal subgraph, a unique matching candidate passing point vertex is found for each associated pair of vertices in the final equal subgraph. At this time, an associated pair of vertices has only one matching candidate passing point vertex, and a candidate passing point vertex that has been matched by an associated pair of vertices will no longer be matched with other associated pair vertices; further, the candidate passing point corresponding to the candidate passing point vertex that is uniquely matched by the associated pair of vertices is the candidate passing point matched by the signal path to be matched in the associated pair corresponding to the associated pair of vertices in the current intermediate layer, corresponding to the passing point matching scheme that maximizes the connection quality of the current intermediate layer.

[0234] It should be noted that since the top label of each associated pair of vertices is initialized to the minimum weight among the corresponding weights, which corresponds to the maximization of the connection quality, the initial equal connection determined based on the initialized top label has been constrained to be associated with the maximum connection quality. Then, starting from the initial equal subgraph, the equal subgraph is continuously adjusted and a specific minimum adjustment amount of the connection quality is introduced when adjusting the equal subgraph. This can ensure that the complete match found in the final equal subgraph is the passing point matching scheme of the current intermediate layer that maximizes the corresponding connection quality.

[0235] As an optional implementation, an embodiment of the present application may start from an initial equal subgraph, search for an augmenting path of unmatched associated pairs of vertices in the equal subgraph, and increase the matching relationship of the associated pairs of vertices by flipping the augmenting path, wherein an augmenting path starts from an unmatched associated pair of vertices, follows the equal connections of the equal subgraph and passes through alternating unmatched connections and matching connections to reach an unmatched candidate passing point vertex; wherein a matching connection (also called a matching edge) is an equal connection connecting matched associated pairs of vertices and candidate passing point vertices, and correspondingly, an unmatched connection (also called an unmatched edge) also belongs to the equal connection in the equal subgraph, except that the associated pairs of vertices connected by the unmatched connection and the candidate passing point vertex have not yet been matched, that is, they have not yet been paired.

[0236] It should be noted that in graph theory, an augmenting path refers to a path that starts from an unmatched point, passes through an alternating path (unmatched edges and matched edges appear alternately on the alternating path), and finally reaches another unmatched point. Since the starting point and end point of the augmenting path are both unmatched points, the augmenting path contains at least one unmatched edge. Therefore, by flipping the matching status of equal edges on the augmenting path (that is, changing unmatched edges to matched edges, and matching edges to unmatched edges), the matching scale can be increased, thereby gradually approaching a complete match. The alternating path is a tool used in graph theory to find augmenting paths. The alternating path refers to a path that starts from an unmatched point and where unmatched edges and matched edges appear alternately, that is, the equal edges on the alternating path alternate between matching and unmatching.

[0237] Furthermore, by performing a flipping operation on the augmenting path (changing the unmatched connection to a matched connection, and changing the matched connection to an unmatched connection), the number of matched connections can be increased by one, that is, the matched connection and the unmatched connection will be flipped due to the flipping operation of the augmenting path, and the number of matched connections will increase by one. Specifically, the equal connections in the equal subgraph should meet the equality condition, and the flipping operation of the augmenting path will change the matching state of the equal connections on the augmenting path, which means that the originally unmatched equal connection (i.e., unmatched connection) becomes a matched equal connection (i.e., matched connection), and the originally matched equal connection (i.e., matched connection) becomes an unmatched equal connection (i.e., unmatched connection), so that after the flipping operation, the number of matched connections increases by one.

[0238] Furthermore, if there are unmatched associated pairs of vertices in the equal subgraph for which no augmenting path has been found, the embodiment of the present application can introduce a specific minimum adjustment amount of the connection quality, and adjust the top labels of the associated pairs of vertices and the candidate passing point vertices on the augmenting path, thereby introducing new equal connections that meet the equality conditions, that is, expanding the equal subgraph to obtain the equal subgraph with the top label adjusted; then, continue to search for augmenting paths in the equal subgraph for the unmatched associated pairs of vertices for which no augmenting path has been found, and increase matching connections by flipping the found augmenting paths.

[0239] Based on the flipping operation of the above-mentioned augmenting path and the top label adjustment of the equal subgraph based on the minimum adjustment amount of the connection quality, the embodiment of the present application can gradually increase the matching connections and gradually approach the complete matching, so as to find the candidate passing point vertices that uniquely match each associated pair of vertices in the final equal subgraph, that is, to find the unique matching connection of each associated pair of vertices.

[0240] In other words, augmenting paths, as a tool for dynamically adjusting matching relationships, can be used to solve the matching problem of unmatched associated pairs of vertices. By flipping the augmenting paths, the matching scale of the equal subgraph can be gradually expanded, and finally all associated pairs of vertices can be fully matched. When an unmatched associated pair of vertices cannot find an augmenting path in the equal subgraph, it means that the set of equal connections (i.e., the set of equal edges) of the equal subgraph is not enough to provide new opportunities. At this time, the equal subgraph can be expanded by adjusting the top label, so that the range of the equal subgraph is gradually expanded, which can provide more possibilities for the subsequent augmenting path search. Furthermore, the alternating effects of the augmenting paths and the top label adjustment of the equal subgraph can continuously optimize the matching relationship in the equal subgraph, and finally achieve the unique matching connection of all associated pairs of vertices in the equal subgraph, forming a point matching solution that maximizes the connection quality of the current intermediate layer.

[0241] For further understanding, the embodiment of the present application may define a current equal subgraph and explain the complete matching solution process from the perspective of the current equal subgraph. As an optional implementation, Fig.9A The flowchart of the method for determining a complete match provided by the embodiment of the present application is shown as an example. Fig.9A As shown, the method flow may include the following steps.

[0242] Step S910: Determine the current equal subgraph.

[0243] The current equal subgraph can be an initial equal subgraph or an equal subgraph that has been adjusted at least once. That is, the current equal subgraph is at least composed of multiple associated pairs of vertices, multiple candidate passing point vertices, and equal connections that meet the equality condition under the current top mark value (initialized top mark value or adjusted top mark value).

[0244] Step S911: In the current equal subgraph, along the equal connections of the current equal subgraph, try to find an augmenting path for each associated pair of vertices that have not been matched.

[0245] Step S912: For the found augmenting path, the matching state of the equal connection on the augmenting path is flipped to increase the matching relationship between the associated pair vertices and the candidate passing point vertices.

[0246] The embodiment of the present application can attempt to find an augmenting path for the associated pairs of vertices that have not yet matched in the current equal subgraph. Since the current equal subgraph is the initial equal subgraph or the equal subgraph that has undergone at least one top-label adjustment, all the associated pairs of vertices in the current equal subgraph may not be matched (corresponding to the case of the initial equal subgraph), or some of the associated pairs of vertices in the current equal subgraph may not be matched and some of the associated pairs of vertices may be matched (corresponding to the case of the equal subgraph that has undergone at least one top-label adjustment). In either case, the embodiment of the present application is to find an augmenting path for the associated pairs of vertices that have not yet matched; when finding an augmenting path for any associated pair of vertices that have not yet matched, the search can be performed along the equal connections of the current equal subgraph, and unmatched connections (i.e., unmatched equal connections) and matched connections (i.e., matched equal connections) appear alternately in the augmenting path until an unmatched candidate passing point vertex is reached.

[0247] For the augmented path found, the embodiment of the present application can flip the matching status of the equal connections on the augmented path, add matching connections, and thus update the matching relationship between the associated pair vertices and the candidate passing point vertices (i.e., update the pairing), so that the number of matching relationships increases.

[0248] For example, Fig. 9B An example diagram showing the search for augmentation paths and flip operations is shown, combined with Figure 8B and Fig. 9B As shown, in the initial equal subgraph, the equal connections exist in the following connection situations: p1 connects x4 and x6, p2 connects x4, p3 connects x6, and p4 connects x2;

[0249] The embodiment of the present application can try to find an augmenting path for each associated pair of vertices p1 to p4; for example, when finding an augmenting path for p1, starting from p1, the candidate passing point vertex that has not been matched is found along the equal connection in the equal subgraph, then p1 can find the candidate passing point vertex x4 that has not been matched through the equal connection (unmatched connection) of p1 and x4, thereby reversing the matching state of the equal connection of p1 and x4, then the equal connection of p1 and x4 changes from the initial unmatched connection to the matched connection, and then the matching relationship (p1, x4) of p1 and x4 is recorded; for the convenience of illustration, the figure uses thin lines to represent unmatched connections and thick lines to represent matched connections;

[0250] Continue to find an augmenting path for p2, for example, Fig. 9C Another example diagram of finding augmented paths and flipping operations is shown in FIG. Fig. 9C As shown, starting from p2, along the equal connection in the equal subgraph, p2 can find the candidate passing point vertex x4 through the equal connection (unmatched connection) of p2 and x4. Since the candidate passing point vertex x4 has been matched with p1, the path needs to be extended further; thus, the path finds p1 from x4 through the matching connection of x4 and p1, and p1 can find the unmatched candidate passing point vertex x6 along the equal connection (unmatched connection) of p1 and x6 in the equal subgraph. At this time, the augmenting path of p2 reaches an unmatched candidate passing point vertex, and the augmenting path of p2 ends; the augmenting path of p2 has the following equal connections: the equal connection (unmatched connection) of p2 and x4, the equal connection (matched connection) of x4 and p1, and the equal connection (unmatched connection) of p1 and x6;

[0251] Furthermore, by flipping the matching status of the equal connections on the augmenting path of p2, the matching connections can be updated, and the number of matching connections is increased by 1, thereby increasing the matching relationship between the associated pairs of vertices and the candidate passing point vertices; for example, after the augmenting path of p2 is flipped, the equal connection between p2 and x4 becomes a matching connection, the equal connection between x4 and p1 becomes an unmatched connection, and the equal connection between p1 and x6 becomes a matching connection, thereby forming new matching relationships (p2, x4) and (p1, x6). Compared with the matching relationship when searching for the augmenting path of p1, the matching relationship is updated and the number of matching relationships is increased by 1, and the number of corresponding matching connections is increased by 1.

[0252] Each associated pair of vertices can refer to the above description to find the augmenting path, and update and increase the matching relationship by flipping the matching status of the equal connection on the augmenting path, which will not be expanded here.

[0253] Step S913: determine whether there are any unmatched associated pairs of vertices for which no augmenting path can be found. If not, execute step S914; if so, execute step S915.

[0254] In the process of trying to find an augmenting path for the unmatched associated pairs of vertices in the current equal subgraph, the embodiment of the present application can flip the found augmenting path to increase the matching relationship between the associated pairs of vertices and the candidate passing point vertices; if all the associated pairs of vertices have been matched and are uniquely matched, then there are no remaining unmatched associated pairs of vertices, indicating that a complete match has been achieved, and the embodiment of the present application can terminate the process to obtain the candidate passing point vertices that uniquely match each associated pair of vertices.

[0255] If there are still unmatched associated pairs of vertices in the current equality subgraph, and no augmenting path can be found for the unmatched associated pairs of vertices in the current equality subgraph, it means that the matching relationship in the current equality subgraph can no longer be expanded. At this time, it is necessary to introduce new equal connections by adjusting the top mark, that is, to expand the equality subgraph, so as to continue to try to find augmenting paths for the unmatched associated pairs of vertices. Fig. 9C When looking for an augmenting path for the associated pair of vertex p3, starting from p3, along the equal connection in the equal subgraph, p3 can find the candidate passing point vertex x6 through the equal connection (unmatched connection) between p3 and x6. Since x6 has been matched with p1, the path needs to be extended further, and p1 is found through the equal connection (matched connection) between x6 and p1, and then x4 is found through the equal connection (unmatched connection) from p1 to x4. Since x4 has been matched with p2, the path is continued to be extended, and p2 is found through the equal connection (matched connection) between x4 and p2. However, at this time, there are no other equal connections in the equal subgraph that can connect p2 to other candidate passing point vertices except x4, that is, it is impossible to find an augmenting path for p3 along the equal connection of the equal subgraph, so it is necessary to introduce a new equal connection by adjusting the top mark in order to continue trying to find an augmenting path for p3.

[0256] Step S914: Determine the candidate passing point vertices that are uniquely matched to each associated pair of vertices.

[0257] There is no unmatched associated pair of vertices in the current equal subgraph and no augmenting path can be found, that is, all associated pair of vertices have found augmenting paths and have been matched, then the unique matching candidate passing point vertices of each associated pair of vertices can be obtained.

[0258] Step S915: Based on the minimum adjustment amount of the connection quality, adjust the top marks of the associated pairs of vertices and the candidate passing point vertices on the augmented path to introduce new equal connections and obtain a new equal subgraph; use the new equal subgraph as the new current equal subgraph, and return to step S910.

[0259] If there are unmatched associated pairs of vertices in the current equal subgraph and no augmenting path can be found, it is necessary to introduce new equal connections by adjusting the top mark to expand the equal subgraph, so that the expanded equal subgraph allows the addition of new matching relationships, and then continue to find augmenting paths for the unmatched associated pairs of vertices and perform flipping operations until all associated pairs of vertices have found augmenting paths in the equal subgraph and have been matched. At this time, all associated pairs of vertices have found unique matching connections, that is, complete matching is achieved.

[0260] As an optional implementation, an embodiment of the present application can determine each connection that is not on the augmenting path. For each connection that is not on the augmenting path, the sum of the top marks of the associated pair of vertices and the candidate passing point vertices corresponding to the connection is subtracted from the weights corresponding to the associated pair of vertices and the candidate passing point vertices, thereby obtaining the missing amount of each connection that does not meet the equality condition; then, the minimum value of the missing amount of each connection is determined as the minimum adjustment amount of the connection quality, and the top marks of the associated pair of vertices and the candidate passing point vertices on the augmenting path are adjusted by the minimum adjustment amount of the connection quality, thereby introducing new equal connections that meet the equality conditions.

[0261] For example, let the i-th connection that is not on the augmenting path connect the i-th associated pair vertex and the j-th candidate passing point vertex, where the top label of the i-th associated pair vertex is PK i , the top label of the jth candidate passing point vertex is XK j , the weight corresponding to the weight data structure of the i-th associated pair vertex and the j-th candidate passing point vertex in the current intermediate layer is d i,j , then the missing amount of the i-th connection that does not meet the equality condition can be expressed as: PK i +XK j -d i,j ;

[0262] Therefore, we take the minimum value of the missing amount of all connections that are not on the augmenting path, that is, min(PK i +XK j -d i,j ), the minimum adjustment amount of the connection quality can be obtained, expressed as d. It can be seen that the missing amount represents the gap between the connection that is not on the augmenting path and the equal condition required by the equal subgraph. When the weight d corresponding to the i-th associated pair vertex and the j-th candidate passing point vertex corresponding to the i-th connection that is not on the augmenting path is i,j The smaller it is, the easier it is to meet the gap. Therefore, by selecting the smallest missing amount as the minimum adjustment amount d of the connection quality, low-weight connections can be preferentially introduced into the equal subgraph to ensure the maximization of the connection quality when the weight is negatively correlated with the connection quality.

[0263] As an optional implementation, based on the minimum adjustment amount of the determined connection quality, the embodiment of the present application can add the minimum adjustment amount to the top marks of all associated pairs of vertices on the augmenting path, and subtract the minimum adjustment amount from the top marks of all candidate passing point vertices on the augmenting path, thereby adjusting the top marks of the equal subgraphs, so that the equal subgraphs include new equal connections that meet the equality conditions. It can be seen that the embodiment of the present application can provide opportunities to find new augmenting paths for the remaining unmatched associated pairs of vertices without destroying the existing matching relationship.

[0264] For example, Fig.9D An exemplary diagram showing adjustment of equal subgraphs, combined with Fig. 9C and Fig.9D As shown, when searching for an augmenting path for p3, the augmenting path is p3→x6→p1→x4→p2, and the path stops at p2 because p2 has no other candidate passing point vertices that can be connected. At this time, based on the minimum adjustment amount of the connection quality, the embodiment of the present application can adjust the top marks of the associated pairs of vertices p1, p2 and p3, and the candidate passing point vertices x4 and x6 that are already on the augmenting path; for example, the top marks of the associated pairs of vertices p1, p2 and p3 are respectively added with d, and the top marks of the candidate passing point vertices x4 and x6 are respectively subtracted with d, so that based on the adjustment of the top marks, new equal connections that meet the equality conditions can be introduced into the equal subgraph; assuming that d is 2, after adjusting the top marks, the equal subgraph can introduce Fig.9D The equal connections of p2 and x1 are shown, thereby expanding the equal subgraph and obtaining a new equal subgraph.

[0265] In the embodiment of the present application, the new equal subgraph can be used as the new current equal subgraph, thereby returning to step S910. Fig.9A The processing logic of the current equal subgraph shown in FIG. 1 continues to try to find an augmenting path for each unmatched associated pair of vertices in the new current equal subgraph. For example, taking the example of continuing to find an augmenting path for p3, Fig.9E Another example diagram of finding an augmentation path and a flipping operation is shown as an example. Fig.9E As shown, in the new current equal subgraph, starting from p3, through the equal connection of p3 and x6 (unmatched connection), the equal connection of x6 and p1 (matched connection), the equal connection of p1 and x4 (unmatched connection), the equal connection of x4 and p2 (matched connection), and the equal connection of p2 and x1 (newly introduced unmatched connection), an unmatched candidate passing point vertex x1 is found, thereby completing the augmenting path search for p3; then, the matching state of the equal connection on the augmenting path of p3 is flipped, and the matching relationship can be updated to (p3, x6), (p1, x4), and (p2, x1), thereby adding a pair of matching relationships.

[0266] That is to say, by continuously adjusting the equal subgraphs to expand the equal connections, the remaining unmatched associated pairs of vertices are provided with opportunities to find augmenting paths, and the matching relationships are increased by flipping the augmenting paths, and the above process is continuously repeated until all associated pairs of vertices find augmenting paths, so that all associated pairs of vertices are matched and uniquely matched, and a complete match is achieved. For example, Fig.9F An example diagram of a complete match is shown as follows: Fig.9F As shown in the figure, after multiple iterations of top label adjustment, the top labels of the associated vertices of the equal subgraphs are compared with Fig.9D The top mark shown may be enlarged (corresponding to Fig.9D The equal subgraphs shown are not enough to find a complete match, and the top mark is adjusted later), or they may be equal (corresponding to Fig.9D The equal subgraph shown in the figure has been able to find a complete match). Similarly, the top labels of the vertices of each candidate passing point are compared with Fig.9D The top marks shown may be smaller or equal; Fig.9F Taking the complete match shown as an example, the complete match can be: p1 matches x4, p2 matches x1, p3 matches x6, and p4 matches x2. Therefore, the candidate passing point corresponding to the candidate passing point vertex that is the only match of the associated pair vertex is the candidate passing point that the signal path to be matched in the associated pair corresponding to the associated pair vertex matches in the current intermediate layer, thereby adding the path points that have been matched by the signal path to be matched.

[0267] Further, combined with Fig.9F As shown, the current middle layer is the i-th middle layer, corresponding to the i-th candidate passing point set x i , then based on the candidate passing points that are uniquely matched by each signal path to be matched in the i-th intermediate layer, the embodiment of the present application can determine the passing point layout of the i-th intermediate layer.

[0268] After completing the matching of candidate passing points of the signal path to be matched in all intermediate layers, the layout positions of the passing points of each intermediate layer can be output. In other words, by iteratively solving the maximum weight matching of the bipartite graph layer by layer in the above manner, and iteratively updating the matching passing points of the signal path to be matched determined layer by layer to the signal path to be matched, it is possible to construct a complete set of matching signal paths from the source endpoint set to the target endpoint set through multiple intermediate layers.

[0269] In summary, the solution provided by the embodiment of the present application has the following effects:

[0270] Optimize design quality, such as optimizing the design quality of 3D chip 3D packaging and other scenarios. By combining the greedy search algorithm with the maximum weight matching algorithm, the current optimal through-point (such as TSV) layout scheme can be preferentially selected. For example, the overall connection path of the matched TSV is the shortest, thereby optimizing the design quality of the layout;

[0271] Improve design efficiency, such as improving the design efficiency of 3D packaging of 3D chips. The traditional TSV layout method of 3D packaging often relies on manual experience and trial and error, which is inefficient and prone to errors. The embodiment of the present application is based on the optimization of the greedy search algorithm and the maximum weight matching of the bipartite graph, which can automatically complete the layout optimization process and improve the design efficiency; and the efficient characteristics of the optimization algorithm can be applied in the rapid prototyping and preliminary optimization stages of the chip;

[0272] Enhance design flexibility, such as enhancing the flexibility of 3D chip design. The embodiments of the present application support customized optimization according to different design requirements and constraints by adjusting the form of connection attributes (i.e., the weight form can support adjustment) or introducing new constraints. This flexibility can adapt to a wider range of design scenarios and meet different design requirements.

[0273] Reduce design costs, such as reducing the design costs of 3D chips. By optimizing the TSV layout design of 3D packaging, unnecessary connections and redundant designs can be reduced, thereby reducing material costs and manufacturing costs. At the same time, TSV layout with high design quality can also help improve the signal transmission reliability and stability of the chip, reducing the cost of subsequent maintenance and repair.

[0274] It should be noted that the design scheme of the passing point layout provided in the embodiment of the present application can be applicable to any chip architecture with multiple chip layers, and is not limited to 3D chips using 3D packaging technology. In other words, as long as the signal path passes through at least one intermediate layer, the scheme provided in the embodiment of the present application can be used to confirm the passing point layout of the intermediate layer.

[0275] For example, the design scheme of the through-point layout provided in the embodiment of the present application can also be applied to chips using 2.5D packaging technology. Specifically, in 2.5D packaging technology, functional layers are interconnected through connection points (such as TSV) on one or more interposers, so that the endpoints of the signal path can be located in the functional layer (such as the source endpoint and the target endpoint are located in different functional layers), and the one or more interposers connecting the functional layers are the middle layers through which the signal path passes, and the connection points (such as TSV) of the interposers are the passing points of the middle layers that need to be laid out; and then for chips using 2.5D packaging technology, the design scheme of the through-point layout provided in the embodiment of the present application is applied, and the layout of the connection points (such as TSV) of the interposer can be confirmed. It should be further explained that in a chip using 2.5D packaging technology, the signal path may pass through one or more intermediary layers. For example, a chip using 2.5D packaging technology may use a single intermediary layer to connect multiple functional layers, so that the signal path starts from the functional layer where the source endpoint is located (corresponding to the signal initiating layer), passes through the connection point of the single intermediary layer (such as TSV), and reaches the functional layer where the target endpoint is located (corresponding to the signal receiving layer). At this time, the layout of the connection point (such as TSV) of the single intermediary layer can be confirmed using the design scheme of the point layout provided in the embodiment of the present application; for another example, in complex system integration or high-end customized design, in order to meet signal bandwidth requirements or special functional requirements, a chip using 2.5D packaging technology may use multiple intermediary layers to connect multiple functional layers. At this time, the signal path may pass through multiple intermediary layers for signal transmission, so that the layout of the connection points (such as TSV) of each intermediary layer can be confirmed using the design scheme of the point layout provided in the embodiment of the present application.

[0276] The embodiment of the present application combines greedy search with the maximum weight matching algorithm to hierarchically optimize the passing points of the matching signal path, and decomposes the complex passing point layout problem (such as TSV layout) into layer-by-layer matching sub-problems for gradual solution. It has the advantages of high quality, automation, strong flexibility, and scalability, and can meet the high-performance design requirements of chips. At the same time, it can improve efficiency through parallel computing and reduce design and manufacturing costs.

[0277] As an optional implementation, the embodiment of the present application further provides a design device for a through-point layout, which can be regarded as a functional module required to be set by a computer device to implement the through-point layout design method provided in the embodiment of the present application. The following description can be referenced to the above description. As an optional implementation, Fig.10 An optional block diagram of a design device for a point layout provided by an embodiment of the present application is shown exemplarily, referring to Fig.10 , the design device of the point layout may include:

[0278] A signal path to be matched determining module 10, used to determine a plurality of signal paths to be matched, wherein a signal path to be matched includes a portion of path points that have been matched by a signal path;

[0279] The current intermediate layer determination module 11 is used to determine the current intermediate layer of the current to-be-matched passing point of the to-be-matched signal path according to the signal transmission level of the signal path in the intermediate layer, and determine multiple candidate passing points of the current intermediate layer;

[0280] A weight data structure determination module 12 is used to determine a weight data structure corresponding to a plurality of signal paths to be matched in the current intermediate layer, wherein the weight data structure includes weights corresponding to each signal path to be matched and each candidate passing point in the current intermediate layer, wherein the weight represents the connection quality;

[0281] The matching module 13 is used to determine, based on the weight data structure, a passing point matching scheme corresponding to the weight result and the maximum connection quality, wherein the passing point matching scheme includes candidate passing points matched by each signal path to be matched in the current intermediate layer; and, adding the candidate passing points matched by the signal path to be matched in the current intermediate layer to the path points matched by the signal path to be matched, so as to update the signal path to be matched;

[0282] The layout determination module 14 is used to determine the candidate passing points matched by each to-be-matched signal path in each intermediate layer as target passing points for the layout of each intermediate layer after each to-be-matched signal path matches the candidate passing points in each intermediate layer.

[0283] In an optional implementation, the weight corresponding to a signal path to be matched and a candidate passing point in the current intermediate layer includes: a cumulative item weight and an heuristic item weight; wherein the cumulative item weight represents the accumulation of weights of the layer-by-layer connections from the matched path points of the signal path to be matched to the candidate passing points; the heuristic item weight represents the estimated weight from the candidate passing point to the target endpoint of the signal path to be matched.

[0284] In an optional implementation, the weight data structure determination module 12 is used to determine the weight data structure corresponding to multiple signal paths to be matched in the current intermediate layer, including: for any signal path to be matched, determining the cumulative item weights of the signal path to be matched and each candidate passing point in the current intermediate layer, as well as the heuristic item weights of the signal path to be matched and each candidate passing point; according to the cumulative item weights and heuristic item weights of each signal path to be matched and each candidate passing point, the weight data structure corresponding to multiple signal paths to be matched in the current intermediate layer is obtained.

[0285] In an optional implementation, the weight data structure determination module 12 is used to obtain the weight data structure corresponding to the multiple signal paths to be matched in the current intermediate layer according to the accumulated item weights and the heuristic item weights of each signal path to be matched and each candidate passing point, including:

[0286] For any signal path to be matched, based on the accumulated item weights and the heuristic item weights of the signal path to be matched and each candidate passing point, the weights corresponding to the signal path to be matched and each candidate passing point are determined; according to the weights corresponding to each signal path to be matched and each candidate passing point, the weight data structure corresponding to the multiple signal paths to be matched in the current intermediate layer is obtained;

[0287] or,

[0288] According to the cumulative item weights of each signal path to be matched and each candidate passing point, the cumulative item weight data structure is determined; according to the heuristic item weights of each signal path to be matched and each candidate passing point, the heuristic item weight data structure is determined; the cumulative item weight data structure and the heuristic item weight data structure are combined to form a weight data structure corresponding to multiple signal paths to be matched in the current middle layer.

[0289] In an optional implementation, the to-be-matched signal path determining module 10 is configured to determine a plurality of to-be-matched signal paths including:

[0290] Determine a plurality of initialized signal paths to be matched, wherein an initialized signal path to be matched includes a source endpoint that has been matched by the signal path;

[0291] Alternatively, a plurality of signal paths to be matched that have matched a passing point at least once are determined, and the signal paths to be matched match a passing point once at an intermediate layer.

[0292] In an optional implementation, at least one intermediate layer passed by the signal path serves as the current intermediate layer in sequence according to the signal transmission hierarchy; wherein, the initialized signal path to be matched uses the first intermediate layer as the current intermediate layer, and the signal path to be matched that has matched the passing point at least once uses the next intermediate layer of the intermediate layer of the last matching passing point as the current intermediate layer.

[0293] In an optional implementation, the passing point layout device provided in the embodiment of the present application can also be used for:

[0294] According to the corresponding relationship between the source endpoint and the target endpoint, the target endpoint corresponding to the source endpoint is associated with each initialized signal path to be matched;

[0295] After each signal path to be matched has passed through a candidate point in each intermediate layer, each signal path to be matched is matched with a corresponding target endpoint based on the target endpoint associated with each signal path to be matched, or the correspondence between the source endpoint and the target endpoint of each signal path to be matched; wherein, the target endpoint matched by the signal path to be matched is added to the path point that has been matched by the signal path to be matched to form a complete matching signal path corresponding to the signal path to be matched.

[0296] In an optional implementation, the multiple signal paths to be matched form a signal path set to be matched, one signal path to be matched and the associated target endpoint form an associated pair, and multiple associated pairs of the multiple signal paths to be matched form an associated pair set; the associated pair set includes the signal path set to be matched, and the target endpoints associated with each signal path to be matched in the signal path set to be matched; and the signal paths to be matched in the associated pair set are updated along with the matched path points.

[0297] In an optional implementation, the weight is negatively correlated with the connection quality; the corresponding passing point matching scheme that maximizes the connection quality is the passing point matching scheme with the smallest sum of weights.

[0298] In an optional implementation, the matching module 13 is used to determine the weight result and the corresponding passing point matching scheme of maximizing the connection quality based on the weight data structure, including:

[0299] Initialize the equal subgraph based on the associated pair vertices corresponding to each associated pair, the candidate passing point vertices corresponding to each candidate passing point of the current intermediate layer, and the weight data structure to obtain an initial equal subgraph; wherein an associated pair includes a signal path to be matched and a corresponding target endpoint;

[0300] Starting from the initial equal subgraph, the equal subgraph is continuously adjusted until each associated pair of vertices has a unique matching candidate passing point vertex in the final equal subgraph, and each to-be-matched signal path in the associated pair corresponding to each associated pair of vertices is obtained, and each unique matching candidate passing point in the current intermediate layer is obtained;

[0301] Based on the candidate passing points that are uniquely matched by each signal path to be matched in the current intermediate layer, a passing point matching scheme corresponding to the weighted result and the maximum connection quality is formed.

[0302] In an optional implementation, the matching module 13 is used to initialize the equal subgraph based on the association pair vertices corresponding to each association pair, the candidate passing point vertices corresponding to each candidate passing point of the current intermediate layer, and the weight data structure, and the initial equal subgraph includes:

[0303] Determine the associated pair vertices corresponding to each associated pair in the associated pair set in the equal subgraph, and obtain multiple associated pair vertices; determine the candidate passing point vertices corresponding to each candidate passing point in the candidate passing point set of the current intermediate layer in the equal subgraph, and obtain multiple candidate passing point vertices; initialize the top marks for each associated pair vertex and each candidate passing point vertex; wherein the top mark of an associated pair vertex is initialized to the weight of the maximum connection quality in the weight corresponding to the associated pair vertex, and the top mark of a candidate passing point vertex is initialized to 0 or a default value; based on the initialized top marks of each associated pair vertex and each candidate passing point vertex, and the weight data structure, determine the initial equal connection in the equal subgraph; wherein, when the sum of the top marks of the associated pair vertex and the top marks of the candidate passing point vertex is equal to the weights corresponding to the associated pair vertex and the candidate passing point vertex, the connection between the associated pair vertex and the candidate passing point vertex is an equal connection; based on multiple associated pair vertices, multiple candidate passing point vertices, and the initial equal connection, form an initial equal subgraph.

[0304] In an optional implementation, the weight is negatively correlated with the connection quality; the matching module 13 is used to initialize the top mark for each associated pair of vertices and each candidate passing point vertex, including: for any associated pair of vertices, initializing the top mark of the associated pair of vertices to the minimum weight among the weights corresponding to the associated pair of vertices; and initializing the top mark of each candidate passing point vertex to 0.

[0305] In an optional implementation, the matching module 13 is used to continuously adjust the equal subgraph starting from the initial equal subgraph until each associated pair of vertices has a unique matching candidate passing point vertex in the final equal subgraph, including:

[0306] Starting from the initial equal subgraph, an augmenting path of unmatched associated pairs of vertices is searched in the equal subgraph, and the matching relationship of the associated pairs of vertices is increased by flipping the augmenting path, wherein an augmenting path starts from an unmatched associated pair of vertices, along the equal connection of the equal subgraph and through alternating unmatched connections and matched connections, to reach an unmatched candidate passing point vertex, the matched connection is a matched equal connection, and the unmatched connection is an unmatched equal connection;

[0307] Furthermore, if there are associated pairs of vertices in the equal subgraph for which no augmenting path has been found, the top marks of the associated pairs of vertices and candidate passing point vertices on the augmenting path are adjusted based on the minimum adjustment amount of the connection quality to expand the equal subgraph until all associated pairs of vertices have found augmenting paths in the equal subgraph and have been matched.

[0308] In an optional implementation, the matching module 13 is used to start from the initial equal subgraph, find the augmenting path of the unmatched associated pair of vertices in the equal subgraph, and increase the matching relationship of the associated pair of vertices by flipping the augmenting path, including:

[0309] Determine a current equal subgraph, where the current equal subgraph is an initial equal subgraph or an equal subgraph that has undergone at least one top-mark adjustment; in the current equal subgraph, try to find an augmenting path for each associated pair of vertices that have not been matched along the equal connections of the current equal subgraph; for the augmenting path found, flip the matching status of the equal connections on the augmenting path to increase the matching relationship between the associated pair of vertices and the candidate passing point vertices.

[0310] In an optional implementation, the matching module 13 is configured to adjust the top marks of the associated paired vertices and the candidate passing point vertices on the augmenting path based on the minimum adjustment amount of the connection quality if there are associated paired vertices in the equal subgraph for which the augmenting path has not been found, so as to expand the equal subgraph until all associated paired vertices have found augmenting paths in the equal subgraph and have been matched, including:

[0311] Determine whether there are any unmatched association pairs for which no augmenting path can be found;

[0312] If not, determine the candidate passing point vertices that are uniquely matched to each associated pair of vertices;

[0313] If so, based on the minimum adjustment amount of the connection quality, the top marks of the associated pairs of vertices and the candidate passing point vertices on the augmenting path are adjusted to introduce new equal connections and obtain a new equal subgraph. The new equal subgraph is used as the new current equal subgraph to continue searching for augmenting paths for the associated pairs of vertices that have not been matched and perform flipping operations until all associated pairs of vertices have found augmenting paths in the equal subgraph and have been matched.

[0314] In an optional implementation, the matching module 13 is configured to adjust the top marks of the associated pair vertices and the candidate passing point vertices on the augmented path based on the minimum adjustment amount of the connection quality, including:

[0315] For each connection that is not on the augmenting path, the sum of the top marks of the associated pair of vertices and the candidate passing point vertices corresponding to the connection is subtracted from the weights corresponding to the associated pair of vertices and the candidate passing point vertices to obtain the missing amount of each connection that does not meet the equality condition; the minimum value of the missing amount of each connection is determined as the minimum adjustment amount of the connection quality; based on the minimum adjustment amount, the top mark of the associated pair of vertices on the augmenting path is added with the minimum adjustment amount, and the top mark of the candidate passing point vertices on the augmenting path is subtracted from the minimum adjustment amount.

[0316] In an optional implementation, the current middle layer determination module 11 is used to determine multiple candidate passing points of the current middle layer, including: if the positions of the candidate passing points of the current middle layer are not determined, then based on the design rules of the passing points, within the layout range of the passing points of the current middle layer, multiple candidate passing points of the current middle layer are determined in a manner that maximizes the full coverage of the passing points.

[0317] In a further optional implementation, the embodiment of the present application further provides a computer device, which can execute the design method of the through point layout provided in the embodiment of the present application by running a software algorithm. For example, the computer device can be set with the design device of the through point layout described above to execute the design method of the through point layout provided in the embodiment of the present application. In an optional implementation, the computer device may include at least one memory and at least one processor, the memory stores computer-executable instructions, and the processor calls the computer-executable instructions stored in the memory to execute the design method of the through point layout provided in the embodiment of the present application.

[0318] In a further optional implementation, the embodiment of the present application also provides a storage medium, which can store computer execution instructions. When the computer execution instructions are executed (for example, when the computer execution instructions are executed by a processor), the design method of the passing point layout provided in the embodiment of the present application is implemented.

[0319] In a further optional implementation, the embodiment of the present application also provides a computer program, including computer execution instructions, which, when executed (for example, when the computer execution instructions are executed by a processor), implement the design method of the passing point layout provided in the embodiment of the present application.

[0320] The above describes multiple implementation schemes provided by the embodiments of the present application. The various optional methods introduced in each implementation scheme can be combined and cross-referenced with each other without conflict, thereby extending a variety of possible implementation schemes, which can all be considered as implementation schemes disclosed and open in the embodiments of the present application.

[0321] Although the embodiments of the present application are disclosed above, the present application is not limited thereto. Any person skilled in the art may make various changes and modifications without departing from the spirit and scope of the present application. Therefore, the scope of protection of the present application shall be subject to the scope defined by the claims.

Claims

1. A design method for a point layout, characterized in that: include: Determine a plurality of signal paths to be matched, wherein a signal path to be matched includes a partial path point of a signal path that has been matched; According to the signal transmission level of the signal path in the middle layer, determine the current middle layer of the current to-be-matched passing point of the to-be-matched signal path, and determine a plurality of candidate passing points of the current middle layer; Determine a weight data structure corresponding to a plurality of signal paths to be matched in the current middle layer, wherein the weight data structure includes weights corresponding to each signal path to be matched and each candidate passing point in the current middle layer, wherein the weight represents the connection quality; Based on the weight data structure, determining a passing point matching scheme corresponding to the weight result and the maximum connection quality, wherein the passing point matching scheme includes candidate passing points matched by each signal path to be matched in the current intermediate layer; and adding the candidate passing points matched by the signal path to be matched in the current intermediate layer to the path points matched by the signal path to be matched, so as to update the signal path to be matched; After each to-be-matched signal path matches a candidate passing point in each intermediate layer, the candidate passing point matched by each to-be-matched signal path in each intermediate layer is determined as a target passing point for each intermediate layer layout.

2. The method according to claim 1, characterized in that The weight corresponding to a signal path to be matched and a candidate passing point in the current intermediate layer includes: a cumulative item weight and an inspiration item weight; wherein, the cumulative item weight represents the accumulation of the weights of the layer-by-layer connections from the matched path points of the signal path to be matched to the candidate passing points; the inspiration item weight represents the estimated weight from the candidate passing point to the target endpoint of the signal path to be matched.

3. The method according to claim 2, characterized in that The step of determining the weight data structure corresponding to the plurality of signal paths to be matched in the current intermediate layer includes: For any signal path to be matched, determine the cumulative item weights of the signal path to be matched and each candidate passing point of the current intermediate layer, as well as the heuristic item weights of the signal path to be matched and each candidate passing point; According to the accumulated item weights and the heuristic item weights of each signal path to be matched and each candidate passing point, a weight data structure corresponding to the multiple signal paths to be matched in the current middle layer is obtained.

4. The method according to claim 3, characterized in that The weight data structure corresponding to the plurality of signal paths to be matched in the current intermediate layer is obtained according to the accumulated item weights and the heuristic item weights of each signal path to be matched and each candidate passing point, including: For any signal path to be matched, based on the accumulated item weights and the heuristic item weights of the signal path to be matched and each candidate passing point, the weights corresponding to the signal path to be matched and each candidate passing point are determined; according to the weights corresponding to each signal path to be matched and each candidate passing point, the weight data structure corresponding to the multiple signal paths to be matched in the current intermediate layer is obtained; or, According to the cumulative item weights of each signal path to be matched and each candidate passing point, the cumulative item weight data structure is determined; according to the heuristic item weights of each signal path to be matched and each candidate passing point, the heuristic item weight data structure is determined; the cumulative item weight data structure and the heuristic item weight data structure are combined to form a weight data structure corresponding to multiple signal paths to be matched in the current middle layer.

5. The method according to claim 1, characterized in that Determining a plurality of signal paths to be matched comprises: Determine a plurality of initialized signal paths to be matched, wherein an initialized signal path to be matched includes a source endpoint that has been matched by the signal path; Alternatively, a plurality of signal paths to be matched that have matched a passing point at least once are determined, and the signal paths to be matched match a passing point once at an intermediate layer.

6. The method according to claim 5, characterized in that At least one intermediate layer passed by the signal path serves as the current intermediate layer in sequence according to the signal transmission hierarchy; wherein, the initialized signal path to be matched takes the first intermediate layer as the current intermediate layer, and the signal path to be matched that has matched the passing point at least once takes the next intermediate layer of the intermediate layer of the last matching passing point as the current intermediate layer.

7. The method according to claim 5, characterized in that Also includes: According to the corresponding relationship between the source endpoint and the target endpoint, the target endpoint corresponding to the source endpoint is associated with each initialized signal path to be matched; After each signal path to be matched has passed through a candidate point in each intermediate layer, each signal path to be matched is matched with a corresponding target endpoint based on the target endpoint associated with each signal path to be matched, or the correspondence between the source endpoint and the target endpoint of each signal path to be matched; wherein, the target endpoint matched by the signal path to be matched is added to the path point that has been matched by the signal path to be matched to form a complete matching signal path corresponding to the signal path to be matched.

8. The method according to claim 7, characterized in that The multiple signal paths to be matched form a signal path set to be matched, one signal path to be matched and an associated target endpoint form an associated pair, and multiple associated pairs of the multiple signal paths to be matched form an associated pair set; The associated pair set includes the set of signal paths to be matched and target endpoints associated with each signal path to be matched in the set of signal paths to be matched; and the signal paths to be matched in the associated pair set are updated along with the matched path points.

9. The method according to claim 1, characterized in that: The weight is negatively correlated with the connection quality; the corresponding passing point matching scheme for maximizing the connection quality is the passing point matching scheme with the smallest sum of weights.

10. The method according to any one of claims 1 to 9, characterized in that: The determining of the weight result and the corresponding passing point matching scheme of the connection quality maximization based on the weight data structure includes: Initialize the equal subgraph based on the associated pair vertices corresponding to each associated pair, the candidate passing point vertices corresponding to each candidate passing point of the current intermediate layer, and the weight data structure to obtain an initial equal subgraph; wherein an associated pair includes a signal path to be matched and a corresponding target endpoint; Starting from the initial equal subgraph, the equal subgraph is continuously adjusted until each associated pair of vertices has a unique matching candidate passing point vertex in the final equal subgraph, and each to-be-matched signal path in the associated pair corresponding to each associated pair of vertices is obtained, and each unique matching candidate passing point in the current intermediate layer is obtained; Based on the candidate passing points that are uniquely matched by each signal path to be matched in the current intermediate layer, a passing point matching scheme corresponding to the weighted result and the maximum connection quality is formed.

11. The method according to claim 10, characterized in that Initializing the equal subgraph based on the associated pair vertices corresponding to each associated pair, the candidate passing point vertices corresponding to each candidate passing point of the current intermediate layer, and the weight data structure to obtain the initial equal subgraph includes: Determine the corresponding associated pair vertices of each associated pair in the associated pair set in the equal subgraph, and obtain multiple associated pair vertices; Determine each candidate passing point in the candidate passing point set of the current middle layer, and the corresponding candidate passing point vertex in the equal subgraph, to obtain multiple candidate passing point vertices; Initialize the top label for each associated pair of vertices and each candidate passing point vertex respectively; wherein, the top label of an associated pair of vertices is initialized to the weight of the maximum connection quality among the weights corresponding to the associated pair of vertices, and the top label of a candidate passing point vertex is initialized to 0 or the default value; Based on the initialized top marks of each associated pair of vertices and each candidate passing point vertex, and the weight data structure, determine the initial equal connection in the equal subgraph; wherein, when the sum of the top marks of the associated pair of vertices and the top marks of the candidate passing point vertex is equal to the corresponding weights of the associated pair of vertices and the candidate passing point vertex, the connection between the associated pair of vertices and the candidate passing point vertex is an equal connection; Based on a plurality of associated pair vertices, a plurality of candidate passing point vertices, and an initial equal connection, an initial equal subgraph is formed.

12. The method according to claim 11, characterized in that The weight is negatively correlated with the connection quality; and initializing the top mark for each associated pair of vertices and each candidate passing point vertex includes: For any associated pair of vertices, initialize the top label of the associated pair of vertices to the minimum weight among the weights corresponding to the associated pair of vertices; And, initialize the top mark of each candidate passing point vertex to 0.

13. The method according to claim 11 or 12, characterized in that: Starting from the initial equal subgraph, the equal subgraph is continuously adjusted until each associated pair of vertices has a unique matching candidate passing point vertex in the final equal subgraph, including: Starting from the initial equal subgraph, an augmenting path of unmatched associated pairs of vertices is searched in the equal subgraph, and the matching relationship of the associated pairs of vertices is increased by flipping the augmenting path, wherein an augmenting path starts from an unmatched associated pair of vertices, along the equal connection of the equal subgraph and through alternating unmatched connections and matched connections, to reach an unmatched candidate passing point vertex, the matched connection is a matched equal connection, and the unmatched connection is an unmatched equal connection; Furthermore, if there are associated pairs of vertices in the equal subgraph for which no augmenting path has been found, the top marks of the associated pairs of vertices and candidate passing point vertices on the augmenting path are adjusted based on the minimum adjustment amount of the connection quality to expand the equal subgraph until all associated pairs of vertices have found augmenting paths in the equal subgraph and have been matched.

14. The method according to claim 13, characterized in that Starting from the initial equal subgraph, searching for an augmenting path of unmatched associated pairs of vertices in the equal subgraph, and increasing the matching relationship of associated pairs of vertices by flipping the augmenting path includes: Determine a current equal subgraph, where the current equal subgraph is an initial equal subgraph, or an equal subgraph that has undergone at least one top mark adjustment; In the current equality subgraph, along the equality connection of the current equality subgraph, try to find an augmenting path for each unmatched associated pair of vertices; For the augmented path found, the matching state of the equal connection on the augmented path is flipped to increase the matching relationship between the associated pair vertices and the candidate passing point vertices.

15. The method according to claim 14, characterized in that If there are associated pairs of vertices in the equal subgraph for which no augmenting path is found, then based on the minimum adjustment amount of the connection quality, the top marks of the associated pairs of vertices and the candidate passing point vertices on the augmenting path are adjusted to expand the equal subgraph until all associated pairs of vertices find augmenting paths in the equal subgraph and have been matched, including: Determine whether there are any unmatched association pairs for which no augmenting path can be found; If not, determine the candidate passing point vertices that are uniquely matched to each associated pair of vertices; If so, based on the minimum adjustment amount of the connection quality, the top marks of the associated pairs of vertices and the candidate passing point vertices on the augmenting path are adjusted to introduce new equal connections and obtain a new equal subgraph. The new equal subgraph is used as the new current equal subgraph to continue searching for augmenting paths for the associated pairs of vertices that have not been matched and perform flipping operations until all associated pairs of vertices have found augmenting paths in the equal subgraph and have been matched.

16. The method according to claim 15, characterized in that The step of adjusting the top marks of the associated pair vertices and the candidate passing point vertices on the augmented path based on the minimum adjustment amount of the connection quality includes: For each connection that is not on the augmenting path, the sum of the top marks of the associated pair vertices and the candidate passing point vertices corresponding to the connection is subtracted from the weights corresponding to the associated pair vertices and the candidate passing point vertices to obtain the missing amount of each connection that does not meet the equality condition; The minimum value of the missing amount of each connection is determined as the minimum adjustment amount of the connection quality; Based on the minimum adjustment amount, the minimum adjustment amount is added to the top marks of the associated pair of vertices on the augmenting path, and the minimum adjustment amount is subtracted from the top marks of the candidate passing point vertices on the augmenting path.

17. The method according to claim 1, characterized in that Determining a plurality of candidate passing points of the current middle layer includes: If the positions of the candidate passing points of the current middle layer are not determined, then based on the design rules of the passing points, multiple candidate passing points of the current middle layer are determined within the layout range of the passing points of the current middle layer in a manner that maximizes the full coverage of the passing points.

18. A design device for passing through point layout, characterized in that: include: A signal path determination module to be matched, used to determine a plurality of signal paths to be matched, wherein a signal path to be matched includes a partial path point of a signal path that has been matched; A current intermediate layer determination module, used to determine the current intermediate layer of the current to-be-matched passing point of the to-be-matched signal path according to the signal transmission level of the signal path in the intermediate layer, and determine multiple candidate passing points of the current intermediate layer; A weight data structure determination module, used to determine a weight data structure corresponding to a plurality of signal paths to be matched in the current intermediate layer, wherein the weight data structure includes weights corresponding to each signal path to be matched and each candidate passing point in the current intermediate layer, wherein the weight represents the connection quality; A matching module, for determining, based on the weight data structure, a passing point matching scheme corresponding to the weight result and the maximum connection quality, wherein the passing point matching scheme includes candidate passing points matched by each signal path to be matched in the current intermediate layer; and adding the candidate passing points matched by the signal path to be matched in the current intermediate layer to the path points matched by the signal path to be matched, so as to update the signal path to be matched; The layout determination module is used to determine the candidate passing points matched by each signal path to be matched in each intermediate layer as target passing points for the layout of each intermediate layer after each signal path to be matched matches the candidate passing points in each intermediate layer.

19. A computer device, characterized in that: The system comprises at least one memory and at least one processor, wherein the memory stores computer-executable instructions, and the processor calls the computer-executable instructions stored in the memory to execute the method for designing a passing point layout as described in any one of claims 1 to 17.

20. A storage medium, characterized in that: The storage medium stores computer-executable instructions, and when the computer-executable instructions are executed, the method for designing a passing point layout as described in any one of claims 1 to 17 is implemented.

21. A computer program, characterized in that It comprises computer execution instructions, and when the computer execution instructions are executed, it implements the design method of the passing point layout as described in any one of claims 1-17.

Citation Information

Cited By

  • Chip interposer wiring method and device based on integer linear programming

    CN120278109A

  • Solder ball distribution method and device and storage medium

    CN120805515A

  • Solder ball management system and method

    CN120805840A