Layout object wiring method and device, storage medium and program product

By obtaining the key points on the layout object, determine the direction of the connection and perform orthogonal calculations, realize the automatic wiring between the layout objects, solve the problem of low wiring efficiency in existing technology, and improve the design efficiency.

CN118734786BActive Publication Date: 2025-01-24SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411234513.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-04
Publication Date
2025-01-24
Estimated Expiration
2044-09-04

AI Technical Summary

Technical Problem

In the prior art, the wiring efficiency of layout objects is low, which leads to cumbersome operations and long time consuming when processing large-scale layout graphics.

Method used

By obtaining the key points on the layout object, the connection direction is determined based on the position difference between the key points, the orthogonal calculation is performed to obtain the connection coordinate set, and the key points are connected in turn to achieve automatic wiring.

Benefits of technology

The automatic wiring between the layout objects improves the wiring efficiency, reduces the operation time, and improves the design efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118734786B_ABST
    Figure CN118734786B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a layout object wiring method and device, storage medium and program product, which relate to the field of layout design, wherein the layout object wiring method includes: obtaining a first key point and a second key point on a first layout object, and obtaining a third key point and a fourth key point on a second layout object; determining a connection start direction according to a first position difference between the first key point and the second key point, and determining a connection end direction according to a second position difference between the third key point and the fourth key point; performing orthogonal calculation based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction and the connection end direction to obtain a connection coordinate set; connecting multiple key points in sequence to obtain a connection line connecting the first layout object to the second layout object; adopting the above scheme solves the problem of low wiring efficiency of layout objects in the related art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of layout design, and more specifically, to a layout object wiring method and device, a storage medium, and a program product. Background Art

[0002] With the development of quantum computing technology, traditional EDA (Electronic Design Automation) software can no longer support quantum chip design in a targeted manner and cannot quickly draw complex device structures. In order to solve the difficulties in complex quantum chip design, relevant research on quantum EDA tool technology is needed.

[0003] In the design of superconducting quantum chip layout, after drawing the layout graphics of circuit entities such as components and pads, wiring needs to be performed between the connection points of each layout graphic to represent the circuit connection relationship. The existing wiring method is to manually connect the connection points of two graphics to be wired. This method is very cumbersome and time-consuming when processing a large number of layout graphics, so the wiring efficiency is low.

[0004] Therefore, there is a technical problem in the prior art that the wiring efficiency of layout objects is low. Summary of the invention

[0005] The embodiments of the present application provide a layout object wiring method and device, a storage medium and a program product to at least solve the technical problem of low wiring efficiency of layout objects in the related art.

[0006] According to one embodiment of the present application, a method for routing layout objects is provided, comprising: in response to a routing request, obtaining a first key point and a second key point on a first layout object, and obtaining a third key point and a fourth key point on a second layout object, wherein the routing request is used to request a connection from the first layout object to the second layout object, the first key point and the second key point are connection start points, and the third key point and the fourth key point are connection end points; determining a connection start direction according to a first position difference between the first key point and the second key point, and determining a connection end direction according to a second position difference between the third key point and the fourth key point; performing orthogonal calculation based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction, and the connection end direction to obtain a connection coordinate set, wherein the connection coordinate set includes multiple key points; connecting the multiple key points in sequence to obtain a line connecting the first layout object to the second layout object.

[0007] According to another embodiment of the present application, a wiring device for a layout object is provided, comprising: an acquisition unit, configured to acquire a first key point and a second key point on a first layout object in response to a wiring request, and to acquire a third key point and a fourth key point on a second layout object, wherein the wiring request is used to request a connection from the first layout object to the second layout object, the first key point and the second key point being connection start points, and the third key point and the fourth key point being connection end points; a determination unit, configured to determine a connection start direction according to a first position difference between the first key point and the second key point, and to determine a connection end direction according to a second position difference between the third key point and the fourth key point; an orthogonal unit, configured to perform orthogonal calculation based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction, and the connection end direction to obtain a connection coordinate set, wherein the connection coordinate set includes a plurality of key points; and a connection unit, configured to connect the plurality of key points in sequence to obtain a connection line connecting the first layout object to the second layout object.

[0008] According to another embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0009] According to another embodiment of the present application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0010] According to another embodiment of the present application, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.

[0011] Through the embodiment provided by the present application, in response to a wiring request, two key points on the first layout object to be wired and two key points on the second layout object are obtained, and the connection start direction is determined based on the position difference between the two key points on the first layout object, and the connection end direction is determined based on the position difference between the two key points on the second layout object, and then based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction and the connection end direction, orthogonal calculation is performed to obtain multiple key points, and the multiple key points are connected in sequence to obtain a connection line connecting from the first layout object to the second layout object. In this process, on the one hand, the connection start and end directions can be automatically and quickly determined based on the position information between the key points, and on the other hand, the connection line coordinate set between the layout objects can be automatically and efficiently obtained through orthogonal calculation, and then the automatic wiring between the layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of the layout objects and solving the technical problem of low wiring efficiency of the layout objects. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 It is a hardware structure block diagram of a layout object wiring method according to an embodiment of the present application;

[0013] Figure 2 is a flow chart of a layout object routing method according to an embodiment of the present application;

[0014] Figure 3 is a schematic diagram of a manual wiring method of a layout object according to an embodiment of the present application;

[0015] Figure 4 is a schematic diagram of generating a first vector according to an embodiment of the present application;

[0016] Figure 5 is a schematic diagram of generating a first starting point extension line and a first ending point extension line according to an embodiment of the present application;

[0017] Figure 6 is a schematic diagram of generating at least one first intermediate key point according to an embodiment of the present application;

[0018] Figure 7 is another schematic diagram of generating at least one first intermediate key point according to an embodiment of the present application;

[0019] Figure 8 is a schematic diagram of initial connection between a pad and a resonant cavity according to an embodiment of the present application;

[0020] Fig. 9 is a schematic diagram of a connection line after the coordinates of a local key point between a pad and a resonant cavity are dragged and adjusted according to an embodiment of the present application;

[0021] Fig.10 is a schematic diagram of a target connection between a pad and a resonant cavity according to an embodiment of the present application;

[0022] Fig.11 (a) is a schematic diagram of wiring between a resonant cavity, a resonant cavity and a pad according to an embodiment of the present application;

[0023] Fig.11 (b) is a schematic diagram of wiring between an Xmon capacitor and a pad according to an embodiment of the present application;

[0024] Fig.12 It is a schematic diagram of the steps of a wiring method of a pad according to an embodiment of the present application;

[0025] Fig.13 It is a structural block diagram of a wiring device for a layout object according to an embodiment of the present application. DETAILED DESCRIPTION

[0026] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.

[0027] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device 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 devices.

[0028] The method embodiments provided in the embodiments of the present application can be executed in a computer terminal or a similar computing device. Taking running on a computer terminal as an example, Figure 1 1 is a hardware structure block diagram of a computer terminal of a layout object wiring method according to an embodiment of the present application. Figure 1 As shown, the computer terminal may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, wherein the above-mentioned computer terminal may also include a transmission device 106 and an input and output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1The structure shown is only for illustration and does not limit the structure of the above-mentioned computer terminal. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0029] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for determining the mapping relationship in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to the computer terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0030] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of a computer terminal. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0031] As an optional solution, the layout object routing method includes the following specific steps:

[0032] Step S202, in response to a wiring request, obtaining a first key point and a second key point on a first layout object, and obtaining a third key point and a fourth key point on a second layout object, wherein the wiring request is used to request a connection from the first layout object to the second layout object, the first key point and the second key point are connection start points, and the third key point and the fourth key point are connection end points;

[0033] Step S204, determining a connection start direction according to a first position difference between the first key point and the second key point, and determining a connection end direction according to a second position difference between the third key point and the fourth key point;

[0034] Step S206, performing orthogonal calculation based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction and the connection end direction to obtain a connection coordinate set, wherein the connection coordinate set includes multiple key points;

[0035] Step S208: connect the multiple key points in sequence to obtain a connection line connecting the first layout object to the second layout object.

[0036] Optionally, in this embodiment, the layout object wiring method can be but is not limited to being applied to the quantum chip drawing wiring scenario. In this scenario, related technologies mostly use manual wiring methods, such as using KLayout basic drawing software to perform multiple attempts to connect line segments and arcs.

[0037] However, this operation method makes it difficult to accurately locate the starting point of the wiring and related technical points, and the process of rounding corners, line segments and arc splicing is cumbersome and inefficient. Figure 3 As shown in the figure, the connection lines and rounded corners between the wiring objects (such as pads, resonant cavities, etc.) require manual attempts and modifications such as basic graphics splicing, cropping, arc adjustment, coordinate fine-tuning, etc. to draw a connection line, resulting in several days or even longer time to complete an ordinary chip layout design.

[0038] For this defect, the layout object wiring method provided by this embodiment is used to obtain two key points on the first layout object to be wired and two key points on the second layout object in response to a wiring request, and determine the connection start direction based on the position difference between the two key points on the first layout object, and determine the connection end direction based on the position difference between the two key points on the second layout object, and then perform orthogonal calculation based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction and the connection end direction to obtain multiple key points, and connect the multiple key points in sequence to obtain a connection line connecting from the first layout object to the second layout object. In this process, on the one hand, the connection start and end directions can be automatically and quickly determined based on the position information between the key points, and on the other hand, the connection line coordinate set between the layout objects can be automatically and efficiently obtained through orthogonal calculation, so that automatic wiring between the layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of the layout objects.

[0039] Optionally, in this embodiment, the layout object may be, but is not limited to, components designed in the superconducting quantum chip layout. In addition to the first layout object and the second layout object, it may also include, but is not limited to, a greater number of other layout objects, which will not be described in detail here. Specifically, taking the first layout object as an example, it may be, but is not limited to, components such as Xmon capacitors, resonant cavities, and pads.

[0040] Optionally, in this embodiment, the wiring request is used to request a connection from the first layout object to the second layout object. It should be noted that this embodiment does not specifically limit the connection method between layout objects, that is, there may also be other wiring requests for requesting a connection from the second layout object to the first layout object.

