Method and apparatus for setting layer connection point in multi-layer quantum chip, electronic device, multi-layer quantum chip, computer readable storage medium, and computer program product
By using the first tree structure in a multi-layer quantum chip, the path is determined from the root node downward, and the setting position of the layer connection point is quickly determined, which solves the problem of low efficiency in the existing technology and realizes efficient layer connection point arrangement.
Patent Information
- Application Number
- PCT/CN2024/131540
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-20
- Filing Date
- 2024-11-12
- Publication Date
- 2025-09-25
AI Technical Summary
When setting layer connection points in a multi-layer quantum chip, the existing technology needs to compare the position of the layer connection points with the outer contour of each component one by one, resulting in low efficiency.
Using the first tree structure, the first path is determined from the root node downward. Through the graphic relationship generated by the first tree and the components of the target layer, the setting position of the layer connection point is quickly determined to ensure that it meets the distance requirements with the components.
Improves the efficiency of setting layer connection points, reduces the time for comparison with components, and achieves fast and efficient layer connection point layout.
Smart Images

Figure CN2024131540_25092025_PF_FP_ABST
Abstract
Description
A method, device, electronic device, multi-layer quantum chip, computer-readable storage medium, and computer program product for setting layer connection points in a multi-layer quantum chip
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is based on the Chinese patent application with application number 202410325252.5 and application date of March 20, 2024, and claims the priority of the Chinese patent application. The entire content of the Chinese patent application is hereby introduced into this application as a reference. Technical Field
[0003] The present application relates to the field of quantum computing, and in particular to a method, device, electronic device, multi-layer quantum chip, computer-readable storage medium, and computer program product for setting layer connection points in a multi-layer quantum chip. Background Art
[0004] A multi-layer quantum chip consists of multiple layers, each of which houses quantum computing-related components (including quantum computing components and other auxiliary components). Each layer requires a connection point, which connects to adjacent layers via metal structures (such as indium pillars). Connection points cannot be placed directly on components, nor can they be placed too close to components, as this can affect their proper operation.
[0005] When setting layer connection points, the related art requires first determining the location of each layer connection point to be set on the layer and comparing that location with the outer contour of each component. If a location intersects the component's outer contour, or if it does not intersect but the distance between them is less than a predetermined distance, the layer connection point is hidden and not set. Only those layer connection points that do not intersect the component's outer contour and are separated from it by a distance greater than or equal to the predetermined distance are set.
[0006] Since the relevant technology requires comparing the position of the layer connection point to be set with the outer contour of each component one by one, it is very time-consuming and affects the efficiency of setting the layer connection points in the multi-layer quantum chip.
[0007] Summary of the Invention
[0008] The embodiments of the present application provide a method, device, electronic device, multi-layer quantum chip, computer-readable storage medium and computer program product for setting layer connection points in a multi-layer quantum chip, which can improve the efficiency of setting layer connection points in a multi-layer quantum chip.
[0009] An embodiment of the present application provides a method for setting layer connection points in a multi-layer quantum chip, the method being performed by an electronic device, wherein the layer connection points are used to connect a target layer in the multi-layer quantum chip with an adjacent layer in the multi-layer quantum chip, the method comprising:
[0010] Acquire a first position of the layer connection point to be set on the target layer;
[0011] Obtain a first tree, in which each leaf node corresponds to a first graphic of a component on the target layer, and each non-leaf node includes a first number of child nodes and corresponds to a second graphic of the first number of child nodes on the target layer;
[0012] On the first tree, determining a first path from a root node downward, wherein each node on the first path satisfies a first relationship with the first position;
[0013] The layer connection point is set to the first position based on a second relationship between the leaf node on the first path and the first position.
[0014] An embodiment of the present application provides a device for setting layer connection points in a multi-layer quantum chip, wherein the layer connection points are used to connect a target layer in the multi-layer quantum chip with an adjacent layer in the multi-layer quantum chip. The device for setting layer connection points includes:
[0015] a first position acquisition unit configured to acquire a first position of the layer connection point to be set on the target layer;
[0016] a first tree acquisition unit configured to acquire a first tree, wherein each leaf node corresponds to a first graphic of a component on the target layer, and each non-leaf node includes a first number of child nodes and corresponds to a second graphic of the first number of child nodes on the target layer;
[0017] a path determining unit configured to determine a first path from a root node downward on the first tree, wherein each node on the first path satisfies a first relationship with the first position;
[0018] The first setting unit is configured to set the layer connection point to the first position based on a second relationship between the leaf node on the first path and the first position.
[0019] An embodiment of the present application provides a multi-layer quantum chip, comprising multiple layers, wherein the multiple layers include a target layer, the target layer includes components and layer connection points, the layer connection points are used to connect the target layer with adjacent layers in the multiple layers, and the layer connection points are set according to the above-mentioned layer connection point setting method in the multi-layer quantum chip.
[0020] An embodiment of the present application provides an electronic device for setting layer connection points in a multi-layer quantum chip, including a memory and a processor. The memory stores a computer program, and when the processor executes the computer program, it implements the method for setting layer connection points in the multi-layer quantum chip as described above.
[0021] An embodiment of the present application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the method for setting layer connection points in a multi-layer quantum chip as described above is implemented.
[0022] An embodiment of the present application provides a computer program product, which includes a computer program. The computer program is read and executed by a processor of a computer device, so that the computer device executes the layer connection point setting method in a multi-layer quantum chip as described above.
[0023] The embodiment of the present application has at least the following beneficial effects: Since the embodiment of the present application sets up a first tree, if the layer connection point falls within the first graphic surrounding a certain component, then the layer connection point naturally also falls within the second graphic corresponding to the parent node corresponding to the first graphic, and continues to pass upward until it finally falls within the second graphic corresponding to the root node. Therefore, the embodiment of the present application uses the first tree to compare from top to bottom to find the first path in which each node and the layer connection point meet the first relationship. The leaf node of the first path is the node closest to the layer connection point. At this time, based on the second relationship between the first graphic corresponding to the node and the layer connection point, the layer connection point can be set at that position. In this way, the first tree can be used to search from top to bottom to quickly determine the components that meet the first relationship with the layer connection point, thereby improving the efficiency of setting the layer connection point.
[0024] Other technical features and beneficial effects provided by the embodiments of this application will be described in the following description, and in part will become apparent from the description or be understood by practicing this application. The objectives and other beneficial effects of this application can be achieved and obtained through the structures particularly pointed out in the description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The accompanying drawings are used to provide a further understanding of the technical solution of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the technical solution of the present application and do not constitute a limitation on the technical solution of the present application.
[0026] FIG1 is a system architecture diagram of a layer connection point setting method according to an embodiment of the present application;
[0027] 2A and 2B are schematic diagrams of the interlayer structure of a multi-layer quantum chip provided in an embodiment of the present application;
[0028] FIG3 is a main flow chart of a layer connection point setting method according to an embodiment of the present application;
[0029] FIG4 is a flow chart of step 310 in FIG3 for obtaining a first position of a layer connection point to be set on a target layer;
[0030] FIG5 is a schematic diagram of a first position where the acquisition layer connection point of FIG4 is to be set on the target layer;
[0031] FIG6 is another flow chart of step 310 in FIG3 for obtaining the first position of the layer connection point to be set on the target layer;
[0032] FIG7 is a schematic diagram of a first position on a target layer where the acquisition layer connection point of FIG6 is to be set;
[0033] FIG8 is a flow chart of obtaining the first tree in step 320 of FIG3 ;
[0034] FIG9 is a schematic diagram of obtaining the first tree in FIG8 ;
[0035] FIG10 is a schematic diagram of a first graphic containing components generated in step 810 in FIG8 ;
[0036] FIG11 is a first flow chart of sorting the nodes at the bottom level in step 820 of FIG8 ;
[0037] FIG12 is a schematic diagram of FIG11 sorting the nodes at the bottom level;
[0038] FIG13 is a second flow chart of sorting the bottom-level nodes in step 820 in FIG8 ;
[0039] FIG14 is a schematic diagram of FIG13 showing the sorting of the nodes at the bottom level;
[0040] FIG15 is a third flow chart of sorting the bottom-level nodes in step 820 in FIG8 ;
[0041] FIG16 is a schematic diagram of FIG15 showing the sorting of the nodes at the lowest level;
[0042] FIG17 is a flow chart of a method for obtaining the first number in step 830 of FIG8 ;
[0043] FIG18 is a schematic diagram of a method for obtaining the first number in FIG17 ;
[0044] FIG19 is a flowchart of step 830 in FIG8 for generating a second graph including a first graph corresponding to a first number of bottom-level nodes;
[0045] FIG20 is a schematic diagram of FIG19 generating a second graph including the first graph corresponding to the first number of lowest-level nodes;
[0046] FIG21 is a flowchart of determining the first path from top to bottom on the first tree in step 330 in FIG3 ;
[0047] FIG22 is a flowchart of setting the layer connection point to the first position based on the second relationship between the lowest level node on the first path and the first position in step 340 of FIG3 ;
[0048] FIG23 is a schematic diagram of setting the layer connection point to the first position based on the second relationship between the lowest level node on the first path and the first position in FIG22;
[0049] FIG24 is a flow chart of determining the distance to the component in step 2210 of FIG22 ;
[0050] FIG25 is a schematic diagram of determining the distance from the components in FIG24;
[0051] FIG26 is a flow chart of determining the first distance in step 2210 of FIG22 ;
[0052] FIG27 is a schematic diagram of setting the layer connection point to the first position in step 2210 in FIG22 when there are multiple first paths;
[0053] FIG28 is a second flowchart of setting the layer connection point to the first position based on the second relationship between the lowest level node on the first path and the first position in step 340 in FIG3 ;
[0054] FIG29 is a schematic diagram of setting the layer connection point to the first position based on the second relationship between the lowest level node on the first path and the first position in FIG28;
[0055] FIG30 is a third flow chart of setting the layer connection point to the first position based on the second relationship between the lowest level node on the first path and the first position in step 340 in FIG3 ;
[0056] FIG31 is a schematic diagram of setting the layer connection point to the first position based on the second relationship between the lowest level node on the first path and the first position in FIG30 ;
[0057] FIG32 is a detailed diagram of an implementation of a method for setting layer connection points according to an embodiment of the present application;
[0058] FIG33 is a schematic diagram of the effect of setting layer connection points provided in an embodiment of the present application;
[0059] Figure 34 is a comparison table of the time overhead of the layer connection point setting method of an embodiment of the present application and the time overhead of setting layer connection points in the prior art.
[0060] FIG35 is a module diagram of a layer connection point setting device according to an embodiment of the present application;
[0061] FIG36 is a terminal structure diagram of the layer connection point setting method shown in FIG3 according to the embodiment of the present application;
[0062] Figure 37 is a server structure diagram of the layer connection point setting method shown in Figure 3 according to the embodiment of the present application. DETAILED DESCRIPTION
[0063] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0064] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.
[0065] Superconducting quantum chip: refers to the central processing unit of a superconducting quantum computer. A superconducting quantum computer is a machine that uses the principles of quantum mechanics to perform calculations. The superposition principle and quantum entanglement of quantum mechanics have improved the parallel processing capabilities of superconducting quantum computers and can solve some problems that are difficult for classical computers to calculate. The zero resistance characteristics of superconducting quantum chips and the manufacturing process close to that of integrated circuits make the quantum computing system constructed using superconducting quantum chips one of the systems for realizing practical quantum computing. The multi-layer quantum chip in the embodiment of the present application is a superconducting quantum chip.
[0066] Layout: Also known as a circuit diagram, it is a design that describes the layout, placement, and connection of components in a circuit. It is a planar geometric representation of the actual circuit's physical structure. Layout design adheres to constraints such as manufacturing process, timing, area, and power consumption. The layout design file contains information about the shape, area, and location of each hardware unit on the chip.
[0067] Component: A general term for components and devices, which are electronic parts and components in the circuit, such as resistors, capacitors, inductors, etc.
[0068] Quantum bit unit: A storage unit in quantum hardware resources used to hold quantum bits involved in calculations.
[0069] Indium Bump: A spherical bump made of metallic indium that is used to establish electrical connections between different components or layers in a device. The layer connection points in the embodiments of the present application may be indium bumps.
[0070] When setting layer connection points, the related art requires first determining the position of each layer connection point to be set on the layer and comparing that position with the outer contour of each component. If the position intersects with the outer contour of the component, or if it does not intersect but the distance between them is less than a predetermined distance, the layer connection point is hidden and not set. Only those layer connection points that do not intersect with the outer contour of the component and are separated from the outer contour by a distance greater than or equal to the predetermined distance are set. Because the existing art requires comparing the position of the layer connection point with the outer contour of each component one by one, it is very time-consuming and affects the efficiency of the layer connection points in the multi-layer quantum chip.
[0071] The following describes the system architecture and scenarios of the application embodiments of the present application.
[0072] Figure 1 is a diagram of the system architecture used in the layer connection point setting method according to an embodiment of the present application. As shown in Figure 1, the system architecture 1-1 includes a layer layout design machine, a device placement machine, a layer connection point placement machine, a multi-layer quantum chip, etc.
[0073] The layer layout design machine is a device used to receive information such as the initial layout, component types, component quantity, initial layer connection point matrix, and perform layout design based on this information. The layer layout design machine can receive information such as the initial layout, component types, component quantity, initial layer connection point matrix, etc. from a cloud database, cloud server, server, computer, terminal, etc. through wired or wireless communication. The layer layout design machine can also have a storage function itself, which can store and call the information needed for layout design. For a quantum chip with a multi-layer structure (called a multi-layer quantum chip), the layout of each layer can be designed by the layer layout design machine to obtain the component layout method, position, layer connection point layout position, etc. of each layer. After completing the layout design, the layer layout design machine will output the relevant information to downstream equipment for chip manufacturing.
[0074] The layer layout design machine includes at least but is not limited to a layout reading module, a layer connection point design module, and a layout output module. The layout reading module is used to read the initial layout, the layer connection point design module is used to design the layer connection point setting position based on the initial layout, and the layout output module is used to output the designed layout.
[0075] The device placement machine is used to place components, that is, to place components at corresponding locations on corresponding layers of the chip according to the layout design information. The device placement machine can communicate with the layer layout design machine through wired or wireless communication to obtain the designed layout from the layer layout design machine.
[0076] The layer connection point placement machine is used to place layer connection points, i.e., it places the layer connection points at corresponding locations on corresponding layers of the chip based on the layout design information. The layer connection point placement machine can communicate with the layer layout design machine via wired or wireless communication to obtain the designed layout from the layer layout design machine.
[0077] Through the device placement machine and the layer connection point placement machine, according to the designed layout output by the layer layout design machine, the components and layer connection points are placed on the corresponding positions of each layer of the substrate of the multi-layer quantum chip to complete the manufacture of the multi-layer quantum chip.
[0078] The embodiments of the present application can be applied in various scenarios, such as the schematic diagrams of the interlayer structure of a multi-layer quantum chip shown in Figures 2A and 2B.
[0079] As shown in Figure 2A, Figure 2A shows the structure between two layers of a multi-layer quantum chip, where a plurality of components 230 and a plurality of superconducting metal pillars 220 are arranged between the two substrates 210; wherein, the position of the superconducting metal pillars 220 cannot coincide with the components 230, and the distance between the superconducting metal pillars 220 and the components 230 is greater than the minimum distance limit; wherein, the minimum distance limit refers to the minimum distance between the superconducting metal pillars 220 and the components 230 without affecting the normal function of the components 230.
[0080] As shown in FIG2B , FIG2B shows the layer structure of a multilayer quantum chip. Between each two layers of the multilayer quantum chip, there are multiple components 230 and superconducting metal pillars 220 determined by the layer connection point setting method provided in an embodiment of the present application as shown in FIG2A .
[0081] Taking FIG2A as an example, based on the system architecture provided in FIG1 , two layers of the multi-layer quantum chip shown in FIG2A are implemented through the following steps.
[0082] The initial layout of the lower substrate 210 in FIG. 2A is input into a layer layout design machine, wherein the lower orientation is described based on the viewing angle of FIG. 2A .
[0083] In the layer layout design machine, a layout reading module reads initial layout information, including the dimensions of substrate 210, the types and quantities of components 230 included, and the positions of components 230. Multiple first patterns are determined based on components 230, with each component 230 corresponding to one first pattern.
[0084] Each first graphic is used as a node at the lowest level (called a leaf node) to generate a first tree; wherein the first tree includes nodes at multiple levels, and each non-lowest level node (called a non-leaf node) is connected to a first number of nodes at the next level (called a first number of child nodes), and corresponds to a second graphic on the substrate 210 that includes the first number of nodes.
[0085] Obtain the first position where each layer connection point will be set. For each layer connection point, determine the first path from top (called the root node) to bottom on the first tree, where the first position is located within the graph corresponding to the node in the first path (called the target graph, the target graph is the first graph or the second graph), and is located outside the component corresponding to the lowest level node, and the distance from the component is greater than the first distance, then it is determined that the layer connection point can be set at the first position. In addition, if the first position does not confirm a complete first path in the first tree, it means that the layer connection point is not within the range of the first graph corresponding to any of the lowest level nodes, then the distance between the layer connection point and the component must be greater than the first distance, so it can be determined that the layer connection point can be set at the first position.
[0086] After completing the arrangement of all layer connection points, the final layout is generated, and the layer layout design machine outputs the final layout to the device placement machine and the layer connection point placement machine.
[0087] The device placement machine places the components 230 on the substrate 210 according to the final layout, and the layer connection point placement machine places the layer connection points on the substrate 210 according to the final layout.
[0088] In the same way, the layout of components and layer connection points of the upper substrate 210 in FIG. 2A is completed.
[0089] A superconducting metal column 220 is provided between every two corresponding layer connection points of the two substrates 210 to achieve connection between the layers.
[0090] In summary, when setting a layer connection point between two substrates 210, a first tree generated based on the first graphic of the component 230 is compared from top to bottom to find a first path in which each node has a first relationship (closest) to the layer connection point. The lowest-level node in the first path is the node closest to the layer connection point. At this time, based on the second relationship between the first graphic corresponding to the node and the layer connection point (such as the layer connection point not falling within the component and being separated from the component by a predetermined distance), it can be determined whether a layer connection point should be set at that location. Compared to a solution that compares each component one by one, using the first tree to search from top to bottom can quickly determine the component closest to the layer connection point, improving the efficiency of setting the layer connection point.
[0091] It should be understood that the above content only illustrates some of the application scenarios of this application. The business scenarios to which this application can be applied may include but are not limited to the specific embodiments listed above.
[0092] It should be emphasized that the embodiments of the present application are applicable to a variety of application scenarios, such as multi-layer quantum chip design, layer layout design, and multi-layer quantum chip modeling. The embodiments of the present application provide a method, apparatus, electronic device, multi-layer quantum chip, computer-readable storage medium, and computer program product for setting layer connection points in a multi-layer quantum chip, which can improve the efficiency of setting layer connection points in a multi-layer quantum chip.
[0093] The layer connection point setting method in a multi-layer quantum chip provided in an embodiment of the present application is a method for determining the setting position of the layer connection point in the target layer of the multi-layer quantum chip. The layer connection point setting method can set the layer connection point for each layer of the multi-layer quantum chip separately. The layer connection point setting method quickly compares the first position where the layer connection point is to be set with the first tree generated based on the components of the target layer to confirm whether the distance between the layer connection point and each component meets the minimum distance limit requirement. If so, it is determined that the layer connection point can be set at the first position.
[0094] The layer connection point setting method of the embodiment of the present application can be executed on the server, or partially executed on the server and partially executed on the terminal, or executed in the layer layout design machine as shown in Figure 1.
[0095] As shown in FIG3 , the method for setting layer connection points in a multi-layer quantum chip provided in an embodiment of the present application includes steps 310 to 340 , and each step is described below.
[0096] Step 310: Obtain a first position of a layer connection point to be set on a target layer.
[0097] Step 320: Obtain the first tree.
[0098] In the first tree, each leaf node corresponds to a first graphic of a component on a target layer, and each non-leaf node includes a first number of child nodes and corresponds to a second graphic of the first number of child nodes on the target layer.
[0099] Step 330: On the first tree, determine a first path from the root node downward, where each node on the first path satisfies a first relationship with the first position.
[0100] Step 340: Set the layer connection point to the first position based on the second relationship between the leaf node on the first path and the first position.
[0101] Steps 310 to 340 are briefly described below.
[0102] In step 310 , a multi-layer quantum chip is generally constructed by vertically stacking multiple layers of substrates, with superconducting metal pillars used between each two adjacent layers of substrates as support and for electrical connection between the layers.
[0103] The layer connection point refers to a point entity used to connect a target layer in a multi-layer quantum chip with an adjacent layer in the multi-layer quantum chip; illustratively, the layer connection point may be an indium pillar.
[0104] The target layer refers to the substrate in the multi-layer quantum chip where layer connection points are currently being set. In this embodiment of the present application, the target layer also refers to the layout corresponding to the substrate in the multi-layer quantum chip where layer connection points are currently being set. In this case, the layout contains information such as the size, position, and shape of the substrate and the components on the substrate. The adjacent layer refers to the substrate adjacent to the target layer.
[0105] The first position refers to the position where the layer connection point is to be set on the target layer. The corresponding layer connection point is set at the first position only after it is determined through the layer connection point setting method corresponding to steps 320 to 340 that setting the layer connection point at the first position will not cause interference to the components.
[0106] In step 320, the first tree is a tree with the first graph corresponding to each component in the target layer as the lowest-level node, the second graph including all first graphs in the target layer as the root node, and the second graphs including several first graphs as the intermediate-level nodes. Components are quantum computing devices or non-quantum auxiliary devices, such as qubit units, capacitors, and inductors, disposed on the substrate of the multi-layer quantum chip.
[0107] Exemplarily, when the first tree is a binary tree, assuming there are four components in total, the first tree has three layers in total, and the four bottom-level nodes correspond to the first graphics of the four components respectively; there are two intermediate nodes one level above the bottom level, and each intermediate node corresponds to the parent node of every two bottom-level nodes, and each intermediate node corresponds to the second graphic of the first graphic containing two child nodes; there is a node one level above, namely the root node, and the root node is the parent node of the two intermediate nodes. The root node corresponds to the graphic of the second graphic including the two intermediate nodes, that is, the root node corresponds to the second graphic of the first graphic including all four bottom-level nodes.
[0108] The first shape refers to the smallest polygon that can contain the entire outer contour of the component. The second shape refers to the smallest polygon that contains all outer edges of the corresponding plurality of first shapes.
[0109] In step 330, determining the first path downward from the root node refers to performing a comparison from the root node of the first tree downward, layer by layer, until a node at the lowest level that satisfies a first relationship is found. The first relationship means that the outer contour of the first position is within the target shape corresponding to the node, where the target shape is the first shape or the second shape; or that the outer contour of the first position partially overlaps with the target shape corresponding to the node.
[0110] In step 340 , the second relationship means that the first position and the component corresponding to the lowest-level node on the first path do not overlap, and setting the layer connection point at the first position will not interfere with the normal operation of the component.
[0111] If a complete first path can be found based on the first location, it proves that the first location overlaps with a component or interferes with the normal operation of the component. It is necessary to compare it with the component corresponding to the lowest node in the first path to determine whether the second relationship is met. If so, it means that the layer connection point can be set at the first location. If the second relationship is not met, it proves that the layer connection point cannot be set at the first location, otherwise it will conflict with the component.
[0112] If a first path including the lowest level node cannot be found in the first tree based on the first position, it means that the first position will not interfere with any components in the first tree, and the connection point of this layer can be directly set at the corresponding first position.
[0113] By comparing the first position of the layer connection point with the first tree to find the first path, the first position is individually compared with the components corresponding to the first path. For any remaining first positions where the complete first path cannot be found, the layer connection point can be directly determined and set. This reduces the process of comparing the layer connection point with the outer contour of the component, enabling faster layer connection point setting.
[0114] For example, during the process of setting the layer connection points for each layer of a multi-layer quantum chip, each layer may have multiple layer connection points. Steps 310 to 340 are used to determine whether each layer connection point can be set at the corresponding first position, ultimately resulting in a layout for the target layer to complete the layer connection point arrangement design. Based on this layout, the layer connection points can be arranged and set for the substrate entity.
[0115] Steps 310 to 340 above employ a first tree approach, enclosing each component on the target layer with a first graphic (e.g., a rectangular frame), corresponding to the lowest level node in the first tree. The penultimate level node is then connected to multiple lowest level nodes, corresponding to the second graphic enclosing the first graphic of these multiple lowest level nodes. This continues upward to the root node, forming the first tree. If a layer connection point falls within the first graphic of a lowest level node, it will inevitably also fall within the second graphic of the node above it, and this process continues until it finally falls within the second graphic of the root node, forming the first path. Therefore, the present application utilizes the first tree to search the first path from top to bottom. The lowest level node in the first path is the node closest to the layer connection point. If this node and the layer connection point meet predetermined conditions (the layer connection point does not fall within a component and is at least a predetermined distance away from the component), it is determined that the layer connection point can be set at that location. Using the first tree's top-down search approach reduces search time and improves the efficiency of setting layer connection points, compared to existing techniques that compare each component individually.
[0116] The specific implementation process of steps 310 to 340 is described in detail below.
[0117] In step 310 , a first position of a layer connection point to be set on a target layer is obtained.
[0118] In the embodiment of the present application, referring to FIG. 4 , step 310 includes steps 410 to 430 , and each step is described below.
[0119] Step 410: Obtain the layer connection point matrix of the target layer.
[0120] Step 420: Obtain the position mapping rule of the layer connection point matrix.
[0121] Step 430: Based on the position mapping rule, determine the first position of the layer connection point in the layer connection point matrix to be set on the target layer.
[0122] Steps 410 to 430 are described in detail below.
[0123] In step 410, the layer connection point matrix is an M-column by N-row matrix generated based on the number of layer connection points to be set for the target layer, where M and N are both positive integers. Each element in the layer connection point matrix corresponds to a layer connection point. Each row of the layer connection point matrix has M equally spaced layer connection points, and each column has N equally spaced layer connection points.
[0124] In step 420, the position mapping rule refers to a pre-set algorithm rule for converting the coordinates of each layer connection point in the layer connection point matrix into the coordinates on the target layer to be set. Pre-set means pre-set before the layer connection points are set. For example, a linear function can be used to map each layer connection point in the layer connection point matrix to the coordinates actually set on the target layer.
[0125] In step 430, coordinate conversion is performed on each layer connection point in the layer connection point matrix using the position mapping rule. Determining the first position refers to determining the actual position coordinates of the layer connection point set on the target layer, which represent the position of the center point of the layer connection point on the target layer.
[0126] The process of determining the first position is explained with reference to Figure 5. As shown in Figure 5, matrix A is a layer connection point matrix, where each row includes M layer connection points and each column includes N layer connection points, for a total of M*N layer connection points.
[0127] The preset position mapping rule is x=3m, y=3n, where x is the horizontal coordinate, y is the vertical coordinate, m represents the mth point in the horizontal coordinate direction of the layer connection point matrix A, m∈[1,M], and n represents the nth point in the horizontal coordinate direction of the layer connection matrix A, n∈[1,N].
[0128] Each point in the layer connection point matrix A is transformed and calculated using x = 3m and y = 3n. For example, for the second point in the x-axis (i.e., horizontal direction) and the third point in the y-axis (i.e., vertical direction) in the layer connection point matrix A, m = 2 and n = 3. The horizontal coordinates x = 3*2 = 6 and y = 3*3 = 9, resulting in the coordinates of the first position corresponding to layer connection point a23 being (6, 9).
[0129] The above steps 410 to 430 use a preset position mapping rule to transform the layer connection point matrix, so as to quickly obtain the first position of each layer connection point to be set in the target layer on the layer.
[0130] In the embodiment of the present application, referring to FIG. 6 , step 310 includes step 610 and step 620 , and each step is described below.
[0131] Step 610: Divide the target layer into multiple grids.
[0132] Step 620: Select at least one grid that does not contain any components from the multiple grids, and determine a first position on the target layer where a layer connection point is to be set based on the center of any one of the at least one grids.
[0133] Step 610 and step 620 are described in detail below.
[0134] In step 610 , the target layer refers to the layout of the target substrate where the layer connection points are to be set. Components are already arranged on the target substrate. The positions and patterns of the target layer and the components arranged on the target layer can be obtained based on the layout.
[0135] A grid is a continuous and regularly arranged array of regular polygons. For example, a grid is a continuous and regularly arranged array of squares.
[0136] Dividing the target layer into multiple grids can be done by dividing the target layer into equal parts or unequal parts, and the embodiments of the present application do not limit this. When the target layer is divided into equal parts, it means that the graphics corresponding to the target layer are divided into multiple consecutive regular areas based on the preset grid shape. In one example, a grid mask with the same shape as the target layer can be preset, and the outer contour of the grid mask is the same as the outer contour shape of the target layer and has been divided into grids; by overlapping the grid mask with the graphics of the target layer, the graphics after the target layer is grid-divided can be directly obtained. In another example, the grid can also be directly divided based on the graphics of the target layer to obtain the graphics after the target layer is network-divided.
[0137] In step 620, the size and arrangement of the grids in the embodiment of the present application are set based on the layer connection points to be set. For example, based on Figure 5, after obtaining the coordinates of the M*N layer connection points in the layer connection point matrix A, the number of grids is also set to M*N. One grid corresponds to one layer connection point. After the target layer is meshed, the coordinates of the center point of each grid are the same as the coordinates of the corresponding layer connection point. Therefore, the positional relationship between the layer connection point and the outer contour of the component can be determined by the positional relationship between the center position of the grid and the outer contour of the component.
[0138] A grid that contains no components means that the grid does not overlap with the outer contour of the component or is located outside the first shape of the component. If a grid contains no components, it means that the corresponding layer connection point of the grid does not overlap with the component. Therefore, the center position of the grid that does not contain any components can be used as the first position for subsequent determination of whether a layer connection point can be set at the first position based on the first tree.
[0139] If a grid partially overlaps with the outer contour of a component or is located within the first shape of a component, it indicates that the layer connection point corresponding to the grid will interfere with the component or overlap with the component's location. Therefore, the center positions of these grids can be directly excluded without the need to perform the first tree-based judgment in steps 320 to 340.
[0140] Referring to FIG7 , the process of determining the first position is explained in conjunction with FIG7 . As shown in FIG7 , assume that three components are provided on the target layer (represented by components 7-1, 7-2, and 7-3 in FIG7 ). A grid mask having 16*8 identical grids is provided. The shape and size of the grid mask are the same as the outer contour of the target layer. After overlapping the grid mask with the target layer, the target layer is obtained after being divided into 16*8 grids, as shown in FIG7 . In Figure 7, eight grids overlap with the first graphic of component 7-1, so it can be determined that the center positions of these eight grids are not the first positions where layer connection points can be set; 24 grids overlap with the first graphic of component 7-2 or are located within the first graphic of component 7-2, so it can be determined that the center positions of these 24 grids are not the first positions where layer connection points can be set; 12 grids overlap with the first graphic of component 7-3, so it can be determined that the center positions of these 12 grids are not the first positions where layer connection points can be set; and the remaining grids that do not overlap with components 7-1, 7-2, and 7-3 can be determined as the first positions where layer connection points can be set. It can be seen that in this example, the pre-judgment based on the grid directly determines that 56 points cannot be used to set layer connection points, reducing the number of first positions that need to be judged later and improving the efficiency of setting layer connection points.
[0141] If the first position of each layer connection point of the target layer is set directly, each first position must be compared with the first tree to determine whether the layer connection point can be set. However, in steps 610 and 620, the target layer is pre-divided into multiple grids, each corresponding to a layer connection point, with the center of the grid corresponding to the first position. By quickly eliminating grids that overlap with components and using the center points of grids that do not overlap with components as the first position for subsequent comparison and determination, locations that are likely to interfere with components can be quickly eliminated, further reducing subsequent screening efforts.
[0142] In step 320, a first tree is obtained, the first tree including nodes of multiple levels, wherein each bottom-level node corresponds to a first graphic on the target layer containing a component, and each non-bottom-level node is connected to a first number of nodes on a lower level, and corresponds to a second graphic on the target layer containing first graphics corresponding to at least a first number of bottom-level nodes.
[0143] In the embodiment of the present application, referring to FIG. 8 , step 320 includes steps 810 to 830 , and each step is described below.
[0144] Step 810: For each component on the target layer, generate a first graph containing the component, determine the first graph as a leaf node, and obtain each leaf node of the target layer.
[0145] Step 820: Sort the leaf nodes to obtain a leaf node sequence.
[0146] Step 830: Generate a second graph based on the first number of leaf nodes taken out from the leaf node sequence, determine the second graph as a non-leaf node, obtain at least one non-leaf node of the target layer, and combine each leaf node and at least one non-leaf node to generate a first tree.
[0147] Steps 810 to 830 are described in detail below.
[0148] In step 810, components refer to all entities placed on the target layer, including qubit units and non-quantum auxiliary components such as capacitors and inductors. Each component has its own outer contour, and the first shape refers to the smallest polygon that covers the outer contour of the component.
[0149] The lowest level node refers to the leaf node of the first tree. Each leaf node corresponds to the first graphic of a component. When the system / program reads this leaf node, it can call the shape, coordinates and other information of the corresponding first graphic.
[0150] In step 820, sorting the bottom-level nodes refers to sorting the bottom-level nodes in sequence based on the correlation between the first graphs corresponding to the bottom-level nodes, such as the proximity of the first graphs. This sorting can shorten the distance between the selected bottom-level nodes, thereby improving the rationality of the higher-level nodes corresponding to the selected bottom-level nodes and reducing the scope of the second graphs corresponding to the higher-level nodes.
[0151] For example, as shown in Figure 9, if the lowest-level nodes are randomly selected without sorting to generate the next-level nodes, if the second graph generated by components 1 and 4 is selected, the second graph may even completely cover component 2 and partially cover component 3, thus increasing the number of first positions to be determined later. However, if components 1 and 3 are selected as a pair after sorting, as shown in Figure 9, the second graph p1 corresponding to components 1 and 3 will cover a smaller area than the second graph of components 1 and 4, thus reducing the number of first positions to be determined later.
[0152] In step 830, the first number can be determined by the type of the first tree. For example, when the first tree is a binary tree, the first number is fixed at 2. The first number can also be determined based on the degree of association between the first graphics. For example, if the first graphics of three components are very similar, then the second graphics of any two first graphics will contain the remaining first graphic. In this case, the lowest-level nodes corresponding to these three components can be grouped together and connected to a higher-level node. In this case, the first number corresponds to 3. It should be noted that the method for determining the first number can be set as needed, which will be explained in detail later.
[0153] Referring to Figure 9 , Figure 9 illustrates the process of determining the first tree. As shown in Figure 9 , assume that the target layer contains component 1, component 2, component 3, and component 4. Each component generates its own first graphic. In Figure 9 , each component generates a rectangular box as the first graphic (as shown by the thinnest dotted box around each component in Figure 9 ). Component 1, component 2, component 3, and component 4 correspond to the bottom-level node 1, bottom-level node 2, bottom-level node 3, and bottom-level node 4 of the first tree in Figure 9 , respectively. The bottom-level nodes are sorted, and the order after arrangement is bottom-level node 1, bottom-level node 3, bottom-level node 2, and bottom-level node 4.
[0154] In this example, the first tree is a binary tree, so the first number is set to 2. In the order of arrangement, the bottom-level nodes 1 and 3 are selected as a pair, connecting them to the upper-level node p1. Based on the first graphs of components 1 and 3, a second graph p1 is generated, as shown in Figure 9 as the dashed box containing components 1 and 3. Second graph p1 corresponds to node p1.
[0155] Select the lowest-level nodes 2 and 4 as a pair, connecting them to the upper-level node p2. Generate a second graph p2 based on the first graph of components 2 and 3, as shown in the dashed box containing components 2 and 4 in Figure 9. This second graph p2 corresponds to node p2.
[0156] Determine the next higher-level node based on nodes p1 and p2. Since there are only two nodes remaining in the level where nodes p1 and p2 reside, no sorting is required. Nodes p1 and p2 are directly selected as a pair to generate the next higher-level node. Because the generated next higher-level node has no nodes above it, this next higher-level node becomes the root node. As shown in Figure 9, nodes p1 and p2 are both connected to the root node.
[0157] At this point, the second graphs p1 and p2 corresponding to nodes p1 and p2 can be treated as the first graph, generating a larger root second graph that includes the second graphs p1 and p2. The root second graph corresponds to the root node. As shown in Figure 9, the root second graph, as the largest second graph, includes the first graphs of components 1, 2, 3, and 4.
[0158] The first tree finally generated has three layers, the top layer is the root node, the middle layer is node p1 and node p2, and the bottom layer is node 1, node 3, node 2, and node 4.
[0159] In the above steps 810 to 830, each level of the first tree corresponds to a graph of a different size range. For example, the root node corresponds to the root second graph of the largest range, and the first position is compared with the root second graph. If the first position is not within the range of the root second graph, it means that the first position will not interfere with components 1, 2, 3, and 4 contained in the root second graph. If the first position is in the root second graph, it is then compared with the second graph p1 and the second graph p2 of the next level of the root second graph. Through the setting of the first tree, each comparison can simultaneously confirm whether multiple components will be interfered with, which improves the comparison efficiency of the first position and no longer needs to be compared with a single component, thereby improving the setting efficiency of the layer connection point.
[0160] The specific implementation process of steps 810 to 830 is described in detail below.
[0161] In step 810 , for each component on the target layer, a first graph including the component is generated to correspond to a bottom-level node of the first tree.
[0162] In an embodiment of the present application, generating a first graphic including a component includes: generating a minimum polygon (such as a minimum rectangle) including an edge of the component as the first graphic;
[0163] Based on the first number of leaf nodes taken out from the leaf node sequence, a second graphic is generated, including: based on the first number of leaf nodes taken out from the leaf node sequence, a minimum polygon containing the first number of leaf nodes is generated, and the minimum polygon containing the first number of leaf nodes (such as the minimum rectangle) is used as the second graphic.
[0164] The minimum polygon refers to the minimum circumscribed polygon of the component's outer contour, wherein each vertex of the first figure of the component's outer contour is located on an edge of the minimum polygon, and the first figure of the component's outer contour is completely covered by the minimum rectangle.
[0165] Referring to Figure 10, the generation of the first graphic is explained in conjunction with Figure 10. As shown in Figure 10, assume that there are components 1, 2, and 3. For each component, a minimum rectangular box is generated as the first graphic. The dashed boxes outside components 1, 2, and 3 in Figure 10 are the first graphics corresponding to each component.
[0166] If the first graphic is a randomly generated graphic that includes the edge of a component, the coverage of the first graphic will be increased. In this case, the first position that does not affect the component may also be covered within the scope of the first graphic. In this way, when selecting the first position, the first position that does not need to be compared will also be included in the selection. By using the minimum rectangle as the first graphic, the embodiment of the present application can improve the fit with the shape of the component edge and minimize the gap between the rectangle and the component. In this way, when screening the first position based on the first graphic, the accuracy of the first position selection can be improved, the number of first positions to be compared can be reduced, and the setting efficiency can be improved.
[0167] In the embodiment of the present application, the first figure can also be a minimum circle that includes the edge of the component. When the shape of the edge of the component is relatively complex, the circle can better include the edge of the component and reduce the gap between the edge and the component.
[0168] In the embodiment of the present application, referring to FIG. 11 , step 820 includes step 1110 and step 1120 , and each step is described below.
[0169] Step 1110: Select an anchor leaf node from each leaf node.
[0170] Step 1120: For the leaf nodes other than the anchor leaf node, arrange the leaf nodes behind the anchor leaf node from small to large based on the distance between the leaf nodes and the anchor leaf node to obtain a leaf node sequence.
[0171] Step 1110 and step 1120 are described in detail below.
[0172] In step 1110, the anchor leaf node is the leaf node used as the benchmark for subsequent distance comparisons. Anchor leaf nodes can be randomly selected or selected from leaf nodes near corners. Selecting a leaf node near a corner as an anchor leaf node allows the distance between other leaf nodes and the anchor leaf node to provide some feedback on the arrangement of other leaf nodes in the target layer.
[0173] In step 1120, the distance between the anchor leaf node and the other leaf nodes refers to the minimum distance between the edge of the other leaf nodes and the edge of the anchor leaf node. After determining the anchor leaf node, the anchor leaf node is set as the first leaf node, the leaf node with the smallest distance from the anchor leaf node is set as the second leaf node, the leaf node with the second smallest distance from the anchor leaf node is set as the third leaf node, and so on, ultimately obtaining a leaf node order, thus obtaining a leaf node sequence. Here, since the leaf node is the first graph, the distance between the leaf nodes described is the distance between the first graph.
[0174] With reference to Figure 12, the process of sorting the nodes of the lowest level is explained in conjunction with Figure 12. For intuitive explanation, in this example, the edge shape of the component is taken as the first graphic of each. As shown in Figure 12, assume that there are components 1, 2, 3, and 4. Component 1 is selected as the anchor point, that is, the first graphic of component 1 is taken as the anchor leaf node. At this time, the distance between component 3 and the anchor leaf node is S1, the distance between component 2 and the anchor leaf node is S2, and the distance between component 4 and the anchor leaf node is S3. As shown in the figure, distance S1 is smaller than distance S2, which is smaller than distance S3. Sorting according to the distance gradually increasing from left to right, it can be obtained that the sorting of each component based on the first graphic is: component 1, component 3, component 2, component 4. Finally, according to the correspondence between the lowest level nodes and the components, it can be determined that the lowest level nodes are sorted as leaf node 1, leaf node 3, leaf node 2, and leaf node 4.
[0175] In the process of constructing the first tree, according to the sorted lowest level nodes, the first number of lowest level nodes are selected in turn as a group, and the same upper level node is connected together to generate a second graph containing the first graph of all the lowest level nodes. Therefore, the distance between the first graphs in the same group will have an impact on the size of the second graph. If the distance between the first graphs is greater, the corresponding second graph will be larger, and more irrelevant first positions will be covered when compared with the first position. The above steps 1110 and 1120 select an anchor leaf node and sort the other leaf nodes from small to large according to the distance between the anchor leaf node. In this way, when dividing the first number of lowest level nodes, the irrelevant first positions can be minimized, the efficiency of the first path search can be improved, and the accuracy of the first path can be improved; and when comparing the first position with the components, the efficiency of the layer connection point setting can be improved.
[0176] In the embodiment of the present application, referring to FIG. 13 , step 820 includes step 1110 , step 1310 , and step 1320 , and each step is described below.
[0177] Step 1310: Among the leaf nodes other than the anchor leaf node, arrange the leaf nodes with the smallest distance to the anchor leaf node behind the anchor leaf node.
[0178] Step 1320: Use other leaf nodes with the smallest distance to the anchor leaf node to update the anchor leaf node, return to the step of arranging other leaf nodes with the smallest distance to the anchor leaf node behind the anchor leaf node among other leaf nodes other than the anchor leaf node, until there are no other leaf nodes, and obtain a leaf node sequence.
[0179] Step 1310 and step 1320 are described in detail below.
[0180] In step 1310, an anchor leaf node is randomly selected from the multiple lowest-level nodes. The anchor leaf node serves as a reference for finding the leaf node with the shortest distance to it. Since the anchor leaf node is updated in the embodiment of the present application, the distance comparison between multiple leaf nodes is a single one. Therefore, the anchor leaf node can be directly randomly selected from the leaf nodes.
[0181] In step 1320, the anchor leaf node is used as the first leaf node. After finding the leaf node closest to it, the leaf node is arranged behind the anchor leaf node to form a temporary intermediate arrangement result. The anchor leaf node previously selected is removed from the leaf nodes. The other leaf nodes previously selected that are closest to the anchor leaf node, that is, the last leaf node in the intermediate arrangement result, are used as new anchor leaf nodes. Among the remaining other leaf nodes, the leaf node closest to the new anchor leaf node is selected and arranged behind the new anchor leaf node to form a new intermediate arrangement result. At this time, the leaf node that has been matched to the closest distance to the new anchor leaf node is removed from the leaf nodes, and the last leaf node in the new intermediate arrangement result is used as the updated anchor leaf node. This loop is executed until all leaf nodes are sorted to obtain a final leaf node sequence. In this way, the leaf node sequence formed, according to the order of its arrangement, the distance between every two adjacent leaf nodes is the shortest.
[0182] With reference to Figure 14, the process of determining the order of the nodes at the lowest level is explained in conjunction with Figure 14. For intuitive explanation, in this example, the edge shape of the component is taken as the first graphic of each. As shown in Figure 14, assume that there are components 1, 2, 3, and 4. First, the first graphic of component 1 is selected as the anchor leaf node. At this time, the distance between component 1 and component 3 is S1, the distance between component 1 and component 2 is S2, and the distance between component 1 and component 4 is S3. Among them, the distance S1 is the smallest, so the first graphic that matches the anchor leaf node is the first graphic of component 3. The first graphic of component 3 is arranged behind the first graphic of component 1 to form the intermediate component arrangement result: component 1, component 3.
[0183] Since the first graphic of component 1 has been matched to the first graphic closest to it, the first graphic of component 1 is removed and does not participate in the subsequent selection.
[0184] Next, let's use the first graphic of component 3 as the anchor leaf node. At this point, the distance between component 3 and component 4 is S4, and the distance between component 3 and component 2 is S5. S4 is the smallest, so the first graphic of component 4 matches the current anchor leaf node (the first graphic of component 3). Component 4's first graphic is placed after the first graphic of component 3, forming the resulting intermediate component arrangement: component 1, component 3, component 4.
[0185] Similarly, remove the first graphic of component 3. Set the first graphic of component 4 as the current anchor first graphic. Since only component 2 remains, the first graphic of component 2 matches the current anchor first graphic (the first graphic of component 4). Sort the first graphic of component 2 after the first graphic of component 4, forming the component order: component 1, component 3, component 4, component 2.
[0186] Finally, according to the correspondence between the nodes at the lowest level and the components, it can be determined that the nodes at the lowest level are sorted as leaf node 1, leaf node 3, leaf node 4, and leaf node 2.
[0187] When the anchor leaf node is fixed, other leaf nodes are sorted according to their distance from the fixed anchor leaf node.
[0188] In steps 1110, 1310, and 1320, each time a first graph closest to an anchor leaf node is found, this first graph is used as a new anchor leaf node, and the original anchor leaf node is no longer involved in the matching process. The first graph closest to the anchor leaf node is continuously used as a new anchor leaf node. This ensures that the distance between each adjacent first graph in the sorting process is minimized.
[0189] In the embodiment of the present application, referring to FIG. 15 , step 820 includes steps 1510 to 1540 , and each step is described below.
[0190] Step 1510: Determine the first graphic center of each leaf node.
[0191] Step 1520: Generate multiple candidate broken line segments connecting the centers of the first graphics.
[0192] Step 1530: Determine the target candidate polyline segment with the shortest length among the multiple candidate polyline segments.
[0193] Step 1540: Sort the leaf nodes into a leaf node sequence based on the order in which the target candidate polyline segments pass through the center of the first graphic.
[0194] Steps 1510 to 1540 are described in detail below.
[0195] In step 1510, the center of the first figure refers to the center position of the first figure. If the distance between two first figures is determined by their edges, many different possibilities will be generated due to the different shapes of the first figures. This will lead to multiple possibilities when subsequently determining candidate polyline segments, and may cause conflicts. Therefore, the center of the first figure is used for the calibration of the first figures, so that each polyline segment between two first figures is unique.
[0196] In step 1520, a candidate polyline segment is a polyline segment formed by connecting the centers of the first shapes. Since different polyline segments are generated by selecting different first shape centers as the starting point and different next first shape centers as the next connection point, multiple candidate polyline segments are generated.
[0197] Assume there are L first-shaped centers, there are L choices for the starting point of the candidate polyline segment, and L-1 choices for the second point. Therefore, there will be L! / 2 candidate polyline segments connecting all L first-shaped centers.
[0198] In step 1530, the target candidate polyline segment is the polyline segment with the shortest total length selected from the L! / 2 candidate polyline segments. Since the length between each polyline segment represents the distance between the centers of two first figures, the total length of the polyline segments represents the distance between two adjacent first figures in the order in which the polylines are connected. In other words, the shorter the polyline segment, the shorter the distance between two adjacent first figures.
[0199] In step 1540, any end of the target candidate polyline segment is selected as the starting point. The order of the polyline connection points can be used as the order of the first figure, that is, the order of passing through the center of the first figure. Based on the correspondence between the lowest level nodes and the first figure, the lowest level nodes are sorted according to the order of the first figure.
[0200] Referring to Figure 16, the process of determining the lowest-level node order is explained. For intuitive explanation, in this example, the edge shapes of the components are used as their respective first shapes. As shown in Figure 16, assume there are components 1, 2, and 4. Determine the center point of each component's first shape to obtain the center of each component's first shape.
[0201] First, component 1 is selected as the starting point, and the centers of the first graphics are connected to obtain candidate broken line segments 1→2→4 and candidate broken line segments 1→4→2 as shown in FIG16 .
[0202] Then, by selecting component 2 as the starting point and connecting the centers of the first shapes, we can obtain the polyline segments 2→1→4 and 2→4→1. Since the polyline segments 2→4→1 and 1→4→2 are actually the same, a candidate polyline segment 2→1→4 is obtained using component 2 as the starting point.
[0203] Selecting component 4 as the starting point and connecting the centers of the first shapes, we obtain line segments 4→1→2 and 4→2→1. Since line segment 4→1→2 is identical to candidate line segment 2→1→4, and line segment 4→2→1 is identical to candidate line segment 1→2→4, three candidate line segments are ultimately determined: 1→2→4, 1→4→2, and 2→1→4.
[0204] As shown in Figure 16, of the three candidate polyline segments, polyline segment 1→2→4 is the shortest. Therefore, polyline segment 1→2→4 is selected as the target polyline segment. As can be seen from Figure 16, the order of the first graphics corresponding to this target polyline segment is: the first graphics corresponding to component 1, the first graphics corresponding to component 2, and the first graphics corresponding to component 4. Finally, based on the correspondence between the lowest-level nodes and the components, the order of the lowest-level nodes can be determined as leaf node 1, leaf node 2, and leaf node 4.
[0205] In steps 1510 to 1540, the lengths of the candidate polyline segments used to generate the candidate polyline segments can be used to map the overall distance between the sorted adjacent first graphics. The shortest candidate polyline segment is selected as the target polyline segment. This effectively compresses the distance between the centers of each two first graphics in the target polyline segment to be sufficiently close. This sorting helps minimize the distance between the two adjacent first graphics.
[0206] In step 830, according to the sorted leaf nodes, the first number of bottom-level nodes are taken out, and a second graph containing the first graph corresponding to the first number of bottom-level nodes is generated, so as to correspond to the upper-level nodes connected upward to the first number of bottom-level nodes, until the first tree is generated.
[0207] In the embodiment of the present application, referring to FIG. 17 , the first number is determined in the following manner.
[0208] Step 1710: Set a first number counter, where the initial value of the first number counter is 2.
[0209] Step 1720: According to the order of the lowest level nodes, take out the number of lowest level nodes in the first number counter, and generate a second graph of the first graph including the number of lowest level nodes in the first number counter.
[0210] Step 1730: According to the order of the nodes at the lowest level, take out the next lowest level node.
[0211] Step 1741: If the first graph corresponding to the next lowest-level node is not included in the second graph, read the first number from the first number counter.
[0212] Step 1742 : If the first graph corresponding to the next lowest-level node is included in the second graph, add 1 to the first number counter and return to step 1730 .
[0213] Steps 1710 to 1742 are described in detail below.
[0214] In step 1710 , the first number counter refers to a module for counting the first number of first graphics to be selected, which may be composed of a piece of program code.
[0215] In this embodiment of the present application, in order to simultaneously filter out multiple first graphics when comparing the first position with nodes at each level of the first tree using the first tree, the nodes above the lowest level node in the first tree must include at least two nodes at the lowest level. Therefore, the initial value of the first number counter is set to 2, so that the nodes in the upper level can contain at least two first graphics.
[0216] In step 1720, the value currently recorded in the first number counter is used as the first number. For example, if the value currently recorded in the first number counter is 2, then the first number refers to 2.
[0217] In step 1730, extracting the next lowest-level node means extracting the next lowest-level node corresponding to the last node in the extracted lowest-level node after extracting the lowest-level node according to the value in the first number counter. For example, there are currently four lowest-level nodes, in the order from left to right: node 1, node 3, node 2, and node 4. Assuming the value in the first number counter is 2, after extracting node 1 and node 3, the node next to node 3 (node 2) is extracted.
[0218] In step 1741, the second graph is generated based on the first graph corresponding to the lowest-level nodes in the first number counter. If the next lowest-level node is not included in the second graph, the second graph can only accommodate the first graphs corresponding to the first two lowest-level nodes. If the third first graph is included in the second graph, the second graph will be larger, affecting the rationality of the lowest-level node grouping.
[0219] In step 1742, the second graph refers to the first graph corresponding to the lowest level node based on the value in the first number counter taken out in step 1720 when step 1742 is executed for the first time. If the first graph corresponding to the next lowest level node is included in the second graph, it means that the second graph at this time can also accommodate the third first graph, so the first number counter is added by one. At this time, the value of the first number counter is 3, indicating that the current first to third first graphs should be regarded as a group. At this time, a new second graph (containing three first graphs) is generated, and it is judged based on the new second graph that the fourth first graph can be included. If so, the first number counter is continued to be added by one, and a new second graph (containing four first graphs) is generated again. Repeat the above operation until the second graph can no longer contain the next first graph, and the value of the first number counter at this time is used as the first number to divide the first number of consecutive lowest level nodes into a group.
[0220] With reference to Figure 18, the process of determining the first number is explained in conjunction with Figure 18. Figure 18 shows two examples. In the example in the upper part of Figure 18, the lowest level nodes are sorted as: node 1, node 3, node 2, node 4. The value of the first number counter is the initial value 2. Select nodes 1 and 3 in order, node 1 corresponds to the first graph of component 1, and node 3 corresponds to the first graph of component 3 (for a clearer display, the dotted box representing the first graph is hidden here). Generate a second graph containing the first graphs of components 1 and 3 (as shown in the dotted box in Figure 18). The next node of node 3 is node 2, and node 2 corresponds to the first graph of component 2 in the figure. It can be seen that component 2 is not included in the second graph. Therefore, the initial value 2 is read from the first number counter as the first number.
[0221] In the example of the line and surface part of Figure 18, the order of the nodes at the lowest level is: node 1, node 3, node 2, node 4. The value of the first number counter is the initial value 2. Select nodes 1 and node 3 in order, node 1 corresponds to the first graph of component 1, and node 3 corresponds to the first graph of component 3. Generate a second graph containing the first graphs of component 1 and component 3 (as shown in the dotted box in Figure 18). At this time, the next node after node 3 is node 2, and node 2 corresponds to the first graph of component 2 in the figure. It can be seen that component 2 is included in the second graph at this time. Therefore, node 1, node 3, and node 2 are grouped together to generate the second graph. Add 1 to the first number counter, and the value of the first number counter is 3 at this time. Therefore, the value 3 is read from the first number counter as the first number.
[0222] If a fixed value is directly set when determining the first number, such as the value 2. In the case where the second graph generated based on the first second graph and the second first graph can contain the third first graph, it is still grouped according to the fixed value 2 as the first number, then the second graph generated by the third first graph and the fourth first graph will overlap with the second graph generated by the first first graph and the second first graph. In this way, if there is a first position in the overlapping part of the two second graphs in the future, two first paths will be hit at the same time, increasing the number of judgments. Therefore, the above steps 1710 to 1742 judge whether the adjacent next lowest level node can also be included in the second graph. If it can be included, the lowest level node needs to be included together and grouped with the previously selected lowest level node. In this way, the accuracy and rationality of the determined first number can be improved, and the overlapping second graphs can be reduced. The situation where a first position hits multiple different first paths when searching for the first path is reduced, and the ineffective comparison process is reduced, thereby improving the overall setting efficiency.
[0223] In an embodiment of the present application, steps 1710 to 1730 are executed to accommodate the first graphic corresponding to the next lowest-level node in the second graphic. The size change between the second graphic after accommodating the first graphic corresponding to the next lowest-level node and the previous second graphic is determined. If the size change is within a preset range, the first graphic is accommodated in the second graphic, the first number counter is incremented by one, and the second graphic is updated. Based on the updated second graphic, the next lowest-level node is selected, and the above steps are repeated until the change in the second graphic exceeds the preset range. The value of the first number counter at this time is used as the first number.
[0224] For example, the preset range of size change can be that the area of the second graphic changes within 5%, or that the length and width of the second graphic change within 5%. In this embodiment of the present application, based on the size change range of the second graphic, it is determined whether to include the next lowest level node in the group to obtain the first number, which can reduce the number of overlapping second graphics.
[0225] In one example, each time the size variation range of the second graphic is determined, the determination is made based on the initial shape and size of the second graphic. This effectively controls the final value of the first number and avoids grouping too many bottom-level nodes into one group, which would result in an overly large second graphic.
[0226] In another example, each time the size variation range of the second graphic is determined, the determination can be made based on the shape and size of the previous second graphic, which can further reduce the number of overlapping second graphics.
[0227] In an embodiment of the present application, referring to FIG19 , step 830 generates a second graph including a first graph corresponding to a first number of bottom-level nodes, including steps 1910 and 1920 , and each step is described below.
[0228] Step 1910: Determine a first number of sides based on the first number.
[0229] Step 1920: Use the smallest regular polygon containing the first number of leaf nodes and having the first number of sides as the second figure.
[0230] Step 1910 and step 1920 are described in detail below.
[0231] In step 1910, the first number refers to the number of bottom-level nodes that are grouped together. The second graph includes the first graph of all bottom-level nodes of the corresponding group. Therefore, the first number of edges of the second graph is determined based on the first number.
[0232] In one example, a number-edge-number mapping table may be provided. After obtaining the first number, the first edge number corresponding to the first number is obtained by querying the number-edge-number mapping table.
[0233] In another example, a conversion relationship formula can be set, such as B = D + 1, where B is the first number of sides and D is the first number. After obtaining the first number, the first number is substituted into the conversion relationship formula to calculate the first number of sides. For example, when the first number is 2, the first number of sides B = 2 + 1 = 3.
[0234] In step 1920, the minimum regular polygon refers to a special shape among polygons, such as an isosceles right triangle or a regular triangle among triangles, a square among quadrilaterals, a regular pentagon among pentagons, and the like.
[0235] Referring to Figure 20, the generation of the second graph is explained in conjunction with Figure 20. As shown in Figure 20, assuming that the first number is 2, the order of the bottom-level nodes is Node 1, Node 3, Node 2, and Node 4. The first number of bottom-level nodes is selected in order, namely, Node 1 and Node 3 are selected as a group to generate the second graph. The second graph needs to include the first graph of Component 1 and the first graph of Component 3.
[0236] Assume that there is a conversion formula B = D + 1, where B is the first number of sides and D is the first value. Substituting the first value into the formula, the first number of sides is 3. As shown in Figure 20, an isosceles right triangle (the dotted triangle frame in Figure 20) is generated as the second shape that can contain components 1 and 3.
[0237] If the second figure is fixed as a rectangular frame, such as the rectangular dotted frame in Figure 20, it can be seen that the area of the rectangular dotted frame at this time is obviously larger than the area of the triangular dotted frame, and the gap between the rectangular dotted frame and components 1 and 3 is also obviously larger than the gap between the triangular dotted frame and components 1 and 3.
[0238] When forming the rectangle of the first figure, since the first figure contains a single component, wrapping it with a single rectangle is acceptable. However, the second figure includes multiple first figures of varying sizes. Using a single rectangle to wrap these first figures of varying sizes increases the gaps within the rectangle. Steps 1910 to 1920 above determine the number of first sides of the second figure using the first number. As the second figure contains more first figures, a more multi-sided polygon is used as the second figure to wrap these first figures, thereby reducing the gaps within the second figure.
[0239] In the embodiment of the present application, referring to FIG. 21 , step 330 includes:
[0240] Step 2110: Use the root node of the first tree as the base node.
[0241] Step 2120: Determine the target child node among the child nodes of the base node.
[0242] The target child node and the first position satisfy a first relationship.
[0243] Step 2130: Use the target child node to update the base node, and return to step 2120 until the target child node is a leaf node, and obtain the first path composed of the target child nodes at each level.
[0244] Steps 2110 to 2130 are described in detail below.
[0245] In step 2110 , the first tree refers to a tree generated with the first graphics of each component as a leaf node, and the second graphic corresponding to the root node is the largest second graphic, which includes the first graphics corresponding to all the nodes at the lowest level.
[0246] In step 2120, the next-level node of the base node is a child node connected to the base node with the base node as the parent node. The first relationship between the target child node and the first position means that there is an overlap between the first position and the first graph / second graph corresponding to the target child node.
[0247] In step 2130, the base node is updated with the target child node, that is, the current target child node is used as the parent node, and the search continues to the child nodes of the next lower level connected to the parent node, and a new target child node is determined therefrom. The search continues downward until a leaf node is searched, and the last target child node is selected from the leaf node connected to the previous target child node. The first path refers to the node path formed by determining a target child node at each level from the root node to the leaf node. If the target child node cannot be found at an intermediate level during the search process, or there is no leaf node that satisfies the first relationship, then this incomplete path cannot be used as the first path.
[0248] 9 , in the target layer diagram in FIG9 , a circle is used to represent the first position of the layer connection point. Starting from the root node, the first position is located in the root second graph of the root node (the largest dotted box in the diagram).
[0249] The root node is regarded as the base node, and the child nodes of the root node one level below are nodes p1 and p2. As can be seen from Figure 9, the first position is located in the second graph p1 and does not overlap with the second graph p2. Therefore, node p1 can be determined to be the target child node.
[0250] Node p1 is used as the new base node, and the child nodes of node p1 one level below are node 1 and node 3. As can be seen from the figure, the first position is located in the dotted box of component 3, and there is no overlap with the dotted box of component 1, so node 3 can be determined as the target child node. Since node 3 is already a leaf node and has no child nodes below it, it can be determined that a complete first path has been searched. The first path corresponding to this first position is root node-node p1-node 3 (as shown by the dotted arrow in Figure 9).
[0251] For the target layer shown in Figure 9, if the existing layer connection point setting method is used, the first position needs to be compared with components 1 to 4 to determine whether it will affect the components. In the above steps 2110 to 2130, the first path is searched through the first tree. During the process of determining the first path, when node p1 is determined to be the target child node, components 2 and 4 connected to node p2 can be directly excluded. After determining node p1 as the target child node, the first graph corresponding to nodes 1 and 3 is directly used to quickly determine that the component that may be affected by the first position is component 3. Finally, the first position is separately compared with the outer contour of component 3 to determine whether setting the layer connection point at the first position will affect component 3. It can be seen that the original need for separate comparisons with four components is reduced by searching the first path through the first tree and finally performing a separate comparison with component 3. This reduces the number of comparisons for the first position, thereby improving the efficiency of layer connection point setting.
[0252] In the embodiment of the present application, the first relationship includes: the first position is located in the target graph corresponding to the node. Referring to Figure 22, step 340 includes step 2210, which is described below.
[0253] Step 2210: When the second relationship indicates that the first position is outside the component corresponding to the leaf node on the first path and the distance from the component is greater than the first distance, the layer connection point is set to the first position.
[0254] Step 2210 is described in detail below.
[0255] In step 2210, the first distance is the minimum distance that does not overlap with or interfere with a component after the layer connection point is set at the first position. In the embodiment of the present application, the first distance can be the distance between the center point of the first position and the center point of the component, or the shortest distance between the edge of the first position and the edge of the outer contour of the component.
[0256] With reference to FIG23 , the process of setting the layer connection point based on the second relationship between the first path and the first position is described in detail in conjunction with FIG23 . Assume that the circle in FIG23 is the first position to be judged. First, the first position satisfies the first relationship with the root node, that is, the first position is located in the second graph corresponding to the root node. Continue to judge the nodes p1 and p2 connected downward from the root node, and determine that the first position is located in the second graph corresponding to node p1. Then judge the leaf nodes 1 and 3 connected downward from node p1, and determine that the first position is located in the first graph corresponding to leaf node 3.
[0257] Finally, a second relationship judgment is performed between the component 3 corresponding to the leaf node 3 at the first position. As shown in Figure 23, the first position is outside the component 3, and the distance from the component 3 is greater than the first distance, so the layer connection point is set at the first position.
[0258] In the embodiment of the present application, by setting a first relationship, it is determined whether the first position is within the first graph or the second graph corresponding to the node, thereby quickly searching the first path from the first tree and determining the component closest to the first position through the first path. Determining whether the first position is within the first graph or the second graph can be done through a simple coordinate comparison, which is simple and quick to calculate, thereby improving the efficiency of searching the first path.
[0259] In the embodiment of the present application, the first position is embodied as a region frame in the target layer that accommodates the layer connection point. Referring to Figure 24, the distance from the component is determined in the following manner.
[0260] Step 2410: Generate the shortest line segment from a point on the area box to a point on the edge of the component.
[0261] Step 2420: Determine the length of the shortest line segment as the distance to the component.
[0262] Step 2410 and step 2420 are described in detail below.
[0263] In step 2410, the area frame refers to the smallest border that accommodates the layer connection points, such as a rectangular frame. The shortest line segment refers to the straight line segment between the edge of the area frame and the closest point to the edge of the component.
[0264] In step 2420 , the distance from the component refers to the distance between the first position and the component.
[0265] With reference to FIG25 , the process of determining the distance from the component is described in detail in conjunction with FIG25 . As shown in FIG25 , the circle shown is the layer connection point, the dotted box outside the circle is the area box, and the triangle is the outer contour shape of the component. As shown in FIG25 , the area box is a square, and the point on the edge of the area box closest to the outer contour of the device is the vertex located at the lower left of the area box. Since the vertex faces one of the edges of the outer contour of the component, the minimum distance between the vertex and the outer contour of the component should be the perpendicular line segment between the vertex and this edge. The length of this perpendicular line segment is determined as the distance between the first position and the component.
[0266] If the distance between the center of the layer connection point and the center of the component is used as the distance between the first position and the component, since different components may have different shapes and sizes, the first distance used to determine whether the layer connection point interferes with the component will also change continuously, thereby affecting the accuracy of the judgment and requiring repeated confirmation of different first distances. The above steps 2410 and 2420 use the area box to take the shortest line segment from the point on the area box to the point on the edge of the component as the distance between the first position and the component. Regardless of how the shape of the component changes, the distance at which the layer connection point is close to the edge of the component to a certain extent and will interfere with the component is fixed. Therefore, when the shortest line segment from the point on the area box to the point on the edge of the component is used for judgment, a fixed first distance can be determined without repeatedly determining the first distance.
[0267] In the embodiment of the present application, referring to FIG. 26 , the first distance is determined in the following manner.
[0268] Step 2610: Obtain the coverage area of the component on the target layer.
[0269] Step 2620: Obtain the failure rate of components.
[0270] Step 2630: Determine a first distance based on the coverage area and the failure rate.
[0271] Steps 2610 to 2630 are described in detail below.
[0272] In step 2610 , the coverage area of the component on the target layer refers to the area of the figure formed by the outer contour of the component when viewed from a top-down angle.
[0273] In step 2620 , the failure rate of a component is the ratio of the number of components that cannot work normally to the total number of components in the same working state.
[0274] In step 2630, determining the first distance based on the coverage area and the failure rate means taking the coverage area and the failure rate as input parameters and obtaining the first distance through a preset algorithm; wherein the preset algorithm can be an artificial neural network model learned by artificial intelligence for determining the first distance based on the coverage area and the failure rate, or it can be an expression positively correlated with the coverage area and the failure rate, etc., and the embodiments of the present application are not limited to this.
[0275] In the embodiment of the present application, the first distance can be obtained through the following steps.
[0276] A first score is obtained based on the coverage area. The larger the coverage area, the higher the first score. For example, an area score mapping table can be pre-constructed. In the area score mapping table, there are multiple area ranges, and each area range corresponds to a score; based on the coverage area, the area score mapping table is queried for the area range to which it belongs, thereby obtaining the corresponding first score. For example, a linear function of direct proportion can also be constructed, such as y1=ax1+b, where y1 is the first score, x1 is the coverage area, and a and b are coefficients set based on experience. The coverage area is input into the linear function, and the corresponding first score is obtained by calculation.
[0277] A second score is obtained based on the failure rate. The higher the failure rate, the larger the second score. For example, a relationship mapping table between failure rates and second scores can be constructed, and the second score corresponding to the failure rate of the target component can be obtained by querying the relationship mapping table. Alternatively, a conversion equation between the failure rate and the second score can be automatically learned from historical statistical data on failure rates and second scores. The second score is calculated by inputting the failure rate of the target component into the conversion equation.
[0278] The first distance is obtained based on the first score and the second score; wherein the first score and the second score are both proportional to the first distance. For example, the first distance can be obtained based on the sum of the first score and the second score by summing the first score and the second score. Alternatively, the first score and the second score are averaged to obtain an average score; and the first distance is determined based on the average score. In other examples, since components with higher failure rates are more susceptible to interference, it is necessary to increase the distance from the layer connection when setting a layer connection point near the component. Therefore, compared with the first score, the second score can be given a greater weight, and a weighted average value can be obtained by taking a weighted average of the first score and the second score. The first distance is then determined by the weighted average value.
[0279] Because different devices are susceptible to interference to varying degrees, a statistically determined first distance may not cover all components. Steps 2610 to 2630 determine the first distance based on the component failure rate and coverage area. Setting different first distances for different components increases flexibility and reduces errors in determining whether interference will occur.
[0280] In the embodiment of the present application, the first path is a plurality of first sub-paths. Step 2210 includes: when the second relationship indicates that the first position is outside the component corresponding to the leaf node on each first sub-path and the distance from each component is greater than the first distance, setting the layer connection point to the first position.
[0281] Referring to Figure 27 , the process of determining the first position when multiple first sub-paths exist is described in detail. As shown in Figure 27 , the circle represents the first position, and two first paths are found in the first tree. One of the first paths is from the root node to node p1 to node 3, and the other is from the root node to node p2 to node 4.
[0282] Through the two first paths, it can be determined that the first position overlaps with the first graphic of component 3 (the dotted frame containing component 3 in the figure) and the first graphic of component 4 (the dotted frame containing component 4 in the figure).
[0283] The first position is compared with component 3 and component 4. If the first position is outside component 3 and component 4 and the distance between the first position and component 3 and component 4 is greater than the first distance, the layer connection point can be set at the first position.
[0284] In the embodiment of the present application, by determining the first path based on the first tree, all components that may conflict with the first position can be quickly determined. The first position only needs to be compared with the components corresponding to these first paths to determine whether there is a conflict. This can reduce the number of comparisons between the first position and the first graph of the component, thereby improving the efficiency of setting layer connection points.
[0285] In the embodiment of the present application, when the first path is a plurality of first sub-paths, referring to FIG28 , step 340 includes step 2810 and step 2820 , and each step is described below.
[0286] Step 2810 , perform the following processing for each first sub-path: determine the distance between the component corresponding to the leaf node on the first sub-path and the first position; and select a target first sub-path with the shortest distance between the component and the first position from multiple first sub-paths.
[0287] Step 2820: Based on the second relationship between the leaf node and the first position on the target first subpath, set the layer connection point to the first position.
[0288] Step 2810 and step 2820 are described in detail below.
[0289] In step 2810 , the target first sub-path refers to the first sub-path among the multiple first sub-paths, in which the distance between the component corresponding to the leaf node and the first position is the shortest.
[0290] In step 2820, since the components of the target first sub-path are the shortest distance from the first position, the components of the target first sub-path are most likely to be interfered with by the layer connection point set at the first position. Therefore, if the first position and the components of the target first sub-path satisfy the second relationship, then the first position and the components of other first sub-paths also satisfy the second relationship, and thus the layer connection point can be set at the first position. Satisfying the second relationship means that the first position is outside the component and is farther from the edge of the component than the distance that would interfere with the component.
[0291] Referring to FIG. 29 , the process of selecting a target first subpath and determining a first position based on the target first subpath is described in detail. As shown in FIG. 29 , the circle represents the first position. At this point, two first paths are determined in the first tree based on the first position. One first path is the root node, which leads to node p1, and then to node 3. The other first path is the root node, which leads to node p2, and then to node 4.
[0292] Determine the distances between the components at the first position corresponding to Node 3 and Node 4, respectively. As shown in Figure 29, the distance between the first position and the edge of Component 3 is S1, and the distance between the first position and the edge of Component 4 is S2. Because distance S1 is less than distance S2, "root node - node p1 - node 3" is determined as the target first subpath.
[0293] In the case of multiple first sub-paths, it is necessary to determine whether the second relationship is satisfied between the first position and the components corresponding to each first sub-path. Multiple repeated comparisons are required. The above steps 2810 and 2820 first determine the target first sub-path with the component closest to the first position from multiple first paths. Use the component corresponding to the lowest level node of the target first sub-path to determine whether the second relationship is satisfied with the first position. If the component with the closest distance can satisfy the second relationship with the first position, then the other components can also satisfy the second relationship with the first position. In this way, there is no need to make a judgment between the first position and the components corresponding to each first path, which saves the judgment process, can quickly determine whether the first position can be set with a layer connection point, and improve the efficiency of setting the layer connection point.
[0294] In the embodiment of the present application, the first relationship means that the first position is located within the target graph corresponding to the node, or is located outside the target graph corresponding to the node but the distance from the target graph is less than the second distance. Referring to Figure 30, step 340 includes step 3010, which is described below.
[0295] Step 3010: When the second relationship indicates that the first position is outside the component corresponding to the leaf node and the distance from the component is greater than a third distance, set the layer connection point to the first position, wherein the third distance is greater than the second distance.
[0296] Step 3010 is described in detail below.
[0297] In step 3010, the second distance is the minimum distance between the first position and the edge of the target pattern that does not interfere with the component. The third distance is the limit distance between the first position and the component corresponding to the leaf node in the first path. Since the second distance is the distance between the first position and the edge of the target pattern, and the third distance is the distance between the first position and the edge of the component, and the component is inside the target pattern, the third distance should be set larger than the second distance.
[0298] In some cases, such as when the edge of a target pattern overlaps with the edge of a component it contains, a layer connection point may not be located within the target pattern. However, if the layer connection point is located on the side of the overlapped edge of the target pattern and the distance between the first position and the edge is small enough, it may still interfere with the component. Therefore, if the distance between the first position and the edge of the target pattern is less than the second distance, the target pattern should also be included in the screening range.
[0299] With reference to FIG31 , the process of selecting the first path and determining the first position based on the first path is described in detail in conjunction with FIG31 . As shown in FIG31 , the circle in the figure represents the first position. In this example, there is overlap between the vertex on the right side of component 1, the right edge of the first figure of component 1, and the right edge of the second figure p1. The first position is also located exactly to the right of the first figure of component 1 and the second figure p1. Therefore, when searching for the first path based on the first tree, the first relationship is satisfied when the distance between the first position and the first figure or the second figure is less than the second distance.
[0300] As shown in FIG31 , since the right edge of the first figure of component 1 coincides with the right edge of the second figure p1 , the distances between the first position and both the first and second figures p1 of component 1 are S.
[0301] Since S is smaller than the second distance, even though the first position is not in any graph other than the root second graph corresponding to the root node, the first path can still be determined: root node-node p1-node 1.
[0302] After determining the first path, a first position is determined based on the first path and needs to be determined relative to component 1. If the distance between the first position and the outer edge of component 1 is greater than a third distance, the layer connection point is set at the first position. If the distance between the first position and the outer edge of component 1 is less than the third distance, the first position is skipped.
[0303] Because the first location of a layer connection point may not be within the target pattern, but the distance between the first location and the edge is sufficiently close, it may still interfere with components. Step 3010 above uses a first relationship less than the second distance to determine the first path. This allows a first location that is not within the target pattern but close enough to potentially interfere with components to also determine a first path, thereby determining whether the first location can indeed be used to set a layer connection point. This avoids missing first locations that may interfere with components and improves the accuracy of setting layer connection points.
[0304] 32 , the implementation details of the method for setting layer connection points in the multi-layer quantum chip according to an embodiment of the present application will be described in detail.
[0305] In step 3210, a target layer is input, wherein the target layer refers to the layout corresponding to the layer where the layer connection points are to be set, and the layout includes the target layer and the shape and position information of the components set on the target layer.
[0306] In step 3220, a graphic list including first graphics of each component of the target layer is obtained, wherein the first graphic is a minimum rectangle including the edges of the component.
[0307] In step 3230, the graph list is constructed into a first tree. The first tree includes multiple levels of nodes, wherein each bottom-level node corresponds to a first graph in the graph list, and each non-bottom-level node is connected to a first number of nodes in a lower level and corresponds to a second graph on the target level that includes the first graph corresponding to the first number of nodes.
[0308] The specific steps of constructing the first tree include step 3231 to step 3233.
[0309] In step 3231, each first graph in the graph list is used as a bottom-level node of the first tree.
[0310] In step 3232, the nodes in the lowest level are sorted. The steps include selecting an anchor first graphic from the first graphics corresponding to the multiple nodes in the lowest level, determining the first graphic with the smallest distance from the anchor first graphic among the first graphics other than the anchor first graphic, and arranging the first graphic with the smallest distance from the anchor first graphic behind the anchor first graphic, updating the anchor first graphic with the first graphic with the smallest distance from the anchor first graphic, and returning to the step of determining the first graphic with the smallest distance from the anchor first graphic among the first graphics other than the anchor first graphic, and arranging the first graphic with the smallest distance from the anchor first graphic behind the anchor first graphic, until no other first graphics are found, thereby forming a first graphic sorting, and determining the node sorting in the lowest level corresponding to the first graphic sorting.
[0311] In step 3233, according to the sorting result, the first number of bottom-level nodes are taken out, and a second graph is generated containing the first graph corresponding to the first number of bottom-level nodes, so as to correspond to the upper-level nodes connected upward to the first number of bottom-level nodes, until the first tree is generated.
[0312] In step 3240, it is determined whether to set the layer connection point in order of rows and columns, which includes steps 3241 to 3246.
[0313] In step 3241, the first position to be set for each layer connection point in the connection point matrix is determined according to the position mapping rule. The layer connection point matrix includes a plurality of layer connection points regularly arranged with equal spacing.
[0314] In step 3242, a region frame of a first position of the layer connection point is constructed, wherein the first position is embodied as a region frame in the target layer that accommodates the layer connection point.
[0315] In step 3243, the area box is judged to intersect with each node of the first tree to obtain a first path list. The area box is judged to intersect with the target graph corresponding to each node. For example, the area box is determined to intersect with the node by the existence of an intersection between the function corresponding to each side of the area box and the function corresponding to each side of the target graph corresponding to each node. For another example, when the edge coordinates of the area box are within the target graph corresponding to the node, it is determined that the area box intersects with the node. The nodes in each level of the first tree that intersect with the area box are used as target nodes, and at least one first path is obtained based on the target node, thereby obtaining a first path list.
[0316] In step 3244, a determination is made as to whether the minimum distance between the layer connection point and each component in the first path list is greater than a first distance. Each first path in the first path list corresponds to a component. A determination is made as to whether the minimum distance between the edge of the region frame of the layer connection point and the edge of each component is greater than the first distance. The first distance is the minimum distance that ensures that the layer connection point does not overlap with or interfere with the component after it is set.
[0317] If not, that is, less than the first distance, step 3245 is executed to skip the layer connection point without setting it.
[0318] If so, that is, it is greater than the first distance, step 3246 is executed to set the layer connection point at the first position.
[0319] Repeat steps 3242 to 3246 until all layer connection points are set.
[0320] In step 3250, local layer connection points are fine-tuned. In step 3240, the setting positions of all layer connection points are determined, and some layer connection points that may interfere with components are fine-tuned.
[0321] In step 3260, the target layer is output. Here, the target layer is the target layer layout after the layer connection points are set. The layout includes the target layer, the components set on the target layer, and the shape and position information of the layer connection points.
[0322] The benefits of steps 3210 to 3260 include but are not limited to using the first tree to search from top to bottom to find components that satisfy the first relationship with the first position for comparison, which reduces retrieval time, reduces the number of components to be compared, and improves the efficiency of setting layer connection points.
[0323] As shown in Figure 33, Figure 33 shows a schematic diagram of the effect of setting layer connection points based on the layer connection setting method of steps 3210 to 3260. In Figure 33, the squares represent layer connection points; the triangles, quadrilaterals, and rectangles represent three different components respectively; and the dotted rectangular box represents the first figure.
[0324] By comparing the time overhead of layer connection point setting of the embodiment of the present application with that of the prior art solution under the same experimental conditions (target layers of three target layer sizes), as shown in Figure 34, the layer connection point setting method proposed in the embodiment of the present application can reduce the time overhead of automatically laying layer connection points and improve the efficiency of layer connection point setting.
[0325] It should be noted that due to the different types and complexities of components in different layouts, the number of layer connection points is not strictly positively correlated with the time overhead.
[0326] The present invention provides a multilayer quantum chip. The multilayer quantum chip includes multiple layers, including a target layer. The target layer includes components and layer connection points. The layer connection points are used to connect the target layer to adjacent layers in the multiple layers. The layer connection points are set according to the layer connection point setting method for a multilayer quantum chip provided in the present invention.
[0327] It is to be understood that, although the various steps in the above-mentioned various flow charts are shown in sequence according to the characterization of the arrows, these steps are not necessarily performed in sequence according to the order represented by the arrows. Unless clearly stated in the embodiments of the present application, the execution of these steps is not strictly limited in order, and these steps can be performed in other orders. Moreover, at least a portion of the steps in the above-mentioned flow charts can include multiple steps or multiple stages, and these steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these steps or stages is not necessarily performed in sequence, but can be performed in turn or alternately with at least a portion of the steps or stages in other steps or other steps.
[0328] FIG35 is a schematic diagram of the structure of a layer connection point setting device 3500 provided in an embodiment of the present application. The layer connection point setting device 3500 includes:
[0329] A first position acquisition unit 3510 is configured to acquire a first position of a layer connection point to be set on a target layer, wherein the layer connection point is used to connect the target layer in the multi-layer quantum chip to an adjacent layer in the multi-layer quantum chip;
[0330] A first tree acquisition unit 3520 is configured to acquire a first tree, in which each leaf node corresponds to a first graphic of a component on the target layer, and each non-leaf node includes a first number of child nodes and corresponds to a second graphic of the first number of child nodes on the target layer;
[0331] a path determining unit 3530 configured to determine a first path from a root node downward on the first tree, wherein each node on the first path satisfies a first relationship with the first position;
[0332] The first setting unit 3540 is configured to set the layer connection point to the first position based on a second relationship between the leaf node on the first path and the first position.
[0333] In the embodiment of the present application, the first relationship means that the first position is located in the target graph corresponding to the node, and the target graph is the first graph or the second graph;
[0334] The first setting unit 3540 is further configured to set the layer connection point to the first position when the second relationship indicates that the first position is outside the component corresponding to the leaf node on the first path and the distance from the component is greater than a first distance.
[0335] In an embodiment of the present application, the first position is an area box in the target layer that accommodates the layer connection point; the layer connection point setting device 3500 also includes a distance acquisition unit (not shown in the figure), which is configured to generate the shortest line segment from a point on the area box to a point on the edge of the component; and the length of the shortest line segment is determined as the distance to the component.
[0336] In an embodiment of the present application, the layer connection point setting device 3500 also includes a first distance determination unit (not shown in the figure), which is configured to obtain the coverage area of the component on the target layer; obtain the failure rate of the component; and determine the first distance based on the coverage area and the failure rate.
[0337] In an embodiment of the present application, the first path is a plurality of first sub-paths; the first setting unit 3540 is further configured to set the layer connection point to the first position when the second relationship indicates that the first position is outside the component corresponding to the leaf node on each of the first sub-paths and the distance from each of the components is greater than the first distance.
[0338] In an embodiment of the present application, the first path is a plurality of first sub-paths; the first setting unit 3540 is further configured to perform the following processing for each of the first sub-paths: determining the distance between the component corresponding to the leaf node on the first sub-path and the first position; selecting the target first sub-path with the shortest distance between the component and the first position from the plurality of first sub-paths; and setting the layer connection point to the first position based on the second relationship between the leaf node on the target first sub-path and the first position.
[0339] In an embodiment of the present application, the first relationship refers to that the first position is located outside the target graphic corresponding to the node, but the distance from the target graphic is less than the second distance; the first setting unit 3540 is also configured to set the layer connection point to the first position when the second relationship indicates that the first position is located outside the component corresponding to the leaf node and the distance from the component is greater than the third distance, wherein the third distance is greater than the second distance.
[0340] In an embodiment of the present application, the first position acquisition unit 3510 is further configured to obtain the layer connection point matrix of the target layer; obtain the position mapping rule of the layer connection point matrix, and the position mapping rule is used to convert the coordinates of the layer connection point in the layer connection point matrix into coordinates on the target layer; based on the position mapping rule, determine the first position on the target layer to which the layer connection point in the layer connection point matrix is to be set.
[0341] In an embodiment of the present application, the first position acquisition unit 3510 is further configured to divide the target layer into multiple grids; select at least one grid that does not contain the components from the multiple grids; and determine the first position of the layer connection point to be set on the target layer based on the center of any one of the at least one grids.
[0342] In an embodiment of the present application, the first tree acquisition unit 3520 is further configured to generate the first graph containing each component on the target layer, determine the first graph as the leaf node, and obtain each leaf node of the target layer; sort each leaf node to obtain a leaf node sequence; generate the second graph based on the first number of leaf nodes taken out from the leaf node sequence, determine the second graph as the non-leaf node, and obtain at least one non-leaf node of the target layer; and generate the first tree by combining each leaf node and at least one non-leaf node.
[0343] In the embodiment of the present application, the layer connection point setting device 3500 further includes a first graphic generating unit (not shown in the figure), which is configured to use the minimum polygon containing the component as the first graphic.
[0344] In an embodiment of the present application, the layer connection point setting device 3500 also includes a second graphic generation unit (not shown in the figure), which is configured to generate a minimum polygon containing the first number of leaf nodes based on the first number of leaf nodes taken out from the leaf node sequence, and use the minimum polygon containing the first number of leaf nodes as the second graphic.
[0345] In an embodiment of the present application, the second graphic generation unit is further configured to determine the first number of sides based on the first number; and to use the smallest regular polygon containing the first number of leaf nodes and having the first number of sides as the second graphic.
[0346] In an embodiment of the present application, the layer connection point setting device 3500 includes a node sorting unit (not shown in the figure), which is configured to select an anchor leaf node from each of the leaf nodes; for other leaf nodes other than the anchor leaf node, based on the distance between the other leaf nodes and the anchor leaf node, the other leaf nodes are arranged from small to large behind the anchor leaf node to obtain the leaf node sequence.
[0347] In an embodiment of the present application, the node sorting unit is further configured to arrange the other leaf nodes with the smallest distance from the anchor leaf node behind the anchor leaf node among the other leaf nodes other than the anchor leaf node; update the anchor leaf node using the other leaf node with the smallest distance from the anchor leaf node, and return to the step of arranging the other leaf nodes with the smallest distance from the anchor leaf node behind the anchor leaf node among the other leaf nodes other than the anchor leaf node, until there are no other leaf nodes, and the leaf node sequence is obtained.
[0348] In an embodiment of the present application, the node sorting unit is further configured to determine the first graphic center of each of the leaf nodes; generate multiple candidate broken line segments connecting each of the first graphic centers; determine the target candidate broken line segment with the shortest length among the multiple candidate broken line segments; and sort each of the leaf nodes into the leaf node sequence based on the order in which the target candidate broken line segments pass through the first graphic center.
[0349] In an embodiment of the present application, the layer connection point setting device 3500 includes a first number determination unit (not shown in the figure), and the first number determination unit is configured to set a first number counter, and the initial value of the first number counter is 2; according to the sorting of the lowest-level nodes, the numerical value of the lowest-level nodes in the first number counter is taken out, and a second graph containing the first graph corresponding to the numerical value of the lowest-level nodes in the first number counter is generated; according to the sorting of the lowest-level nodes, the next lowest-level node is taken out; if the first graph corresponding to the next lowest-level node is not included in the second graph, the first number is read from the first number counter; if the first graph corresponding to the next lowest-level node is included in the second graph, the first number is added to the first number counter by 1, and the step of taking out the numerical value of the lowest-level nodes in the first number counter according to the sorting of the lowest-level nodes is returned.
[0350] In an embodiment of the present application, the first path determination unit 3530 is further configured to take the root node of the first tree as the base node; determine the target child node among the child nodes of the base node, and the target child node satisfies the first relationship with the first position; use the target child node to update the base node, and return to the step of determining the target child node among the child nodes of the base node until the target child node is the leaf node, thereby obtaining the first path composed of the target child nodes at each level.
[0351] It should be noted that the electronic device used to execute the layer connection point setting method of the embodiment of the present application can be a terminal, a server, or a combination of the two.
[0352] 36 , which is a block diagram of a portion of a terminal for implementing the layer connection point setting method according to an embodiment of the present application, includes components such as a radio frequency (RF) circuit 3610, a memory 3615, an input unit 3630, a display unit 3640, a sensor 3650, an audio circuit 3660, a wireless fidelity (Wi-Fi) module 3670, a processor 3680, and a power supply 3690. Those skilled in the art will appreciate that the structure shown in FIG36 does not limit the electronic device, and may include more or fewer components than shown, or combine certain components, or arrange the components differently.
[0353] The RF circuit 3610 may be used for receiving and sending signals during information transmission or calls. In particular, after receiving downlink information from the base station, it is sent to the processor 3680 for processing; in addition, the designed uplink data is sent to the base station.
[0354] The memory 3615 may be used to store software programs and modules. The processor 3680 executes various functional applications and data processing of the content terminal by running the software programs and modules stored in the memory 3615 .
[0355] The input unit 3630 may be configured to receive input digital or character information and generate key signal input related to the settings and function control of the content terminal. Specifically, the input unit 3630 may include a touch panel 3631 and other input devices 3632.
[0356] The display unit 3640 may be configured to display input information or provided information and various menus of the content terminal. The display unit 3640 may include a display panel 3641.
[0357] The audio circuit 3660 , the speaker 3661 , and the microphone 3662 may provide an audio interface.
[0358] In an embodiment of the present application, the processor 3680 included in the terminal can execute the layer connection point setting method of an embodiment of the present application.
[0359] The terminals of the embodiments of the present application include but are not limited to mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle terminals, aircraft, etc. The embodiments of the present application can be applied to various scenarios, including but not limited to content recommendation, data screening, etc.
[0360] FIG37 is a block diagram of a portion of a server 130 implementing the layer connection point configuration method according to an embodiment of the present application. Server 130 may vary significantly depending on configuration or performance, and may include one or more central processing units (CPUs) 3722 (e.g., one or more processors), memory 3732, and one or more storage media 3730 (e.g., one or more mass storage devices) storing application programs 3742 or data 3744. The memory 3732 and storage media 3730 may be either transient or persistent storage. The program stored in storage media 3730 may include one or more modules (not shown), each of which may include a series of instructions for operating on server 130. Furthermore, CPU 3722 may be configured to communicate with storage media 3730, executing the series of instructions stored in storage media 3730 on server 130.
[0361] The server 130 may also include one or more power supplies 3726, one or more wired or wireless network interfaces 3750, one or more input and output interfaces 3758, and / or one or more operating systems 3741 (e.g., Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.).
[0362] The central processing unit 3722 in the server 130 can be used to execute the layer connection point setting method of the embodiment of the present application.
[0363] An embodiment of the present application also provides a computer-readable storage medium, which is used to store a computer program. When the computer program is executed by a processor, it is used to execute the layer connection point setting method of the embodiment of the present application.
[0364] The present invention also provides a computer program product, which includes a computer program. A processor of an electronic device reads and executes the computer program, so that the electronic device executes the layer connection point setting method of the present invention.
[0365] It is understandable that in the embodiments of the present application, data related to quantum chips, etc., when the embodiments of the present application are applied to specific products or technologies, it is necessary to obtain the permission or consent of the information subject and carry out subsequent data use and processing within the scope of authorization of laws, regulations and personal information subjects. The collection, use and processing of relevant data need to comply with relevant laws, regulations and standards, and comply with the principles of legality, legitimacy and necessity. It does not involve obtaining data types prohibited or restricted by laws and regulations, and will not hinder the normal operation of the target website.
[0366] The terms "first," "second," "third," "fourth," and the like (if any) in the specification of the present application and the accompanying drawings are used to distinguish similar content and are not necessarily used to describe a specific order or sequential sequence. It should be understood that the numbers used in this manner are interchangeable where appropriate, so that the embodiments of the present application described herein can, for example, be implemented in an order other than those illustrated or described herein. In addition, the terms "comprise" and "comprising," and any variations thereof, are intended to cover non-exclusive inclusions, for example, a process, method, system, product, or apparatus comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or apparatus.
[0367] It should be understood that in this application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated content, indicating that there can be three relationships. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the previous and following associated content is an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0368] It should be understood that in the description of the embodiments of the present application, multiple (or multiple items) means more than two, greater than, less than, exceed, etc. are understood to exclude the number itself, and above, below, within, etc. are understood to include the number itself.
[0369] In the embodiments of the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.
[0370] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of the present application.
[0371] In addition, the functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated units may be implemented in the form of hardware or software functional units.
[0372] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling a computer device (which can be a personal computer, server 130, or network device, etc.) to execute all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0373] It should also be understood that the various implementation methods provided in the embodiments of the present application can be combined arbitrarily to achieve different technical effects.
[0374] The above is a specific description of the implementation methods of the present application, but the present application is not limited to the above implementation methods. Technical personnel familiar with the art can also make various equivalent modifications or substitutions without violating the spirit of the present application. These equivalent modifications or substitutions are all included in the scope defined by the claims of the present application.
Claims
1. A method for setting layer connection points in a multi-layer quantum chip, the method being performed by an electronic device, wherein the layer connection points are used to connect a target layer in the multi-layer quantum chip to an adjacent layer in the multi-layer quantum chip, the method comprising: Acquire a first position of the layer connection point to be set on the target layer; Obtain a first tree, in which each leaf node corresponds to a first graphic of a component on the target layer, and each non-leaf node includes a first number of child nodes and corresponds to a second graphic of the first number of child nodes on the target layer; On the first tree, determining a first path from a root node downward, wherein each node on the first path satisfies a first relationship with the first position; The layer connection point is set to the first position based on a second relationship between the leaf node on the first path and the first position.
2. The method according to claim 1, wherein The first relationship means that the first position is located in a target graph corresponding to the node, and the target graph is the first graph or the second graph; The step of setting the layer connection point to the first position based on the second relationship between the leaf node on the first path and the first position includes: When the second relationship indicates that the first position is outside the component corresponding to the leaf node on the first path and the distance from the component is greater than a first distance, the layer connection point is set to the first position.
3. The method according to claim 2, wherein: The first position is a region frame in the target layer that accommodates the layer connection point; The distance from the component is determined by: Generate the shortest line segment from a point on the area frame to a point on the edge of the component; The length of the shortest line segment is determined as the distance from the component.
4. The method according to claim 2 or 3, wherein: The first path is a plurality of first sub-paths; When the second relationship indicates that the first position is outside the component corresponding to the leaf node on the first path and the distance from the component is greater than a first distance, setting the layer connection point to the first position includes: When the second relationship indicates that the first position is outside the component corresponding to the leaf node on each of the first sub-paths and the distance from each of the components is greater than the first distance, the layer connection point is set to the first position.
5. The method according to claim 1, wherein The first path is a plurality of first sub-paths; The step of setting the layer connection point to the first position based on the second relationship between the leaf node on the first path and the first position includes: Perform the following processing for each of the first sub-paths: determine the distance between the component corresponding to the leaf node on the first sub-path and the first position; Selecting a target first sub-path having the shortest distance between the component and the first position from the plurality of first sub-paths; The layer connection point is set to the first position based on the second relationship between the leaf node and the first position on the target first sub-path.
6. The method according to claim 1, wherein The first relationship means that the first position is outside the target graph corresponding to the node, but the distance between the first position and the target graph is less than a second distance; The step of setting the layer connection point to the first position based on the second relationship between the leaf node on the first path and the first position includes: When the second relationship indicates that the first position is outside the component corresponding to the leaf node and the distance from the component is greater than a third distance, the layer connection point is set to the first position, wherein the third distance is greater than the second distance.
7. The method according to any one of claims 1 to 6, wherein: The obtaining of a first position of the layer connection point to be set on the target layer includes: Obtaining a layer connection point matrix of the target layer; Acquire a position mapping rule of the layer connection point matrix, where the position mapping rule is used to convert the coordinates of the layer connection points in the layer connection point matrix into coordinates on the target layer; Based on the position mapping rule, the first position on the target layer where the layer connection point in the layer connection point matrix is to be set is determined.
8. The method according to any one of claims 1 to 6, wherein: The obtaining of a first position of the layer connection point to be set on the target layer includes: Dividing the target layer into a plurality of grids; Selecting at least one grid that does not include the component from the plurality of grids; The first position where the layer connection point is to be set on the target layer is determined based on the center of any one of the at least one grids.
9. The method according to any one of claims 1 to 8, wherein: The obtaining of the first tree comprises: For each component on the target layer, generate the first graph including the component, determine the first graph as the leaf node, and obtain each leaf node of the target layer; Sort each of the leaf nodes to obtain a leaf node sequence; generating a second graph based on the first number of leaf nodes taken from the leaf node sequence, determining the second graph as the non-leaf node, and obtaining at least one non-leaf node of the target layer; The first tree is generated by combining each of the leaf nodes and at least one of the non-leaf nodes.
10. The method according to claim 9, wherein: The generating of the first graphic including the components includes: Taking the minimum polygon containing the component as the first graphic; Generating the second graph based on the first number of leaf nodes taken from the leaf node sequence includes: Based on the first number of leaf nodes taken out from the leaf node sequence, a minimum polygon containing the first number of leaf nodes is generated, and the minimum polygon containing the first number of leaf nodes is used as the second graphic.
11. The method according to claim 9 or 10, wherein: Generating the second graph based on the first number of leaf nodes taken from the leaf node sequence includes: determining a first number of sides based on the first number; The smallest regular polygon containing the first number of leaf nodes and having the first number of sides is used as the second graphic.
12. The method according to any one of claims 9 to 11, wherein: The step of sorting the leaf nodes to obtain a leaf node sequence includes: Selecting an anchor leaf node from each of the leaf nodes; For other leaf nodes other than the anchor leaf node, based on the distance between the other leaf nodes and the anchor leaf node, the other leaf nodes are arranged behind the anchor leaf node from small to large to obtain the leaf node sequence.
13. The method according to claim 12, wherein: After selecting the anchor leaf node from each of the leaf nodes, the method further includes: Among the leaf nodes other than the anchor leaf node, the leaf nodes with the smallest distance from the anchor leaf node are arranged behind the anchor leaf node; The anchor leaf node is updated by using the other leaf node with the smallest distance from the anchor leaf node, and the step of returning to the other leaf nodes other than the anchor leaf node and arranging the other leaf nodes with the smallest distance from the anchor leaf node behind the anchor leaf node is repeated until there are no other leaf nodes, thereby obtaining the leaf node sequence.
14. The method according to any one of claims 9 to 11, wherein: The step of sorting the leaf nodes to obtain a leaf node sequence includes: Determine a first graphic center of each of the leaf nodes; generating a plurality of candidate polyline segments connecting the centers of the first graphics; Determine a target candidate polyline segment with the shortest length among the plurality of candidate polyline segments; Based on the order in which the target candidate polyline segments pass through the center of the first graphic, the leaf nodes are sorted into the leaf node sequence.
15. The method according to any one of claims 1 to 14, wherein: Determining a first path downward from a root node on the first tree includes: Taking the root node of the first tree as a base node; Determine a target child node among the child nodes of the base node, wherein the target child node satisfies the first relationship with the first position; The target child node is used to update the base node, and the step of determining the target child node among the child nodes of the base node is returned until the target child node is the leaf node, thereby obtaining the first path composed of the target child nodes at each level.
16. A multi-layer quantum chip comprising multiple layers, wherein the multiple layers include a target layer, the target layer includes components and layer connection points, the layer connection points are used to connect the target layer to adjacent layers in the multiple layers, and the layer connection points are set according to the layer connection point setting method in a multi-layer quantum chip according to any one of claims 1 to 15.
17. A device for setting layer connection points in a multi-layer quantum chip, wherein the layer connection points are used to connect a target layer in the multi-layer quantum chip to an adjacent layer in the multi-layer quantum chip, the device comprising: a first position acquisition unit configured to acquire a first position of the layer connection point to be set on the target layer; a first tree acquisition unit configured to acquire a first tree, wherein each leaf node corresponds to a first graphic of a component on the target layer, and each non-leaf node includes a first number of child nodes and corresponds to a second graphic of the first number of child nodes on the target layer; a path determining unit configured to determine a first path from a root node downward on the first tree, wherein each node on the first path satisfies a first relationship with the first position; The first setting unit is configured to set the layer connection point to the first position based on a second relationship between the leaf node on the first path and the first position.
18. An electronic device for setting layer connection points in a multi-layer quantum chip, comprising a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, it implements the method for setting layer connection points in a multi-layer quantum chip as described in any one of claims 1 to 15.
19. A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the method for setting layer connection points in a multi-layer quantum chip according to any one of claims 1 to 15 is implemented.
20. A computer program product, comprising a computer program, wherein the computer program is read and executed by a processor of an electronic device, so that the electronic device executes the method for setting layer connection points in a multi-layer quantum chip according to any one of claims 1 to 15.
Citation Information
Patent Citations
Hybrid generation method with hierarchical structure layout and related equipment
CN115202661A
Method and system for constructing PAD graph, storage medium and electronic equipment
CN115392185A
Design method and device of layout structure, storage medium and electronic equipment
CN116050337A
Geometric parameter determination method and device of quantum chip, equipment and storage medium
CN117350391A
Spatial relationship management method of chip packaging structure, electronic equipment and storage medium
CN117494587A