[0041] Optionally, in this embodiment, the first key point and the second key point may be, but are not limited to, two corresponding points on the first layout object, and may be, but are not limited to, two points that are symmetrical left and right, symmetrical up and down, or symmetrical along a line. It is understandable that the first key point and the second key point are two connection points on the first layout object for connecting other layout objects, such as left and right pins.

[0042] Optionally, in this embodiment, the third key point and the fourth key point may be, but are not limited to, two corresponding points on the second layout object, and may be, but are not limited to, two points that are symmetrical left and right, symmetrical up and down, or symmetrical along a line. It is understandable that the third key point and the fourth key point are two connection points on the second layout object for connecting other layout objects.

[0043] It should be noted that, when requesting to connect from the first layout object to the second layout object, the first key point and the second key point are connection start points, and the third key point and the fourth key point are connection end points.

[0044] It can be understood that by connecting the first layout object to the second layout object, two lines can be obtained, including a first line and a second line, wherein the first line has the first key point as the connection starting point and the third key point as the connection ending point, and the second line has the second key point as the connection starting point and the fourth key point as the connection ending point.

[0045] Optionally, in this embodiment, the connection starting direction is determined based on the first position difference between the first key point and the second key point, wherein the connection starting direction can be but is not limited to being used to indicate the starting direction of the first line and the second line, and the first position difference can be but is not limited to being used to indicate the relative position information of the coordinates between the first key point and the second key point, which is determined based on the horizontal and vertical coordinates of the first key point and the horizontal and vertical coordinates of the second key point.

[0046] It can be understood that the horizontal coordinate position difference between the first key point and the second key point is determined based on the horizontal coordinate of the first key point and the horizontal coordinate of the second key point, and the vertical coordinate position difference between the first key point and the second key point is determined based on the vertical coordinate of the first key point and the vertical coordinate of the second key point. According to the horizontal coordinate position difference and the vertical coordinate difference between the first key point and the second key point, the first position difference between the first key point and the second key point is determined, and then the corresponding connection start direction is determined.

[0047] Optionally, in this embodiment, the connection end direction is determined based on the second position difference between the third key point and the fourth key point, wherein the connection end direction can be but is not limited to being used to indicate the end direction of the first line and the second line, and the second position difference can be but is not limited to being used to indicate the relative position information of the coordinates between the third key point and the fourth key point, which is determined based on the horizontal and vertical coordinates of the third key point and the horizontal and vertical coordinates of the fourth key point.

[0048] It can be understood that the horizontal coordinate position difference between the third key point and the fourth key point is determined based on the horizontal coordinate of the third key point and the horizontal coordinate of the fourth key point, and the vertical coordinate position difference between the third key point and the fourth key point is determined based on the vertical coordinate of the third key point and the vertical coordinate of the fourth key point. According to the horizontal coordinate position difference and the vertical coordinate difference between the third key point and the fourth key point, the second position difference between the third key point and the fourth key point is determined, and then the corresponding connection end direction is determined.

[0049] Optionally, in this embodiment, an orthogonal calculation is performed based on the first key point, the third key point, the connection start direction and the connection end direction to obtain a first connection coordinate set; an orthogonal calculation is performed based on the second key point, the fourth key point, the connection start direction and the connection end direction to obtain a second connection coordinate set; wherein the connection coordinate set includes the first connection coordinate set and the second connection coordinate set.

[0050] Optionally, in this embodiment, the orthogonal calculation can be but is not limited to being used to indicate that based on the orthogonal algorithm, with reference to the connection start direction and the connection end direction, at least one intermediate key point is determined between the start key point and the end key point (i.e., between the connecting lines), thereby obtaining a connection coordinate set.

[0051] To further illustrate, the first orthogonal calculation is used to indicate that based on the orthogonal algorithm, with reference to the connection start direction and the connection end direction, at least one first intermediate key point is determined between the first key point and the third key point, and then a first connection coordinate set is obtained, wherein the first connection coordinate set includes the first key point, the third key point and at least one first intermediate key point, which are used to connect to obtain the first line.

[0052] The second orthogonal calculation is used to indicate that based on the orthogonal algorithm, with reference to the connection start direction and the connection end direction, at least one second intermediate key point is determined between the second key point and the fourth key point, and then a second connection coordinate set is obtained, wherein the second connection coordinate set includes the second key point, the fourth key point and at least one second intermediate key point, which are used to connect to obtain the second line.

[0053] Optionally, in this embodiment, the first key point is used as the connection starting point, the third key point is used as the connection ending point, and the key points included in the first connection coordinate set are connected in sequence with reference to the connection starting direction and the connection ending direction to obtain a first line connecting the first layout object to the second layout object; the second key point is used as the connection starting point, the fourth key point is used as the connection ending point, and the key points included in the second connection coordinate set are connected in sequence with reference to the connection starting direction and the connection ending direction to obtain a second line connecting the first layout object to the second layout object.

[0054] Through the embodiment provided by the present application, in response to a wiring request, two key points on the first layout object to be wired and two key points on the second layout object are obtained, and the connection start direction is determined based on the position difference between the two key points on the first layout object, and the connection end direction is determined based on the position difference between the two key points on the second layout object, and then based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction and the connection end direction, orthogonal calculation is performed to obtain multiple key points, and the multiple key points are connected in sequence to obtain a connection line connecting from the first layout object to the second layout object. In this process, on the one hand, the connection start and end directions can be automatically and quickly determined based on the position information between the key points, and on the other hand, the connection line coordinate set between the layout objects can be automatically and efficiently obtained through orthogonal calculation, and then the automatic wiring between the layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of the layout objects.

[0055] As an optional solution, the orthogonal calculation is performed based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction and the connection end direction to obtain a connection coordinate set, including:

[0056] Based on the first key point, the third key point, the connection start direction and the connection end direction, a first orthogonal calculation is performed to obtain at least one first intermediate key point, wherein the at least one first intermediate key point is located between the first key point and the third key point;

[0057] Based on the second key point, the fourth key point, the connection start direction and the connection end direction, a second orthogonal calculation is performed to obtain at least one second intermediate key point, wherein the at least one second intermediate key point is located between the second key point and the fourth key point.

[0058] Optionally, in this embodiment, the orthogonal calculation can be but is not limited to being used to indicate that based on the orthogonal algorithm, with reference to the connection start direction and the connection end direction, at least one intermediate key point is determined between the start key point and the end key point (i.e., between the connecting lines), thereby obtaining a connection coordinate set.

[0059] Optionally, in this embodiment, the first orthogonal calculation is used to indicate that based on the orthogonal algorithm, with reference to the connection start direction and the connection end direction, at least one first intermediate key point is determined between the first key point and the third key point, and then a first connection coordinate set is obtained, wherein the first connection coordinate set includes the first key point, the third key point and at least one first intermediate key point, which are used to connect to obtain the first line.

[0060] It should be noted that at least one first intermediate key point is located in the middle of the first connecting line, that is, located in the middle of the first connecting line from the first key point to the third key point.

[0061] Optionally, in this embodiment, the second orthogonal calculation is used to indicate that based on the orthogonal algorithm, with reference to the connection start direction and the connection end direction, at least one second intermediate key point is determined between the second key point and the fourth key point, and then a second connection coordinate set is obtained, wherein the second connection coordinate set includes the second key point, the fourth key point and at least one second intermediate key point, which are used to connect to obtain the second line.

[0062] It should be noted that at least one second intermediate key point is located in the middle of the second connecting line, that is, located in the middle of the second connecting line from the second key point to the fourth key point.

[0063] It can be understood that the connection coordinate set includes a first connection coordinate set and a second connection coordinate set, and the connection line connecting the first layout object to the second layout object includes a first connection line and a second connection line.

[0064] Through the embodiments provided in the present application, a set of connection coordinates between layout objects is automatically and efficiently obtained through the first orthogonal calculation and the second orthogonal calculation, so that automatic wiring between layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of layout objects.

[0065] As an optional solution, performing a first orthogonal calculation based on the first key point, the third key point, the connection start direction, and the connection end direction to obtain at least one first intermediate key point includes:

[0066] Obtain a first vector, wherein the first vector starts from the first key point and ends at the third key point;

[0067] Based on the first vector, a first vertical vector and a first horizontal vector with the first key point as a starting point are generated, and a second vertical vector and a second horizontal vector with the third key point as a starting point are generated, wherein the first vertical vector, the first horizontal vector, the second vertical vector, and the second horizontal vector intersect to form a first closed rectangle, and the first vector is a crossing line of the first closed rectangle;

[0068] Determine a first target vector parallel to and in the same direction as the connection start direction from the first vertical vector, the opposite vector of the first vertical vector, the first horizontal vector, and the opposite vector of the first horizontal vector;

[0069] Determine a second target vector parallel to and in the opposite direction of the connection end direction from the second vertical vector, the opposite vector of the second vertical vector, the second horizontal vector, and the opposite vector of the second horizontal vector;

[0070] Taking the first key point as the starting point and moving with reference to the first target vector, and taking the third key point as the starting point and moving with reference to the second target vector, at least two line segments are obtained, and the line segment connection points of the at least two line segments are determined as the at least one first intermediate key point, wherein the at least two line segments are used to connect the first key point and the third key point.

[0071] Optionally, in this embodiment, the first vector starts from the first key point and ends at the third key point. The first vector can be used, but is not limited to, to generate a first vertical vector and a first horizontal vector starting from the first key point, and to generate a second vertical vector and a second horizontal vector starting from the third key point, wherein the first vertical vector, the first horizontal vector, the second vertical vector, and the second horizontal vector intersect to form a first closed rectangle, and the first vector is a cross line of the first closed rectangle.

[0072] To further illustrate, Figure 4As shown, a first vector is generated at a first key point of a first layout object, wherein the first vector is used to indicate the direction in which the first key point is directly connected to a second key point of a second layout object. Based on the first vector, a first vertical vector and a first horizontal vector are generated with the first key point as a starting point, and a second vertical vector and a second horizontal vector are generated with the third key point as a starting point, wherein the first vertical vector, the first horizontal vector, the second vertical vector and the second horizontal vector can form a first closed rectangle, and the first vector is a cross line of the first closed rectangle.

[0073] Optionally, in this embodiment, a first target vector parallel to and in the same direction as the connection start direction is determined from the first vertical vector, the opposite vector of the first vertical vector, the first horizontal vector, and the opposite vector of the first horizontal vector; a second target vector parallel to and in the opposite direction as the connection end direction is determined from the second vertical vector, the opposite vector of the second vertical vector, the second horizontal vector, and the opposite vector of the second horizontal vector.

[0074] Optionally, in this embodiment, the opposite vector of the first vertical vector is a vector starting from the first key point and with a direction opposite to that of the first vertical vector; the opposite vector of the first horizontal vector is a vector starting from the first key point and with a direction opposite to that of the first horizontal vector; the opposite vector of the second vertical vector is a vector starting from the third key point and with a direction opposite to that of the second vertical vector; the opposite vector of the second horizontal vector is a vector starting from the third key point and with a direction opposite to that of the second horizontal vector.

[0075] It should be noted that the above-mentioned determination process of the first target vector and the second target vector may be performed sequentially or simultaneously, and this embodiment does not impose any additional restrictions on the specific implementation order.

[0076] Optionally, in this embodiment, the first key point is taken as the starting point and moved with reference to the first target vector to obtain the first starting point extension line, and the third key point is taken as the starting point and moved with reference to the second target vector to obtain the first ending point extension line, wherein at least two line segments include the first starting point extension line and the first ending point extension line.

[0077] To further illustrate, Figure 5 As shown, starting from the first key point, refer to the first target vector and move to the middle point 1 to obtain the extension line of the first starting point ( Figure 5 The line between the first key point and the middle point 1 in , Figure 5 Not specifically marked); starting from the third key point, refer to the second target vector and move to the middle point 2 to obtain the extension line of the first end point ( Figure 5 The line between the third key point and the middle point 2 in Figure 5 not specifically marked).

[0078] It should be noted that the line segment connection point of at least two line segments is determined as at least one first intermediate key point.

[0079] To further illustrate, Figure 5 As shown in the example, the line segment connection points of at least two line segments include a middle point 1 and a middle point 2, and in addition, a middle point 3, wherein the first connecting line is obtained by sequentially connecting the line segment connection points.

[0080] Through the embodiments provided by the present application, by taking the first key point as the starting point and moving with reference to the first target vector, and taking the third key point as the starting point and moving with reference to the second target vector, at least two line segments are obtained, and the line segment connection points of the at least two line segments are determined as at least one first intermediate key point, and then based on the at least one first intermediate key point, a set of connection coordinates to be connected in sequence is determined, so that automatic wiring between layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of layout objects.

[0081] As an optional solution, taking the first key point as a starting point and moving with reference to the first target vector, and taking the third key point as a starting point and moving with reference to the second target vector, obtaining at least two line segments, and determining the line segment connection point of the at least two line segments as the at least one first intermediate key point, comprising:

[0082] In the case where the first target vector is parallel to the second target vector, starting from the first key point, moving a first distance along the first target vector to a first intermediate point, and starting from the third key point, moving a second distance along the second target vector to a second intermediate point, wherein a line between the first intermediate point and the second intermediate point is perpendicular to the first target vector and perpendicular to the second target vector;

[0083] The first intermediate point and the second intermediate point are determined as the at least one first intermediate key point.

[0084] Optionally, in this embodiment, when the first target vector is parallel to the second target vector, it means that when the extension line of the first starting point and the extension line of the first ending point are obtained, the extension line of the first starting point and the extension line of the first ending point are also parallel, then it is necessary to turn once to form a middle line, and the middle line is connected to the connection point of the extension line of the first starting point and is perpendicular to the extension line of the first starting point, and the middle line is connected to the connection point of the extension line of the first ending point and is perpendicular to the extension line of the first ending point.

[0085] It should be noted that the above-mentioned first distance and second distance can be but not limited to being determined based on preset parameters, and can also be but not limited to being determined based on the background combined with a preset algorithm. This embodiment does not impose additional restrictions on the specific distance.

[0086] To further illustrate, Figure 6 As shown, starting from the first key point, moving along the first target vector by a first distance to the middle point 1, and starting from the third key point, moving along the second target vector by a second distance to the middle point 2, wherein the middle line 1 between the middle point 1 and the middle point 2 is perpendicular to the first target vector and perpendicular to the second target vector. The middle point 1 and the middle point 2 are determined as at least one first middle key point.

[0087] Through the embodiments provided by the present application, when the first target vector is parallel to the second target vector, the first key point is used as the starting point, and the first distance is moved along the first target vector to the first intermediate point, and the third key point is used as the starting point, and the second distance is moved along the second target vector to the second intermediate point, the first intermediate point and the second intermediate point are determined as at least one first intermediate key point, and then a set of connection coordinates to be connected in sequence is determined based on at least one first intermediate key point, so that automatic wiring between layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of layout objects.

[0088] As an optional solution, taking the first key point as a starting point and moving with reference to the first target vector, and taking the third key point as a starting point and moving with reference to the second target vector to obtain at least two line segments, and determining the line segment connection point of the at least two line segments as the at least one first intermediate key point, comprises:

[0089] In the case where the first target vector is perpendicular to the second target vector, starting from the first key point, moving along the first target vector by a third distance to a third intermediate point, starting from the third intermediate point, moving along the first turning vector by a fourth distance to a fourth intermediate point, and starting from the third key point, moving along the second target vector by a fifth distance to a fifth intermediate point, wherein the first turning vector is perpendicular to the first target vector and faces the third key point, and a line between the fourth intermediate point and the fifth intermediate point is parallel to the first target vector and perpendicular to the second target vector;

[0090] The third intermediate point, the fourth intermediate point and the fifth intermediate point are determined as the at least one first intermediate key point.

[0091] Optionally, in this embodiment, when the first target vector is perpendicular to the second target vector, it means that when the first starting point extension line and the first ending point extension line are obtained, the first starting point extension line and the first ending point extension line are also perpendicular. Then, two turns are required to form two intermediate lines, and the first intermediate line obtained based on the turn of the first starting point extension line is connected to the connection point of the first starting point extension line and is perpendicular to the first starting point extension line, and the second intermediate line obtained based on the turn of the first ending point extension line is connected to the connection point of the first ending point extension line and is perpendicular to the first ending point extension line.

[0092] It should be noted that the third distance, fourth distance and fifth distance mentioned above may be, but are not limited to, determined based on preset parameters, and may also be, but are not limited to, determined based on the background combined with a preset algorithm. This embodiment does not impose additional restrictions on the specific distances.

[0093] To further illustrate, Figure 7 As shown, starting from the first key point, moving along the first target vector by a first distance to the middle point 1, starting from the middle point 1, moving by a fourth distance to the middle point 3, and starting from the third key point, moving by a second distance along the second target vector to the middle point 2, wherein the middle line 1 between the middle point 1 and the middle point 2 is perpendicular to the first target vector, and the middle line 2 between the middle point 2 and the middle point 3 is perpendicular to the second target vector and connected to the middle line 1 and the middle point 3. The middle point 1, the middle point 2 and the middle point 3 are determined as at least one first middle key point.

[0094] Through the embodiments provided by the present application, when the first target vector is perpendicular to the second target vector, the first key point is used as the starting point, and the third distance is moved along the first target vector to the third intermediate point, and then the third intermediate point is used as the starting point, and the fourth distance is moved along the first turning vector to the fourth intermediate point, and the third key point is used as the starting point, and the fifth distance is moved along the second target vector to the fifth intermediate point, the third intermediate point, the fourth intermediate point and the fifth intermediate point are determined as at least one first intermediate key point, and then based on the at least one first intermediate key point, a set of connection coordinates to be connected in sequence is determined, so that automatic wiring between layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of layout objects.

[0095] As an optional solution, performing a second orthogonal calculation based on the second key point, the fourth key point, the connection start direction, and the connection end direction to obtain at least one second intermediate key point includes:

[0096] Obtain a second vector, wherein the second vector starts from the second key point and ends at the fourth key point;

[0097] Based on the second vector, a third vertical vector and a third horizontal vector are generated with the second key point as a starting point, and a fourth vertical vector and a fourth horizontal vector are generated with the fourth key point as a starting point, wherein the third vertical vector, the third horizontal vector, the fourth vertical vector, and the fourth horizontal vector intersect to form a second closed rectangle, and the second vector is a cross line of the second closed rectangle;

[0098] Determine a third target vector parallel to and in the same direction as the connection start direction from the third vertical vector, the opposite vector of the third vertical vector, the third horizontal vector, and the opposite vector of the third horizontal vector;

[0099] Determine a fourth target vector parallel to and in the opposite direction of the connection end direction from the fourth vertical vector, the opposite vector of the fourth vertical vector, the fourth horizontal vector, and the opposite vector of the fourth horizontal vector;

[0100] Taking the second key point as the starting point and moving with reference to the third target vector, and taking the fourth key point as the starting point and moving with reference to the fourth target vector, a plurality of line segments are obtained, and the line segment connection points of the plurality of line segments are determined as the at least one first intermediate key point, wherein the plurality of line segments are used to connect the second key point and the fourth key point.

[0101] Optionally, in this embodiment, the second vector starts from the second key point and ends at the fourth key point. The second vector can be used, but is not limited to, to generate a third vertical vector and a third horizontal vector starting from the second key point, and to generate a fourth vertical vector and a fourth horizontal vector starting from the fourth key point, wherein the third vertical vector, the third horizontal vector, the fourth vertical vector, and the fourth horizontal vector intersect to form a second closed rectangle, and the second vector is a cross line of the second closed rectangle.

[0102] Optionally, in this embodiment, a third target vector parallel to and in the same direction as the connection start direction is determined from the third vertical vector, the opposite vector of the third vertical vector, the third horizontal vector, and the opposite vector of the third horizontal vector; a fourth target vector parallel to and in the opposite direction as the connection end direction is determined from the fourth vertical vector, the opposite vector of the fourth vertical vector, the fourth horizontal vector, and the opposite vector of the fourth horizontal vector.

[0103] Optionally, in this embodiment, the opposite vector of the third vertical vector is a vector with the second key point as its starting point and a direction opposite to that of the third vertical vector; the opposite vector of the third horizontal vector is a vector with the second key point as its starting point and a direction opposite to that of the third horizontal vector; the opposite vector of the fourth vertical vector is a vector with the fourth key point as its starting point and a direction opposite to that of the fourth vertical vector; and the opposite vector of the fourth horizontal vector is a vector with the fourth key point as its starting point and a direction opposite to that of the fourth horizontal vector.

[0104] It should be noted that the above-mentioned determination process of the third target vector and the fourth target vector may be performed sequentially or simultaneously, and this embodiment does not impose any additional restrictions on the specific implementation order.

[0105] Optionally, in this embodiment, the second key point is taken as the starting point and the movement is performed with reference to the third target vector to obtain the second starting point extension line, and the fourth key point is taken as the starting point and the movement is performed with reference to the fourth target vector to obtain the second ending point extension line, wherein the multiple line segments include the second starting point extension line and the second ending point extension line.

[0106] It should be noted that the line segment connection points of the plurality of line segments are determined as at least one first intermediate key point.

[0107] Through the embodiments provided by the present application, by taking the second key point as the starting point and moving with reference to the third target vector, and taking the fourth key point as the starting point and moving with reference to the fourth target vector, multiple line segments are obtained, and the line segment connection points of the multiple line segments are determined as at least one first intermediate key point, and then based on the at least one first intermediate key point, a set of connection coordinates to be connected in sequence is determined, so that automatic wiring between layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of layout objects.

[0108] As an optional solution, taking the second key point as a starting point and moving with reference to the third target vector, and taking the fourth key point as a starting point and moving with reference to the fourth target vector, to obtain a plurality of line segments, and determining the line segment connection points of the plurality of line segments as the at least one second intermediate key point, comprises:

[0109] In the case where the third target vector is parallel to the fourth target vector, starting from the second key point, moving a sixth distance along the third target vector to a sixth intermediate point, and starting from the fourth key point, moving a seventh distance along the fourth target vector to a seventh intermediate point, wherein a line between the sixth intermediate point and the seventh intermediate point is perpendicular to the third target vector and perpendicular to the fourth target vector;

[0110] The sixth intermediate point and the seventh intermediate point are determined as the at least one second intermediate key point.

[0111] Optionally, in this embodiment, when the third target vector is parallel to the fourth target vector, it means that when the second starting point extension line and the second end point extension line are obtained, the second starting point extension line and the second end point extension line are also parallel, then it is necessary to turn once to form a middle line, and the middle line is connected to the connection point of the second starting point extension line and is perpendicular to the second starting point extension line, and the middle line is connected to the connection point of the second end point extension line and is perpendicular to the second end point extension line.

[0112] It should be noted that the sixth distance and the seventh distance mentioned above may be, but are not limited to, determined based on preset parameters, and may also be, but are not limited to, determined based on the background combined with a preset algorithm. This embodiment does not impose additional restrictions on the specific distances.

[0113] Through the embodiments provided by the present application, when the third target vector is parallel to the fourth target vector, the second key point is used as the starting point, and the sixth distance is moved along the third target vector to the sixth intermediate point, and the fourth key point is used as the starting point, and the seventh distance is moved along the fourth target vector to the seventh intermediate point, the sixth intermediate point and the seventh intermediate point are determined as at least one first intermediate key point, and then a set of connection coordinates to be connected in sequence is determined based on at least one first intermediate key point, so that automatic wiring between layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of layout objects.

[0114] As an optional solution, taking the second key point as a starting point and moving with reference to the third target vector, and taking the fourth key point as a starting point and moving with reference to the fourth target vector, to obtain a plurality of line segments, and determining the line segment connection points of the plurality of line segments as the at least one second intermediate key point, comprises:

[0115] In the case where the third target vector is perpendicular to the fourth target vector, starting from the third key point, moving along the third target vector by an eighth distance to an eighth intermediate point, then starting from the eighth intermediate point, moving along the second turning vector by a ninth distance to a ninth intermediate point, and starting from the fourth key point, moving along the fourth target vector by a tenth distance to a tenth intermediate point, wherein the second turning vector is perpendicular to the third target vector and faces the fourth key point, and a line between the ninth intermediate point and the tenth intermediate point is parallel to the third target vector and perpendicular to the fourth target vector;

[0116] The eighth intermediate point, the ninth intermediate point and the tenth intermediate point are determined as the at least one second intermediate key point.

[0117] Optionally, in this embodiment, when the third target vector is perpendicular to the fourth target vector, it means that when the second starting point extension line and the second end point extension line are obtained, the second starting point extension line and the second end point extension line are also perpendicular. Then, it is necessary to turn twice to form two intermediate lines, and the first intermediate line obtained based on the turn of the second starting point extension line is connected to the connection point of the second starting point extension line and is perpendicular to the second starting point extension line, and the second intermediate line obtained based on the turn of the second end point extension line is connected to the connection point of the second end point extension line and is perpendicular to the second end point extension line.

[0118] It should be noted that the eighth distance, the ninth distance, and the tenth distance mentioned above may be, but are not limited to, determined based on preset parameters, and may also be, but are not limited to, determined based on the background combined with a preset algorithm. This embodiment does not impose additional restrictions on the specific distances.

[0119] Through the embodiments provided by the present application, when the third target vector is perpendicular to the fourth target vector, the third key point is used as the starting point, and the eighth distance is moved along the third target vector to the eighth intermediate point. Then, the eighth intermediate point is used as the starting point, and the ninth distance is moved along the second turning vector to the ninth intermediate point. And, the fourth key point is used as the starting point, and the tenth distance is moved along the fourth target vector to the tenth intermediate point. The eighth intermediate point, the ninth intermediate point and the tenth intermediate point are determined as at least one first intermediate key point, and then a set of connection coordinates to be connected in sequence is determined based on at least one first intermediate key point, so that automatic wiring between layout objects can be efficiently realized, thereby achieving the technical effect of improving the wiring efficiency of layout objects.

[0120] As an optional solution, the step of sequentially connecting the plurality of key points to obtain a line connecting the first layout object to the second layout object includes:

[0121] Determine a key point belonging to a first connecting line and a key point belonging to a second connecting line from the connecting coordinate set, wherein the first connecting line is a connecting line corresponding to the first key point as a starting point and the third key point as an end point, and the second connecting line is a connecting line corresponding to the second key point as a starting point and the fourth key point as an end point;

[0122] Among the key points of the first connecting line, starting from the first key point, sequentially connect every two adjacent key points until connecting to the third key point;

[0123] Among the key points of the second connecting line, starting from the second key point, every two adjacent key points are sequentially connected until connecting to the fourth key point.

[0124] Optionally, in this embodiment, the connection coordinate set includes a first connection coordinate set and a second connection coordinate set, wherein the first connection coordinate set includes key points belonging to the first connection line, that is, the key points in the first connection coordinate set are used to connect to obtain a connection line with the first key point as the starting point and the third key point as the end point; the second connection coordinate set includes key points belonging to the second connection line, that is, the key points in the second connection coordinate set are used to connect to obtain a connection line with the second key point as the starting point and the fourth key point as the end point.

[0125] It should be noted that, among the key points of the first line, starting from the first key point, every two adjacent key points are connected in order until they are connected to the third key point; among the key points of the second line, starting from the second key point, every two adjacent key points are connected in order until they are connected to the fourth key point.

[0126] Through the embodiments provided in the present application, by orderly connecting the key points in the connection coordinate set that belong to the first line and the second line respectively, automatic wiring between layout objects can be efficiently achieved, thereby achieving the technical effect of improving the wiring efficiency of layout objects.

[0127] As an optional solution, after the plurality of key points are connected in sequence to obtain a line connecting the first layout object to the second layout object, the method further includes:

[0128] In response to a first drag operation triggered on a first reference key point, updating coordinate information of the first reference key point to obtain an updated first reference key point, wherein the connection coordinate set includes the first reference key point;

[0129] Based on the updated first reference key point, the connection line between the first reference key point and other key points is corrected.

[0130] Optionally, in this embodiment, the first reference key point may be, but is not limited to, an intermediate key point in the connection coordinate set.

[0131] Optionally, in this embodiment, by a first drag operation on the first reference key point, the direction and shape of the local connection line associated with the first reference key point can be dragged and changed, wherein the local connection line associated with the first reference key point is the connection line connecting the first reference key point and other key points.

[0132] Through the embodiment provided by the present application, the purpose of quickly modifying the direction and shape of a local connection line (a single connection line) is achieved through the first drag operation on the first reference key point, thereby achieving the technical effect of improving the adjustment efficiency of the layout object.

[0133] As an optional solution, after the plurality of key points are connected in sequence to obtain a line connecting the first layout object to the second layout object, the method further includes:

[0134] In response to a second drag operation triggered on a second reference key point, the coordinate information of the second reference key point is updated, and the coordinate information of the third reference key point is updated to obtain an updated second reference key point and an updated third reference key point, wherein the connection coordinate set includes the second reference key point and the third reference key point, the second reference key point is a key point on a first connecting line, the third reference key point is a key point on a second connecting line symmetrical to the second reference key point, and the relative positional relationship between the second reference key point and the third reference key point remains unchanged before and after the second drag operation;

[0135] Based on the updated second reference key point, the connection line between the second reference key point and other key points is corrected, and based on the updated third reference key point, the connection line between the third reference key point and other key points is corrected.

[0136] Optionally, in this embodiment, the second reference key point is a key point on the first line, the third reference key point is a key point on the second line that is symmetrical to the second reference key point, and the relative position relationship between the second reference key point and the third reference key point remains unchanged before and after the second drag operation.

[0137] It can be understood that during the second drag operation on the second reference key point, in addition to the adaptive adjustment of the connection line between the second reference key point and other key points, the connection line between the third reference key point and other key points will also be adaptively adjusted so that the relative position relationship between the first connection line and the second connection line does not change.

[0138] For example, according to the coordinate connection set, the connection between the layout objects is drawn through the svg Path (Scalable Vector Graphics, an XML markup language used to describe two-dimensional graphics) graphic drawing method, and each coordinate point is highlighted. The direction and shape of the connection can be changed by dragging, thereby realizing the correction function after the automatic connection of components. By dragging the circle graphic to change the direction and shape of the Path, the coordinate point set of the connection is changed.

[0139] To further illustrate, Figure 8 The figure shows the initial connection diagram between the pad and the resonant cavity. Fig. 9The figure shows the connection diagram after dragging and adjusting the coordinates of the local key points between the pad and the resonant cavity, and then confirming that the correction is no longer required, the Fig.10 Target connections between pads and resonant cavity shown.

[0140] It should be noted that after modifying the Path by dragging the circle graphic to change the direction and shape of the Path, the value of the corresponding coordinate point set changes. The latest coordinate point set is sent to the connection data conversion interface through the web service interface. The connection data conversion interface returns the converted polygon coordinate set to the web page. The web page draws the component connections according to the Polygon graphic drawing method.

[0141] The layout design must be exported as a standard gds file. The data format is based on the coordinate point set data of the polygon. The connection data conversion uses the flexpath graphic component in the python language gdstk open source graphics processing library. Flexpath has an offset attribute, which is to draw another path parallel to the current path. The path for drawing the connection is actually two parallel lines. Therefore, to complete the connection between components, you also need to know the offset and path_width attribute values. Offset is to judge the direct distance between the two connections, and path_width is the width of the drawn connection. These two values ​​are obtained by obtaining the line width and distance or two attribute values ​​of the layout object (such as the resonant cavity or Xmon capacitor) when the connection start value is determined.

[0142] According to the path data (coordinate set, offset, path_width) given by the web front end, equivalent drawing is achieved, and then the polygon conversion method to_polygons() provided by the graphics library is used to realize the conversion of path graphics to polygon polygon, and then the final wiring result is obtained, such as Fig.10 shown.

[0143] Through the embodiment provided by the present application, the purpose of quickly modifying the direction and shape of the entire connection line (two connections) is achieved through the second drag operation on the second reference key point, thereby achieving the technical effect of improving the adjustment efficiency of the layout object.

[0144] As an optional solution, when the first layout object is an Xmon capacitor, the second layout object is a pad; when the first layout object is a resonant cavity, the second layout object is one of the following: the resonant cavity, the pad.

[0145] Optionally, in this embodiment, the layout object wiring method can be but is not limited to being applied to the application scenario of superconducting quantum chip layout design. In this scenario, Fig.11 As shown, the two layout objects to be routed can be, but are not limited to, the following combinations:

[0146] (1) If Fig.11 As shown in (b), the wiring between the Xmon capacitor and the pad;

[0147] (2) If Fig.11 As shown in (a), the wiring between the resonant cavities;

[0148] (3) If Fig.11 As shown in (a), the wiring between the resonant cavity and the pad.

[0149] To further illustrate, Fig.12 As shown, a schematic diagram of the steps of an optional pad wiring method is shown, and the specific steps include: determining the type of component to be connected, wherein, when the component type is a resonant cavity, further determining the specific connection mode, whether it is a left connection or a right connection, and determining the pin to be connected based on this; determining the starting point; determining the ending point; calculating the coordinate point set based on the starting point and the ending point; performing (drag) correction on the coordinate point set; generating polygonal coordinates; and drawing the connection. When the component type is an Xmon capacitor, further determining the specific connection mode, whether it is a left connection or a right connection, and determining the pin to be connected based on this; determining the starting point; determining the ending point; calculating the coordinate point set based on the starting point and the ending point; performing (drag) correction on the coordinate point set; generating polygonal coordinates; and drawing the connection.

[0150] Through the embodiments provided in the present application, the wiring method of the layout object is applied to the application scenario of superconducting quantum chip layout design, which can efficiently realize automatic wiring between Xmon capacitors and pads or between resonant cavities or between resonant cavities and pads.

[0151] As an optional solution, determining the connection start direction according to the first position difference between the first key point and the second key point includes:

[0152] Obtaining a first horizontal coordinate and a first vertical coordinate of the first key point on the layout, and a second horizontal coordinate and a second vertical coordinate of the second key point on the layout;

[0153] Acquire a first coordinate difference between the first horizontal coordinate and the second horizontal coordinate, and acquire a second coordinate difference between the first vertical coordinate and the second vertical coordinate;

[0154] The connection start direction is determined according to the first coordinate difference and the second coordinate difference.

[0155] Optionally, in this embodiment, the connection starting direction is determined based on the first position difference between the first key point and the second key point, wherein the connection starting direction can be but is not limited to being used to indicate the starting direction of the first line and the second line, and the first position difference can be but is not limited to being used to indicate the relative position information of the coordinates between the first key point and the second key point, which is determined based on the horizontal and vertical coordinates of the first key point and the horizontal and vertical coordinates of the second key point.

[0156] It can be understood that the horizontal coordinate position difference between the first key point and the second key point is determined based on the horizontal coordinate of the first key point and the horizontal coordinate of the second key point, and the vertical coordinate position difference between the first key point and the second key point is determined based on the vertical coordinate of the first key point and the vertical coordinate of the second key point. According to the horizontal coordinate position difference and the vertical coordinate difference between the first key point and the second key point, the first position difference between the first key point and the second key point is determined, and then the corresponding connection start direction is determined.

[0157] Through the embodiments provided in the present application, the connection starting direction is determined based on the first position difference between the first key point and the second key point, thereby achieving the purpose of quickly determining the starting point of the connection and its corresponding connection starting direction, thereby achieving the technical effect of improving the wiring efficiency of the layout object.

[0158] As an optional solution, determining the connection start direction according to the first coordinate difference and the second coordinate difference includes:

[0159] When the first coordinate difference is greater than 0 and the second coordinate difference is less than 0, determining that the connection start direction is an upward direction;

[0160] When the first coordinate difference is less than 0 and the second coordinate difference is less than 0, determining that the connection start direction is a downward direction;

[0161] When the first coordinate difference is less than 0 and the second coordinate difference is greater than 0, determining the connection start direction to be a right direction;

[0162] When the first coordinate difference is greater than 0 and the second coordinate difference is greater than 0, the connection start direction is determined to be the left direction.

[0163] To further illustrate, assume that the horizontal coordinate of the first key point is x1 and the vertical coordinate is y1, and the horizontal coordinate of the second key point is x2 and the vertical coordinate is y2, then the first coordinate difference dx1=x1-x2, and the second coordinate difference dy1=y1-y2.

[0164] If dx1>0 and dy<10, it means that the starting direction of the line is upward, and the corresponding coordinate unit vector is [0, 1].

[0165] If dx1<0 and dy1<10, it means the line starts pointing downward, and the corresponding coordinate unit vector is [0, -1].

[0166] If dx1<0 and dy1>0, it means that the starting direction of the line is to the right, and the corresponding coordinate unit vector is [1, 0].

[0167] If dx1>0 and dy1>0, it means that the starting direction of the connection is to the left, and the corresponding coordinate unit vector is [-1, 0].

[0168] Through the embodiments provided in the present application, the starting direction of the connection is determined based on the horizontal and vertical coordinate information between the first key point and the second key point, thereby achieving the purpose of quickly determining the starting point of the connection and its corresponding starting direction of the connection, thereby achieving the technical effect of improving the wiring efficiency of the layout object.

[0169] As an optional solution, determining the connection start direction according to the second position difference between the third key point and the fourth key point includes:

[0170] Obtaining a third horizontal coordinate and a third vertical coordinate of the third key point on the layout, and a fourth horizontal coordinate and a fourth vertical coordinate of the fourth key point on the layout;

[0171] Acquire a third coordinate difference between the third horizontal coordinate and the fourth horizontal coordinate, and acquire a fourth coordinate difference between the third vertical coordinate and the fourth vertical coordinate;

[0172] The connection ending direction is determined according to the third coordinate difference and the fourth coordinate difference.

[0173] Optionally, in this embodiment, the connection end direction is determined based on the second position difference between the third key point and the fourth key point, wherein the connection end direction can be but is not limited to being used to indicate the end direction of the first line and the second line, and the second position difference can be but is not limited to being used to indicate the relative position information of the coordinates between the third key point and the fourth key point, which is determined based on the horizontal and vertical coordinates of the third key point and the horizontal and vertical coordinates of the fourth key point.

[0174] It can be understood that the horizontal coordinate position difference between the third key point and the fourth key point is determined based on the horizontal coordinate of the third key point and the horizontal coordinate of the fourth key point, and the vertical coordinate position difference between the third key point and the fourth key point is determined based on the vertical coordinate of the third key point and the vertical coordinate of the fourth key point. According to the horizontal coordinate position difference and the vertical coordinate difference between the third key point and the fourth key point, the second position difference between the third key point and the fourth key point is determined, and then the corresponding connection end direction is determined.

[0175] Through the embodiment provided by the present application, the connection end direction is determined based on the second position difference between the third key point and the fourth key point, thereby achieving the purpose of quickly determining the end point of the connection and its corresponding connection end direction, thereby achieving the technical effect of improving the wiring efficiency of the layout object.

[0176] As an optional solution, determining the connection end direction according to the third coordinate difference and the fourth coordinate difference includes:

[0177] When the third coordinate difference is greater than 0 and the fourth coordinate difference is less than 0, determining that the connection end direction is an upward direction;

[0178] When the third coordinate difference is less than 0 and the fourth coordinate difference is less than 0, determining that the connection end direction is a downward direction;

[0179] When the third coordinate difference is less than 0 and the fourth coordinate difference is greater than 0, determining that the connection end direction is the right direction;

[0180] When the third coordinate difference is greater than 0 and the fourth coordinate difference is greater than 0, the connection end direction is determined to be the left direction.

[0181] To further illustrate, suppose the horizontal coordinate of the third key point is x3 and the vertical coordinate is y3, and the horizontal coordinate of the fourth key point is x4 and the vertical coordinate is y4, then the third coordinate difference dx2=x3-x4, and the fourth coordinate difference dy2=y3-y4.

[0182] If dx2>0 and dy2<10, it means that the end direction of the connection is upward, and the corresponding coordinate unit vector is [0, 1].

[0183] If dx2<0 and dy2<10, it means that the end direction of the connection is downward, and the corresponding coordinate unit vector is [0, -1].

[0184] If dx2<0 and dy2>0, it means that the end direction of the connection is to the right, and the corresponding coordinate unit vector is [1, 0].

[0185] If dx2>0 and dy2>0, it means that the end direction of the connection is to the left, and the corresponding coordinate unit vector is [-1, 0].

[0186] Through the embodiments provided in the present application, the connection end direction is determined based on the horizontal and vertical coordinate information between the third key point and the fourth key point, thereby achieving the purpose of quickly determining the end point of the connection and its corresponding connection end direction, thereby achieving the technical effect of improving the wiring efficiency of the layout object.

[0187] It should be noted that after obtaining the two key points of the layout object, if it is detected that the layout object has undergone scaling, translation, rotation and other operations, the key points can be adjusted accordingly based on but not limited to the following formula:

[0188] x1=(x-tx-rx)*scaleX*Math.cos(angle))-(y-ty-ry)*scaleY*Math.sin(angle))+rx;

[0189] y1=(x-tx-rx)*scaleX*Math.sin(angle))+(y-ty-ry)*scaleY*Math.cos(angle))+ry;

[0190] Among them, the coordinates of the key point after adjustment are (x1, y1), and the coordinates of the key point before adjustment are (x, y); the coordinates of the center point of the graphic are (rx, ry); the horizontal movement distance is tx, the vertical movement distance is ty; the horizontal scaling factor is scaleX, the vertical scaling factor is scaleY; the counterclockwise rotation angle is angle (radians), and the angle to radian formula is: angle = angle*(Math.PI / 180).

[0191] It should also be noted that the wiring method using layout objects can achieve the following beneficial effects:

[0192] (1) Solve the problem of accurately finding the starting and ending points during the connection process, and quickly and accurately locate the starting and ending points of the connection through coordinate sequence indexing.

[0193] (2) Able to quickly obtain the connection coordinate set between components based on the automatic connection algorithm.

[0194] (3) Use SVG path to display the trend and shape of the connection in real time, so you can intuitively judge whether the connection is appropriate.

[0195] (4) You can quickly modify the direction and shape of the connection by dragging the icon with the mouse.

[0196] (5) Solve the problem of troublesome corner rounding during wiring.

[0197] (6) Ensure smooth connections and reasonable positioning through a modifiable connection method.

[0198] (7) The conversion from the connection path to the polygon coordinates is realized by calling the back-end interface, which reduces the front-end load pressure.

[0199] (8) Automatically determine whether the currently selected component is a resonant cavity or an Xmon capacitor, and obtain the precise starting point coordinates based on the left and right pins.

[0200] (9) Automatically determine the type of component selected at the end point (resonant cavity or pad) and quickly and accurately locate the coordinates of the end point.

[0201] (10) Automatically obtain the line width of the component control line or read line and the displacement of the two lines to realize automatic acquisition of connection properties.

[0202] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0203] In this embodiment, a wiring device for a layout object is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0204] Fig.13 is a structural block diagram of a wiring device for a layout object according to an embodiment of the present application, such as Fig.13 As shown, the device comprises:

[0205] An acquiring unit 1302 is configured to acquire, in response to a routing request, a first key point and a second key point on a first layout object, and acquire a third key point and a fourth key point on a second layout object, wherein the routing request is used to request a connection from the first layout object to the second layout object, the first key point and the second key point are connection start points, and the third key point and the fourth key point are connection end points;

[0206] A determining unit 1304 is used to determine a connection start direction according to a first position difference between the first key point and the second key point, and to determine a connection end direction according to a second position difference between the third key point and the fourth key point;

[0207] An orthogonal unit 1306 is used to perform an orthogonal calculation based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction and the connection end direction to obtain a connection coordinate set, wherein the connection coordinate set includes multiple key points;

[0208] The connecting unit 1308 is used to connect the multiple key points in sequence to obtain a connection line connecting the first layout object to the second layout object.

[0209] As an optional solution, the orthogonal unit 1306 includes:

[0210] A first orthogonal module, configured to perform a first orthogonal calculation based on the first key point, the third key point, the connection start direction, and the connection end direction to obtain at least one first intermediate key point, wherein the at least one first intermediate key point is located between the first key point and the third key point;

[0211] A second orthogonal module is used to perform a second orthogonal calculation based on the second key point, the fourth key point, the connection start direction and the connection end direction to obtain at least one second intermediate key point, wherein the at least one second intermediate key point is located between the second key point and the fourth key point.

[0212] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0213] As an optional solution, the first orthogonal module includes:

[0214] A first acquisition submodule is used to acquire a first vector, wherein the first vector takes the first key point as a starting point and takes the third key point as an end point;

[0215] A first generating submodule is configured to generate, based on the first vector, a first vertical vector and a first horizontal vector with the first key point as a starting point, and generate a second vertical vector and a second horizontal vector with the third key point as a starting point, wherein the first vertical vector, the first horizontal vector, the second vertical vector, and the second horizontal vector intersect to form a first closed rectangle, and the first vector is a cross line of the first closed rectangle;

[0216] A first determination submodule is used to determine a first target vector which is parallel to the connection start direction and has the same direction from the first vertical vector, the opposite vector of the first vertical vector, the first horizontal vector, and the opposite vector of the first horizontal vector;

[0217] A second determination submodule is used to determine a second target vector parallel to and in the opposite direction of the connection end direction from the second vertical vector, the opposite vector of the second vertical vector, the second horizontal vector, and the opposite vector of the second horizontal vector;

[0218] The first moving submodule is used to move with the first key point as the starting point and with reference to the first target vector, and to move with the third key point as the starting point and with reference to the second target vector, to obtain at least two line segments, and to determine the line segment connection point of the at least two line segments as the at least one first intermediate key point, wherein the at least two line segments are used to connect the first key point and the third key point.

[0219] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0220] As an optional solution, the first moving submodule includes:

[0221] A first moving subunit is used for, when the first target vector is parallel to the second target vector, starting from the first key point, moving a first distance along the first target vector to a first intermediate point, and starting from the third key point, moving a second distance along the second target vector to a second intermediate point, wherein a line between the first intermediate point and the second intermediate point is perpendicular to the first target vector and perpendicular to the second target vector;

[0222] The first determining subunit is configured to determine the first intermediate point and the second intermediate point as the at least one first intermediate key point.

[0223] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0224] As an optional solution, the first moving submodule includes:

[0225] a second moving subunit, configured to, when the first target vector is perpendicular to the second target vector, take the first key point as a starting point, move a third distance along the first target vector to a third intermediate point, then take the third intermediate point as a starting point, move a fourth distance along the first turning vector to a fourth intermediate point, and take the third key point as a starting point, move a fifth distance along the second target vector to a fifth intermediate point, wherein the first turning vector is perpendicular to the first target vector and faces the third key point, and a line between the fourth intermediate point and the fifth intermediate point is parallel to the first target vector and perpendicular to the second target vector;

[0226] The second determining subunit is used to determine the third intermediate point, the fourth intermediate point and the fifth intermediate point as the at least one first intermediate key point.

[0227] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0228] As an optional solution, the second orthogonal module includes:

[0229] A second acquisition submodule is used to acquire a second vector, wherein the second vector takes the second key point as a starting point and takes the fourth key point as an end point;

[0230] A second generating submodule is used to generate, based on the second vector, a third vertical vector and a third horizontal vector with the second key point as a starting point, and to generate a fourth vertical vector and a fourth horizontal vector with the fourth key point as a starting point, wherein the third vertical vector, the third horizontal vector, the fourth vertical vector, and the fourth horizontal vector intersect to form a second closed rectangle, and the second vector is a crossing line of the second closed rectangle;

[0231] A third determination submodule is used to determine a third target vector which is parallel to the connection start direction and has the same direction from the third vertical vector, the opposite vector of the third vertical vector, the third horizontal vector, and the opposite vector of the third horizontal vector;

[0232] a fourth determination submodule, configured to determine, from the fourth vertical vector, the opposite vector of the fourth vertical vector, the fourth horizontal vector, and the opposite vector of the fourth horizontal vector, a fourth target vector that is parallel to and in the opposite direction of the connection end direction;

[0233] The second moving submodule is used to move with the second key point as the starting point and referring to the third target vector, and to move with the fourth key point as the starting point and referring to the fourth target vector, to obtain a plurality of line segments, and to determine the line segment connection points of the plurality of line segments as the at least one second intermediate key point, wherein the plurality of line segments are used to connect the second key point and the fourth key point.

[0234] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0235] As an optional solution, the second moving submodule includes:

[0236] a third moving subunit, configured to, when the third target vector is parallel to the fourth target vector, take the second key point as a starting point, move a sixth distance along the third target vector to a sixth intermediate point, and take the fourth key point as a starting point, move a seventh distance along the fourth target vector to a seventh intermediate point, wherein a line between the sixth intermediate point and the seventh intermediate point is perpendicular to the third target vector and perpendicular to the fourth target vector;

[0237] The third determining subunit is configured to determine the sixth intermediate point and the seventh intermediate point as the at least one second intermediate key point.

[0238] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0239] As an optional solution, the second moving submodule includes:

[0240] a fourth moving subunit, for, when the third target vector is perpendicular to the fourth target vector, taking the third key point as a starting point, moving an eighth distance along the third target vector to an eighth intermediate point, then taking the eighth intermediate point as a starting point, moving a ninth distance along the second turning vector to a ninth intermediate point, and taking the fourth key point as a starting point, moving a tenth distance along the fourth target vector to a tenth intermediate point, wherein the second turning vector is perpendicular to the third target vector and faces the fourth key point, and a line between the ninth intermediate point and the tenth intermediate point is parallel to the third target vector and perpendicular to the fourth target vector;

[0241] The fourth determining subunit is used to determine the eighth intermediate point, the ninth intermediate point and the tenth intermediate point as the at least one second intermediate key point.

[0242] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0243] As an optional solution, the connecting unit 1308 includes:

[0244] A first determining module is used to determine a key point belonging to a first link and a key point belonging to a second link from the connection coordinate set, wherein the first link is a link corresponding to the first key point as a starting point and the third key point as an end point, and the second link is a link corresponding to the second key point as a starting point and the fourth key point as an end point;

[0245] A first connection module is used to sequentially connect every two adjacent key points among the key points of the first connection line, starting from the first key point, until connecting to the third key point;

[0246] The second connection module is used to sequentially connect every two adjacent key points among the key points of the second link, starting from the second key point, until connecting to the fourth key point.

[0247] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0248] As an optional solution, the device further includes:

[0249] A first updating module is configured to, after sequentially connecting the plurality of key points to obtain a connection line connecting the first layout object to the second layout object, update the coordinate information of the first reference key point in response to a first drag operation triggered on the first reference key point to obtain the updated first reference key point, wherein the connection coordinate set includes the first reference key point;

[0250] The first correction module is used to correct the connection line between the first reference key point and other key points based on the updated first reference key point after connecting the multiple key points in sequence to obtain the connection line connecting the first layout object to the second layout object.

[0251] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0252] As an optional solution, the device further includes:

[0253] A second updating module is used for, after sequentially connecting the plurality of key points to obtain a line connecting the first layout object to the second layout object, updating the coordinate information of the second reference key point in response to a second drag operation triggered on the second reference key point, and updating the coordinate information of the third reference key point to obtain an updated second reference key point and an updated third reference key point, wherein the connection coordinate set includes the second reference key point and the third reference key point, the second reference key point is a key point on the first line, the third reference key point is a key point on the second line symmetrical to the second reference key point, and the relative positional relationship between the second reference key point and the third reference key point remains unchanged before and after the second drag operation;

[0254] The second correction module is used to correct the connection line between the second reference key point and other key points based on the updated second reference key point after connecting the multiple key points in sequence to obtain the connection line connecting the first layout object to the second layout object, and to correct the connection line between the third reference key point and other key points based on the updated third reference key point.

[0255] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0256] As an optional solution, when the first layout object is an Xmon capacitor, the second layout object is a pad;

[0257] In the case where the first layout object is a resonant cavity, the second layout object is one of the following: the resonant cavity, the pad.

[0258] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0259] As an optional solution, the determining unit 1304 includes:

[0260] A first acquisition module, used to acquire a first horizontal coordinate and a first vertical coordinate of the first key point on the layout, and a second horizontal coordinate and a second vertical coordinate of the second key point on the layout;

[0261] A second acquisition module, used to acquire a first coordinate difference between the first horizontal coordinate and the second horizontal coordinate, and to acquire a second coordinate difference between the first vertical coordinate and the second vertical coordinate;

[0262] The second determining module is used to determine the connection starting direction according to the first coordinate difference and the second coordinate difference.

[0263] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0264] As an optional solution, the second determining module includes:

[0265] a fifth determining submodule, configured to determine that the connection start direction is an upward direction when the first coordinate difference is greater than 0 and the second coordinate difference is less than 0;

[0266] a sixth determining submodule, configured to determine that the connection start direction is a downward direction when the first coordinate difference is less than 0 and the second coordinate difference is less than 0;

[0267] a seventh determination submodule, configured to determine that the connection start direction is a right direction when the first coordinate difference is less than 0 and the second coordinate difference is greater than 0;

[0268] An eighth determination submodule is used to determine that the connection start direction is a left direction when the first coordinate difference is greater than 0 and the second coordinate difference is greater than 0.

[0269] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0270] As an optional solution, the determining unit 1304 includes:

[0271] A third acquisition module, used to acquire a third horizontal coordinate and a third vertical coordinate of the third key point on the layout, and a fourth horizontal coordinate and a fourth vertical coordinate of the fourth key point on the layout;

[0272] a fourth acquisition module, configured to acquire a third coordinate difference between the third horizontal coordinate and the fourth horizontal coordinate, and to acquire a fourth coordinate difference between the third vertical coordinate and the fourth vertical coordinate;

[0273] The third determining module is used to determine the connection ending direction according to the third coordinate difference and the fourth coordinate difference.

[0274] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0275] As an optional solution, the third determining module includes:

[0276] A ninth determination submodule, configured to determine that the connection end direction is an upward direction when the third coordinate difference is greater than 0 and the fourth coordinate difference is less than 0;

[0277] a tenth determining submodule, configured to determine that the connection ending direction is a downward direction when the third coordinate difference is less than 0 and the fourth coordinate difference is less than 0;

[0278] An eleventh determining submodule, configured to determine that the connection ending direction is a right direction when the third coordinate difference is less than 0 and the fourth coordinate difference is greater than 0;

[0279] The twelfth determination submodule is used to determine that the connection end direction is a left direction when the third coordinate difference is greater than 0 and the fourth coordinate difference is greater than 0.

[0280] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0281] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0282] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0283] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0284] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0285] An embodiment of the present application further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0286] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0287] An embodiment of the present application further provides a computer program product, comprising a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program product, and when the computer program is executed by a processor, the steps of the method described in each embodiment of the present application are implemented.

[0288] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0289] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order from that herein, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present application is not limited to any specific combination of hardware and software.

[0290] The above description is only the preferred embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application shall be included in the protection scope of the present application.

Claims

1. A layout object wiring method, characterized in that: include: In response to a wiring request, obtaining a first key point and a second key point on a first layout object, and obtaining a third key point and a fourth key point on a second layout object, wherein the wiring request is used to request a connection from the first layout object to the second layout object, the first key point and the second key point are connection start points, and the third key point and the fourth key point are connection end points; Determining a connection start direction according to a first position difference between the first key point and the second key point, and determining a connection end direction according to a second position difference between the third key point and the fourth key point; Based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction and the connection end direction, an orthogonal calculation is performed to obtain a connection coordinate set, including: based on the first key point, the third key point, the connection start direction and the connection end direction, a first orthogonal calculation is performed to obtain at least one first intermediate key point, wherein the at least one first intermediate key point is located between the first key point and the third key point; based on the second key point, the fourth key point, the connection start direction and the connection end direction, a second orthogonal calculation is performed to obtain at least one second intermediate key point, wherein the at least one second intermediate key point is located between the second key point and the fourth key point, wherein the connection coordinate set includes a plurality of key points; The method performs a first orthogonal calculation based on the first key point, the third key point, the connection start direction and the connection end direction to obtain at least one first intermediate key point, including: obtaining a first vector, wherein the first vector takes the first key point as a starting point and takes the third key point as an end point; based on the first vector, generating a first vertical vector and a first horizontal vector taking the first key point as a starting point, and generating a second vertical vector and a second horizontal vector taking the third key point as a starting point, wherein the first vertical vector, the first horizontal vector, the second vertical vector and the second horizontal vector intersect to form a first closed rectangle, and the first vector is a cross line of the first closed rectangle; from the first vertical vector, the first vertical vector and the first horizontal vector Determine a first target vector that is parallel to and has the same direction as the connection start direction from the opposite vector of the first key point, the first horizontal vector, and the opposite vector of the first horizontal vector; determine a second target vector that is parallel to and has the same direction as the connection end direction from the second vertical vector, the opposite vector of the second vertical vector, the second horizontal vector, and the opposite vector of the second horizontal vector; take the first key point as the starting point, move with reference to the first target vector, and take the third key point as the starting point, move with reference to the second target vector to obtain at least two line segments, and determine the line segment connection point of the at least two line segments as the at least one first intermediate key point, wherein the at least two line segments are used to connect the first key point and the third key point; The plurality of key points are connected in sequence to obtain a connection line connecting the first layout object to the second layout object.

2. The layout object wiring method according to claim 1, characterized in that: The step of taking the first key point as a starting point and moving with reference to the first target vector, and taking the third key point as a starting point and moving with reference to the second target vector to obtain at least two line segments, and determining a line segment connection point of the at least two line segments as the at least one first intermediate key point, comprises: In the case where the first target vector is parallel to the second target vector, starting from the first key point, moving a first distance along the first target vector to a first intermediate point, and starting from the third key point, moving a second distance along the second target vector to a second intermediate point, wherein a line between the first intermediate point and the second intermediate point is perpendicular to the first target vector and perpendicular to the second target vector; The first intermediate point and the second intermediate point are determined as the at least one first intermediate key point.

3. The layout object wiring method according to claim 1, characterized in that: The step of taking the first key point as a starting point and moving with reference to the first target vector, and taking the third key point as a starting point and moving with reference to the second target vector to obtain at least two line segments, and determining a line segment connection point of the at least two line segments as the at least one first intermediate key point, comprises: In the case where the first target vector is perpendicular to the second target vector, starting from the first key point, moving along the first target vector by a third distance to a third intermediate point, starting from the third intermediate point, moving along the first turning vector by a fourth distance to a fourth intermediate point, and starting from the third key point, moving along the second target vector by a fifth distance to a fifth intermediate point, wherein the first turning vector is perpendicular to the first target vector and faces the third key point, and a line between the fourth intermediate point and the fifth intermediate point is parallel to the first target vector and perpendicular to the second target vector; The third intermediate point, the fourth intermediate point and the fifth intermediate point are determined as the at least one first intermediate key point.

4. The layout object wiring method according to claim 1, characterized in that: The performing a second orthogonal calculation based on the second key point, the fourth key point, the connection start direction and the connection end direction to obtain at least one second intermediate key point comprises: Obtain a second vector, wherein the second vector starts from the second key point and ends at the fourth key point; Based on the second vector, a third vertical vector and a third horizontal vector are generated with the second key point as a starting point, and a fourth vertical vector and a fourth horizontal vector are generated with the fourth key point as a starting point, wherein the third vertical vector, the third horizontal vector, the fourth vertical vector, and the fourth horizontal vector intersect to form a second closed rectangle, and the second vector is a cross line of the second closed rectangle; Determine a third target vector parallel to and in the same direction as the connection start direction from the third vertical vector, the opposite vector of the third vertical vector, the third horizontal vector, and the opposite vector of the third horizontal vector; Determine a fourth target vector parallel to and in the opposite direction of the connection end direction from the fourth vertical vector, the opposite vector of the fourth vertical vector, the fourth horizontal vector, and the opposite vector of the fourth horizontal vector; Taking the second key point as the starting point and moving with reference to the third target vector, and taking the fourth key point as the starting point and moving with reference to the fourth target vector, a plurality of line segments are obtained, and the line segment connection points of the plurality of line segments are determined as the at least one second intermediate key point, wherein the plurality of line segments are used to connect the second key point and the fourth key point.

5. The layout object wiring method according to claim 4, characterized in that: The step of taking the second key point as a starting point and moving with reference to the third target vector, and taking the fourth key point as a starting point and moving with reference to the fourth target vector to obtain a plurality of line segments, and determining the line segment connection points of the plurality of line segments as the at least one second intermediate key point, comprises: In the case where the third target vector is parallel to the fourth target vector, starting from the second key point, moving a sixth distance along the third target vector to a sixth intermediate point, and starting from the fourth key point, moving a seventh distance along the fourth target vector to a seventh intermediate point, wherein a line between the sixth intermediate point and the seventh intermediate point is perpendicular to the third target vector and perpendicular to the fourth target vector; The sixth intermediate point and the seventh intermediate point are determined as the at least one second intermediate key point.

6. The layout object wiring method according to claim 4, characterized in that: The step of taking the second key point as a starting point and moving with reference to the third target vector, and taking the fourth key point as a starting point and moving with reference to the fourth target vector to obtain a plurality of line segments, and determining the line segment connection points of the plurality of line segments as the at least one second intermediate key point, comprises: In the case where the third target vector is perpendicular to the fourth target vector, starting from the third key point, moving along the third target vector by an eighth distance to an eighth intermediate point, then starting from the eighth intermediate point, moving along the second turning vector by a ninth distance to a ninth intermediate point, and starting from the fourth key point, moving along the fourth target vector by a tenth distance to a tenth intermediate point, wherein the second turning vector is perpendicular to the third target vector and faces the fourth key point, and a line between the ninth intermediate point and the tenth intermediate point is parallel to the third target vector and perpendicular to the fourth target vector; The eighth intermediate point, the ninth intermediate point and the tenth intermediate point are determined as the at least one second intermediate key point.

7. The layout object wiring method according to claim 1, characterized in that: The step of sequentially connecting the plurality of key points to obtain a line connecting the first layout object to the second layout object includes: Determine a key point belonging to a first connecting line and a key point belonging to a second connecting line from the connecting coordinate set, wherein the first connecting line is a connecting line corresponding to the first key point as a starting point and the third key point as an end point, and the second connecting line is a connecting line corresponding to the second key point as a starting point and the fourth key point as an end point; Among the key points of the first connecting line, starting from the first key point, sequentially connect every two adjacent key points until connecting to the third key point; Among the key points of the second connecting line, starting from the second key point, every two adjacent key points are sequentially connected until connecting to the fourth key point.

8. The layout object wiring method according to claim 1, characterized in that: After the plurality of key points are sequentially connected to obtain a line connecting the first layout object to the second layout object, the method further includes: In response to a first drag operation triggered on a first reference key point, updating coordinate information of the first reference key point to obtain an updated first reference key point, wherein the connection coordinate set includes the first reference key point; Based on the updated first reference key point, the connection line between the first reference key point and other key points is corrected.

9. The layout object wiring method according to claim 1, characterized in that: After the plurality of key points are sequentially connected to obtain a line connecting the first layout object to the second layout object, the method further includes: In response to a second drag operation triggered on a second reference key point, the coordinate information of the second reference key point is updated, and the coordinate information of the third reference key point is updated to obtain an updated second reference key point and an updated third reference key point, wherein the connection coordinate set includes the second reference key point and the third reference key point, the second reference key point is a key point on a first connecting line, the third reference key point is a key point on a second connecting line symmetrical to the second reference key point, and the relative positional relationship between the second reference key point and the third reference key point remains unchanged before and after the second drag operation; Based on the updated second reference key point, the connection line between the second reference key point and other key points is corrected, and based on the updated third reference key point, the connection line between the third reference key point and other key points is corrected.

10. The layout object wiring method according to claim 1, characterized in that: When the first layout object is an Xmon capacitor, the second layout object is a pad; In the case where the first layout object is a resonant cavity, the second layout object is one of the following: the resonant cavity, the pad.

11. The layout object wiring method according to claim 1, characterized in that: The step of determining the connection start direction according to the first position difference between the first key point and the second key point includes: Obtaining a first horizontal coordinate and a first vertical coordinate of the first key point on the layout, and a second horizontal coordinate and a second vertical coordinate of the second key point on the layout; Acquire a first coordinate difference between the first horizontal coordinate and the second horizontal coordinate, and acquire a second coordinate difference between the first vertical coordinate and the second vertical coordinate; The connection start direction is determined according to the first coordinate difference and the second coordinate difference.

12. The layout object wiring method according to claim 11, characterized in that: The determining the connection start direction according to the first coordinate difference and the second coordinate difference includes: When the first coordinate difference is greater than 0 and the second coordinate difference is less than 0, determining that the connection start direction is an upward direction; When the first coordinate difference is less than 0 and the second coordinate difference is less than 0, determining that the connection start direction is a downward direction; When the first coordinate difference is less than 0 and the second coordinate difference is greater than 0, determining the connection start direction to be a right direction; When the first coordinate difference is greater than 0 and the second coordinate difference is greater than 0, the connection start direction is determined to be the left direction.

13. The layout object wiring method according to claim 1, characterized in that: The step of determining the connection start direction according to the second position difference between the third key point and the fourth key point includes: Obtaining a third horizontal coordinate and a third vertical coordinate of the third key point on the layout, and a fourth horizontal coordinate and a fourth vertical coordinate of the fourth key point on the layout; Acquire a third coordinate difference between the third horizontal coordinate and the fourth horizontal coordinate, and acquire a fourth coordinate difference between the third vertical coordinate and the fourth vertical coordinate; The connection ending direction is determined according to the third coordinate difference and the fourth coordinate difference.

14. The layout object wiring method according to claim 13, characterized in that: The determining the connection ending direction according to the third coordinate difference and the fourth coordinate difference includes: When the third coordinate difference is greater than 0 and the fourth coordinate difference is less than 0, determining that the connection end direction is an upward direction; When the third coordinate difference is less than 0 and the fourth coordinate difference is less than 0, determining that the connection end direction is a downward direction; When the third coordinate difference is less than 0 and the fourth coordinate difference is greater than 0, determining that the connection end direction is the right direction; When the third coordinate difference is greater than 0 and the fourth coordinate difference is greater than 0, the connection end direction is determined to be the left direction.

15. A layout object wiring device, characterized in that: include: an acquisition unit, configured to acquire, in response to a routing request, a first key point and a second key point on a first layout object, and to acquire a third key point and a fourth key point on a second layout object, wherein the routing request is used to request a connection from the first layout object to the second layout object, the first key point and the second key point are connection start points, and the third key point and the fourth key point are connection end points; a determining unit, configured to determine a connection start direction according to a first position difference between the first key point and the second key point, and to determine a connection end direction according to a second position difference between the third key point and the fourth key point; an orthogonal unit, configured to perform an orthogonal calculation based on the first key point, the second key point, the third key point, the fourth key point, the connection start direction, and the connection end direction to obtain a connection coordinate set, comprising: performing a first orthogonal calculation based on the first key point, the third key point, the connection start direction, and the connection end direction to obtain at least one first intermediate key point, wherein the at least one first intermediate key point is located between the first key point and the third key point; performing a second orthogonal calculation based on the second key point, the fourth key point, the connection start direction, and the connection end direction to obtain at least one second intermediate key point, wherein the at least one second intermediate key point is located between the second key point and the fourth key point, wherein the connection coordinate set includes a plurality of key points; The method performs a first orthogonal calculation based on the first key point, the third key point, the connection start direction and the connection end direction to obtain at least one first intermediate key point, including: obtaining a first vector, wherein the first vector takes the first key point as a starting point and takes the third key point as an end point; based on the first vector, generating a first vertical vector and a first horizontal vector taking the first key point as a starting point, and generating a second vertical vector and a second horizontal vector taking the third key point as a starting point, wherein the first vertical vector, the first horizontal vector, the second vertical vector and the second horizontal vector intersect to form a first closed rectangle, and the first vector is a cross line of the first closed rectangle; from the first vertical vector, the first vertical vector and the first horizontal vector Determine a first target vector that is parallel to and has the same direction as the connection start direction from the opposite vector of the first key point, the first horizontal vector, and the opposite vector of the first horizontal vector; determine a second target vector that is parallel to and has the same direction as the connection end direction from the second vertical vector, the opposite vector of the second vertical vector, the second horizontal vector, and the opposite vector of the second horizontal vector; take the first key point as the starting point, move with reference to the first target vector, and take the third key point as the starting point, move with reference to the second target vector to obtain at least two line segments, and determine the line segment connection point of the at least two line segments as the at least one first intermediate key point, wherein the at least two line segments are used to connect the first key point and the third key point; A connecting unit is used to connect the multiple key points in sequence to obtain a connection line connecting the first layout object to the second layout object.

16. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method according to any one of claims 1 to 14 when executed by a processor.

17. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 14 are implemented.

18. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 14 are implemented.

Citation Information

Patent Citations

  • Visual flow chart dragging and drawing method, device and apparatus and storage medium

    CN112950744A

  • Winding pattern drawing method and device, equipment, and storage medium

    CN113888669A