Method, system, storage medium and electronic device for constructing a pad pattern
By defining the layout area in the qubit layout and filling it with auxiliary lines, and placing the PAD graphics according to preset distance values, the problem of low efficiency in manual drawing is solved, and efficient and accurate PAD graphics construction is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ORIGIN QUANTUM INSTR CO
- Filing Date
- 2022-08-19
- Publication Date
- 2026-06-09
AI Technical Summary
In existing technologies, manually drawing PAD patterns is inefficient and prone to errors, making it difficult to achieve compact and precise placement of PAD patterns in qubit layouts.
By determining the layout area of the qubit pattern, filling it with auxiliary lines with a preset step size, and placing PAD graphics between detection points according to a preset distance value, the PAD graphics are constructed using the auxiliary lines and the detection points of the avoidance layer.
It improves the drawing efficiency and accuracy of PAD graphics, reduces the labor intensity and time cost for designers, and ensures that the distance rules and avoidance areas between PAD graphics are met.
Smart Images

Figure CN115392185B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of integrated circuit design technology, and in particular to a method, system, storage medium, and electronic device for constructing PAD graphics. Background Technology
[0002] With the development of quantum computing technology, the number of qubits on quantum chips is gradually increasing, and the number of signal transmission lines on quantum chips is also increasing accordingly. However, the size of quantum chips is getting smaller and smaller, so the signal transmission lines on quantum chips are very crowded. In the design of qubit layout, it is often necessary to place PAD patterns in designated areas of the qubit layout. A PAD is a pad that connects circuit components across layers. When placing PAD patterns, it is necessary to place them compactly, but adjacent PAD patterns must meet certain distance rules.
[0003] However, designers of qubit layouts typically draw PAD patterns manually. Manually drawing PAD patterns requires manually determining the distance between two adjacent PAD patterns. Currently, it is often necessary to draw tens of thousands of PAD patterns in a qubit layout, which results in extremely low PAD pattern drawing efficiency and difficulty in ensuring drawing accuracy. It is also very easy for errors to occur, such as PAD patterns accidentally overlapping or being too sparse. Summary of the Invention
[0004] The purpose of this invention is to provide a method, system, storage medium, and electronic device for constructing PAD graphics, so as to solve the problems of low efficiency and easy error in manually drawing PAD graphics in the prior art, and to automatically construct PAD graphics, thereby greatly improving the drawing efficiency and drawing accuracy of PAD graphics.
[0005] To solve the above-mentioned technical problems, the present invention provides a method for constructing PAD graphics, comprising:
[0006] Determine the layout area of the PAD pattern to be constructed in the qubit layout;
[0007] Fill the layout area with auxiliary lines of a preset step size in a preset direction;
[0008] Points are selected at equal intervals between the two endpoints of each auxiliary line according to the preset step size value, and the endpoints of each auxiliary line and the selected points are used as detection points.
[0009] Traverse all detection points in the plotting area, and take the detection points with a spacing of not less than a preset distance value as placement points, and place the PAD graphic at the placement points, wherein the preset distance value is not less than the preset step size value.
[0010] Preferably, the step of determining the layout region of the PAD pattern to be constructed in the qubit layout includes:
[0011] Determine the target region in the qubit layout;
[0012] Determine the avoidance zone within the target area;
[0013] The target area and the avoidance area are subtracted graphically to obtain the layout area of the PAD graphic to be constructed.
[0014] Preferably, the step of filling the layout area with auxiliary lines with a preset step size according to a preset direction includes:
[0015] Obtain the outer border of the plotted area;
[0016] Determine the starting vertex of the outer outline in a preset direction, wherein the starting vertex is the vertex of the layout region with the smallest or largest coordinate value in the preset direction;
[0017] Starting from the initial vertex, fill the outer frame with auxiliary lines of a preset step size, following a preset direction.
[0018] Preferably, the step of traversing all placement points in the layout area, taking detection points with a spacing of not less than a preset distance between each pair of points as placement points, and placing the PAD graphic at the placement points includes:
[0019] The detection points of the layout area are sorted according to a preset order, and the first detection point of the layout area is taken as the current detection point;
[0020] Detect whether there are center points of other PAD graphics within a range centered on the current detection point and with a radius of a preset distance value;
[0021] If there is no center point of other PAD graphics, the current detection point is used as the placement point, and the next detection point is determined as the current detection point;
[0022] Repeat the step of detecting whether there are other PAD graphic center points within a range with the current detection point as the center and a radius of a preset distance value, until the last detection point is reached;
[0023] Place the PAD graphic at the designated location.
[0024] Preferably, before repeating the step of detecting whether there are center points of other PAD graphics within a range centered on the current detection point and with a radius of a preset distance value, the method further includes:
[0025] If the center point of another PAD graphic exists, the next detection point will be determined as the current detection point.
[0026] Preferably, the center point of the PAD graphic is the placement point.
[0027] Preferably, before the step of traversing all detection points in the layout area and using detection points with a spacing of not less than a preset distance as placement points, and placing the PAD graphic at the placement points, the method further includes:
[0028] Determine the avoidance layers that require PAD graphic avoidance in the quantum bit layout;
[0029] Obtain the endpoints of each trace on the avoidance layer, wherein the traces on the avoidance layer are composed of line segments;
[0030] The scatter step size value of the avoidance layer is calculated based on the preset avoidance value;
[0031] Points are selected at equal intervals between two adjacent endpoints of each trace on the avoidance layer according to the scatter step value, and the endpoints of each trace and the selected points are used as scatter points.
[0032] The step of detecting whether there are center points of other PAD graphics within a range centered on the current detection point and with a radius of a preset distance value also includes:
[0033] Detect whether there are scattered points of the avoidance layer within a circle centered at the current detection point and with a radius of a preset avoidance value;
[0034] The step of using the current detection point as the placement point and determining the next detection point as the current detection point when there is no other PAD graphic center point is as follows:
[0035] When there is no center point of other PAD graphics and no scattered points of the avoidance layer, the current detection point is used as the placement point, and the next detection point is determined as the current detection point;
[0036] The step of determining the next detection point as the current detection point when there are other PAD graphic center points is as follows:
[0037] If there is a center point of another PAD graphic or a scattered point of the avoidance layer, the next detection point is determined as the current detection point.
[0038] Preferably, the step of calculating the scatter step size value of the avoidance layer based on the preset avoidance value includes:
[0039] The side length of the equilateral triangle is calculated by using the preset avoidance value as the height of the equilateral triangle;
[0040] The side length of the equilateral triangle is used as the step size value for the scatter points.
[0041] Preferably, the step of selecting points at equal intervals between two adjacent endpoints of each trace on the avoidance layer according to the scatter step size value, and using the endpoints of each trace and the selected points as scatter points, further includes:
[0042] Detect whether the beginning and end points of each trace on the avoidance layer overlap;
[0043] When the beginning and end points of the current trace coincide, scan lines are filled in the closed area of the current trace according to a preset direction, wherein the distance between two adjacent scan lines is the preset avoidance value;
[0044] Points are selected at equal intervals between the two endpoints of each scan line according to the scatter step value, and the endpoints of each scan line and the selected points are used as scatter points.
[0045] To address the aforementioned technical problems, the present invention also provides a system for constructing PAD graphics, comprising:
[0046] The region determination module is used to determine the layout region of the PAD pattern to be constructed in the quantum bit layout;
[0047] The region filling module is used to fill the layout area with auxiliary lines with a preset step size value according to a preset direction;
[0048] The point selection module is used to select points at equal intervals between the two endpoints of each of the auxiliary lines according to the preset step value, and to use the endpoints of each of the auxiliary lines and the selected points as detection points.
[0049] The map construction module is used to traverse all detection points in the map area, take detection points with a spacing of not less than a preset distance value as placement points, and place PAD graphics at the placement points, wherein the preset distance value is not less than the preset step value.
[0050] Preferably, the region determination module includes:
[0051] The target region determination unit is used to determine the target region in the qubit layout;
[0052] A avoidance area determination unit is used to determine the avoidance area within the target area;
[0053] The graphics operation unit is used to perform a subtraction operation on the target area and the avoidance area to obtain the layout area of the PAD graphic to be constructed.
[0054] Preferably, the region filling module includes
[0055] The border acquisition unit is used to acquire the outer border of the layout area;
[0056] A vertex determination unit is used to determine the starting vertex of the outer contour border in a preset direction, wherein the starting vertex is the vertex of the layout region with the smallest or largest coordinate value in the preset direction;
[0057] A region filling unit is used to fill auxiliary lines with a preset step size value within the outer frame, starting from the starting vertex, in a preset direction.
[0058] Preferably, the layout construction module includes:
[0059] The starting point determination unit is used to sort the detection points of the layout area according to a preset order, and to take the first detection point of the layout area as the current detection point;
[0060] The proximity detection unit is used to detect whether there is a center point of other PAD graphics within a range centered on the current detection point and with a radius of a preset distance value;
[0061] The detection point processing unit is used to, when the neighboring detection unit detects that there is no center point of other PAD graphics, take the current detection point as the placement point and determine the next detection point as the current detection point;
[0062] The traversal execution unit is used to repeat the step of detecting whether there are other PAD graphic center points within a range with the current detection point as the center and a radius of a preset distance value, until the last detection point is reached;
[0063] A graphic placement unit is used to place a PAD graphic at the placement point.
[0064] Preferably, the detection point processing unit is further configured to determine the next detection point as the current detection point when the neighboring detection unit detects the presence of the center point of another PAD graphic.
[0065] Preferably, the center point of the PAD graphic is the placement point.
[0066] Preferably, the system further includes a layer determination module, an endpoint acquisition module, a step size calculation module, and a scatter point selection module;
[0067] The layer determination module is used to determine the avoidance layers in the quantum bit layout that require PAD graphics to avoid;
[0068] The endpoint acquisition module is used to acquire the endpoints of each line on the avoidance layer, wherein the lines on the avoidance layer are composed of line segments;
[0069] The step size calculation module is used to calculate the scatter step size value of the avoidance layer based on the preset avoidance value;
[0070] The scatter selection module is used to select points at equal intervals between two adjacent endpoints of each path on the avoidance layer according to the scatter step value, and to use the endpoints of each path and the selected points as scatter points.
[0071] The proximity detection unit is specifically used to detect whether there is a center point of other PAD graphics within a range with the current detection point as the center and a radius of a preset distance value, and to detect whether there are scattered points of the avoidance layer within a range with the current detection point as the center and a radius of a preset avoidance value;
[0072] The detection point processing unit is specifically used to, when the neighboring detection unit detects that there is no center point of other PAD graphics and no scattered points of the avoidance layer, take the current detection point as the placement point and determine the next detection point as the current detection point; and when the neighboring detection unit detects that there is a center point of other PAD graphics or scattered points of the avoidance layer, determine the next detection point as the current detection point.
[0073] Preferably, the step size calculation module includes:
[0074] A side length calculation unit is used to calculate the side length of the equilateral triangle by using the preset avoidance value as the height of the equilateral triangle;
[0075] The step size determination unit is used to use the side length of the equilateral triangle as the step size value of the scatter points.
[0076] Preferably, the system further includes a closure detection module and a closure filling module;
[0077] The closed detection module is used to detect whether the beginning and end points of each line on the avoidance layer overlap.
[0078] The closed filling module is used to fill the closed area of the current trace in a preset direction when the closed detection module detects that the beginning and end points of the current trace coincide. The distance between two adjacent scan lines is the preset avoidance value.
[0079] The scatter selection module is also used to select points at equal intervals between the two endpoints of each scan line according to the scatter step value, and to use the endpoints of each scan line and the selected points as scatter points.
[0080] To solve the above-mentioned technical problems, the present invention provides a storage medium storing a computer program, the computer program being configured to execute the method for constructing PAD graphics as described in any of the preceding claims when running.
[0081] To address the aforementioned technical problems, the present invention provides an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the method for constructing PAD graphics as described in any of the preceding claims.
[0082] Unlike existing technologies, the method for constructing PAD graphics provided by this invention determines the layout area of the PAD graphics to be constructed, fills the layout area with auxiliary lines with a preset step size according to a preset direction, selects points at equal intervals between the two endpoints of each auxiliary line according to the preset step size, uses the endpoints of each auxiliary line and the selected points as detection points, traverses all detection points in the layout area, and uses the detection points with a distance between each pair of points not less than a preset distance value as placement points, and finally places the PAD graphics at the placement points. Since the preset distance value is not less than the preset step size value, the PAD graphics placed between two adjacent placement points are minimized while meeting the distance requirements. Thus, this invention can automatically construct PAD graphics, greatly improving the drawing efficiency and accuracy of air bridge graphics, and can significantly reduce the labor intensity and time cost of designers.
[0083] The system, storage medium, and electronic device for constructing PAD graphics provided by this invention belong to the same inventive concept as the method for constructing PAD graphics, and therefore have the same beneficial effects, which will not be repeated here. Attached Figure Description
[0084] Figure 1 This is a flowchart illustrating the method for constructing a PAD graphic according to the first embodiment of the present invention.
[0085] Figure 2 for Figure 1 The flowchart shown illustrates the specific process of step S1 in the process diagram.
[0086] Figure 3 This is a schematic diagram of the layout area.
[0087] Figure 4 for Figure 1 The flowchart shown illustrates the specific process of step S2 in the process diagram.
[0088] Figure 5 This is a schematic diagram of auxiliary lines.
[0089] Figure 6 This is a flowchart illustrating the method for constructing a PAD graphic according to the second embodiment of the present invention.
[0090] Figure 7 This is a schematic diagram of the detection points.
[0091] Figure 8This is a flowchart illustrating the method for constructing a PAD graphic according to the third embodiment of the present invention.
[0092] Figure 9 for Figure 8 The flowchart shown illustrates the specific process of step S7 in the process diagram.
[0093] Figure 10 This is a schematic diagram illustrating the calculation principle of the scatter plot step size.
[0094] Figure 11 for Figure 8 The flowchart shown is a detailed diagram of step S8 in the process.
[0095] Figure 12 This is a schematic diagram of the scan lines.
[0096] Figure 13 This is a partial schematic diagram of the qubit layout after the PAD pattern has been constructed.
[0097] Figure 14 This is a schematic diagram of the system for constructing PAD graphics provided in the fourth embodiment of the present invention.
[0098] Figure 15 This is a block diagram illustrating the principle of a system for constructing PAD graphics according to the fifth embodiment of the present invention.
[0099] Figure 16 This is a schematic diagram of the system for constructing PAD graphics provided in the sixth embodiment of the present invention. Detailed Implementation
[0100] The specific embodiments of the present invention will now be described in more detail with reference to the accompanying drawings. The advantages and features of the present invention will become clearer from the following description and claims. It should be noted that the drawings are all in a very simplified form and use non-precise proportions, and are only used to facilitate and clarify the illustration of the embodiments of the present invention.
[0101] In the description of this invention, it should be understood that the terms "center", "upper", "lower", "left", "right", etc., indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.
[0102] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this invention, "a plurality of" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0103] Please refer to Figure 1 The first embodiment of the present invention provides a method for constructing a PAD graphic, the method comprising the following steps:
[0104] S1: Determine the layout area of the PAD pattern to be constructed in the quantum bit layout.
[0105] The layout layer can be determined based on user actions. For example, if the user inputs the coordinates of multiple points, these points are connected sequentially with line segments, and the first and last points are also connected with line segments. The enclosed area is the layout region. Alternatively, the user can manually select multiple points on the quantum bit layout, connect these points sequentially with line segments, and the first and last points are also connected with line segments. The enclosed area is the layout region.
[0106] In this embodiment, the mapping region is a polygon. In some cases, the outline of the user-defined mapping region may contain curves. However, in the current computer environment, it is not possible to construct perfect curves. Only an approximate curve can be constructed by connecting a limited number of line segments sequentially. The higher the computer performance, the more line segments can be used, and the closer the constructed curve is to perfection. However, for the computer, the curve it recognizes is still composed of many line segments. Therefore, even if the outline of the mapping region may contain curves, its essence is still a polygon.
[0107] S2: Fill the layout area with auxiliary lines with a preset step size in the preset direction.
[0108] The preset direction can be any direction in the canvas coordinate system. When drawing the layout, a reference coordinate system is needed, and the horizontal direction of the canvas is usually the X-axis, and the vertical direction of the canvas is the Y-axis.
[0109] S3: Select points at equal intervals between the two endpoints of each auxiliary line according to a preset step size value, and use the endpoints of each auxiliary line and the selected points as detection points.
[0110] In this system, the two endpoints of each auxiliary line are necessarily used as detection points. If the distance between the two endpoints is greater than a preset step value, then a point can be selected between the two endpoints. The first point selected between the two endpoints can be any point. In this embodiment, the first point selected between the two endpoints is a point that is a preset step value away from one of the two endpoints. For example, assuming the length of an auxiliary line is 2.5 times the preset step value S, then the first point selected between the two endpoints is a point that is a distance of S from one endpoint, the second point is a point that is 2S from that endpoint, and the distance between the second point and the other endpoint is 0.5S, so no further points can be selected. Therefore, the final detection points are the two endpoints and the two selected points.
[0111] S4: Traverse all detection points in the map area, and use the detection points with a spacing of not less than the preset distance value as placement points. Place the PAD graphic at the placement points, where the preset distance value is not less than the preset step value.
[0112] The preset step size and preset spacing values can be set according to actual needs. The preset distance value represents the minimum distance between any two air bridge graphics. When the preset distance value equals the preset step size value, two adjacent placement points on an auxiliary line may be adjacent detection points. When the preset distance value is greater than the preset step size value, two adjacent placement points on an auxiliary line will definitely not be adjacent detection points. Since the minimum spacing between placement points is the preset distance value, and the minimum spacing between placement points on two adjacent auxiliary lines is also the preset distance value, after placing PAD graphics at the placement points, the PAD graphics will satisfy the distance rules between each other and will not overlap.
[0113] In some qubit layouts, circuit elements are densely distributed, and PAD patterns cannot be placed on these elements, making it difficult to provide a regular layout area for qubits. In this embodiment, reference... Figure 2 The step of determining the layout region of the PAD pattern to be constructed in the quantum bit layout, i.e., step S1, includes:
[0114] S11: Determine the target region in the qubit layout.
[0115] The target area is the area where the user intends to place the PAD graphic.
[0116] S12: Determine the avoidance zone within the target area.
[0117] The avoidance area is the region within the target area that the PAD graphic needs to avoid. These areas typically contain graphics such as circuit components. There can be more than one avoidance area.
[0118] S13: Perform a graphic subtraction operation on the target area and the avoidance area to obtain the layout area of the PAD graphic to be constructed.
[0119] Since the target area and the avoidance area are determined once their outlines are defined, a Boolean "not" operation can be performed on the outlines of the target area and the avoidance area to subtract their shapes, thus obtaining the layout area for constructing the PAD graphic. For example... Figure 3 As shown, both the target area A and the avoidance area B are rectangles, and the mapping area is the part of the target area A excluding the avoidance area B.
[0120] In this embodiment, reference Figure 4 The step S2, which involves filling the layout area with auxiliary lines of a preset step size in a preset direction, includes:
[0121] S21: Get the outer border of the map region.
[0122] In this process, after determining the layout region in the qubit layout, the outer boundary of the layout region can be obtained based on its position in the qubit layout.
[0123] S22: Determine the starting vertex of the outer outline in a preset direction, where the starting vertex is the vertex with the smallest or largest coordinate value in the preset direction of the map area.
[0124] In this embodiment, the preset direction is preferably the positive Y-axis direction of the drawing board coordinate system, and the starting vertex is preferably the vertex with the smallest coordinate value in the preset direction. For example... Figure 5 As shown in (a), the bottom vertex of the outer border of the plotting region is the starting vertex. It should be noted that there can be more than one starting vertex, such as... Figure 5 As shown in (b), the bottom edge of the outer border of the plotting region is parallel to the X-axis, so the two bottom vertices of the outer border are both starting vertices.
[0125] S23: Starting from the initial vertex, fill the outer frame with auxiliary lines with a preset step size, following the preset direction.
[0126] Among them, such as Figure 5 As shown in (a), the dashed lines in the figure represent auxiliary lines. The auxiliary lines are filled sequentially from the starting vertex to the top vertex according to a preset step size S. Since there is only one starting vertex, an auxiliary line cannot be filled at that position. Therefore, the first auxiliary line is generated starting from a position a preset step size away from the starting vertex. It should be noted that when there are two starting vertices, auxiliary lines can be generated between the two starting vertices. Figure 5As shown in (b), the first auxiliary line is generated between the two starting vertices. Since the first auxiliary line coincides with the bottom edge of the outer frame, the first auxiliary line is the bottom edge of the outer frame.
[0127] Through the above method, the method for constructing PAD graphics in this embodiment can automatically construct PAD graphics in the layout area of the quantum bit layout. The minimum spacing between any two PAD graphics will not be lower than the preset distance value. For designers, they only need to manually set the layout area, preset step size value and preset distance value to automatically complete the placement of PAD graphics. Thus, this embodiment can automatically construct PAD graphics, greatly improve the drawing efficiency and accuracy of air bridge graphics, and can greatly reduce the labor intensity and time cost of designers.
[0128] Please refer to Figure 6 The second embodiment of the present invention provides a method for constructing a PAD graphic. This method includes all the technical features of the first embodiment, and, based on the first embodiment, traverses all placement points in the layout area, taking detection points with a distance between each pair not less than a preset distance value as placement points, and placing the PAD graphic at these placement points. Step S4 includes:
[0129] S41: Sort the detection points of the layout area according to the preset order, and take the first detection point of the layout area as the current detection point.
[0130] Since there may be multiple auxiliary lines in the layout area, and multiple detection points on each auxiliary line, in order to minimize the spacing between two placement points, in this embodiment, the preset order is from left to right according to a preset direction, such as... Figure 7 As shown, the detection points are selected on the auxiliary lines filled within the outer border of the rectangle. The preset direction is the positive Y-axis. The detection points in the layout area are sorted from left to right according to the preset direction. Therefore, the first detection point on the bottom auxiliary line is numbered P1, the second P2, the third P3, and so on. On the second auxiliary line from the bottom, the first detection point is numbered P7, the second P8, and so on. The second-to-last detection point on the top auxiliary line is numbered P35, and the last detection point is numbered P36. The numbering order is the sorting order. The first detection point in the layout area is designated as detection point P1.
[0131] S42: Detect whether there is a center point of other PAD graphics within a range with the current detection point as the center and a radius of a preset distance value.
[0132] The center points of other PAD graphics include not only the center points of PAD graphics on the same auxiliary line, but also the center points of PAD graphics on other auxiliary lines.
[0133] S43: If there is no center point of other PAD graphics, use the current detection point as the placement point and determine the next detection point as the current detection point.
[0134] Since there are no other PAD graphics center points within a radius of a preset distance centered on the current detection point, placing a PAD graphic at the current detection point ensures that it adheres to certain distance rules with other PAD graphics. After determining the current detection point as the placement point, the current detection point is updated, becoming the next detection point. For example... Figure 7 As shown, for the first detection point P1, since no PAD graphic has been placed yet, there must be no center point of other PAD graphics within the range with the current detection point P1 as the center and the radius as the preset distance value d1.
[0135] S44: Check if the traversal has reached the last check point.
[0136] S45: When traversing to the last detection point, place the PAD graphic at the placement point.
[0137] In this embodiment, the center point of the PAD graphic is the placement point. That is, the center point of the PAD graphic is on the auxiliary line. Generally speaking, the top view shape of the PAD is circular, so the center point of the PAD graphic is the center point of the circle. Step S42 is repeated until the last detection point is reached.
[0138] Furthermore, in this embodiment, before step S44, the following steps are also included:
[0139] S46: If there is a center point of another PAD graphic, determine the next detection point as the current detection point.
[0140] If there is a center point of another PAD graphic, it means that placing the PAD graphic at the current detection point does not satisfy the distance rule with other PAD graphics. Therefore, the current detection point is not used as the placement point, but is directly updated and becomes the next detection point.
[0141] Please refer to Figure 8 The third embodiment of the present invention provides a method for constructing an air bridge graphic. This method includes all the technical features of the second embodiment, and based on the second embodiment, it traverses all detection points in the layout area, taking detection points with a spacing of not less than a preset distance value as placement points. Before the step of placing the PAD graphic at the placement point, the method of this embodiment further includes:
[0142] S5: Determine the avoidance layers that require PAD graphic avoidance in the quantum bit layout.
[0143] S6: Get the endpoints of each trace on the avoidance layer, where traces on the avoidance layer are composed of line segments.
[0144] S7: Calculate the scatter step size value of the avoidance layer based on the preset avoidance value.
[0145] S8: On the avoidance layer, select points at equal intervals between two adjacent endpoints of each route according to the scatter step size value, and use the endpoints of each route and the selected points as scatter points. For example, Figure 8 As shown, a line on the avoidance layer includes three endpoints: A1, B1, and C1. Two points S are selected between line segments A1 and B1, and two points S are also selected between line segments B1 and C1. Therefore, the final scattered points include the three endpoints A1, B1, and C1, as well as the four selected points S.
[0146] The step of detecting whether there are center points of other PAD graphics within a radius of a preset distance value centered on the current detection point, i.e., step S42, also includes:
[0147] Detect whether there are scattered points of the avoidance layer within a circle centered at the current detection point and with a radius equal to the preset avoidance value.
[0148] When there is no center point of other PAD graphics, the step of taking the current detection point as the placement point and determining the next detection point as the current detection point, i.e., step S43, is as follows:
[0149] If there is no center point of other PAD graphics and no scattered points of avoidance layer, the current detection point is used as the placement point, and the next detection point is determined as the current detection point.
[0150] When other PAD graphics have center points, the step of determining the next detection point as the current detection point, i.e., step S46, is specifically as follows:
[0151] If there is a center point of another PAD graphic or scattered points of an avoidance layer, the next detection point will be determined as the current detection point.
[0152] In this embodiment, at the current detection point, it is necessary to detect not only the existence of center points of other PAD graphics, but also the existence of scattered points on the avoidance layer. If a center point or scattered point exists, the position of the current detection point needs to be adjusted. If neither exists, the current detection point can be used as the placement point. Thus, the PAD graphics within the layout area can satisfy the distance rules between any two PAD graphics, and can also ensure that the PAD graphics within the layout area avoid the lines on the avoidance layer.
[0153] In this embodiment, reference Figure 9 The step S7, which involves calculating the scatter step size of the avoidance layer based on a preset avoidance value, includes:
[0154] S71: Use the preset avoidance value as the height of the equilateral triangle to calculate the side length of the equilateral triangle.
[0155] S72: Use the side length of the equilateral triangle as the step size of the scatter points.
[0156] Among them, such as Figure 10 As shown, an equilateral triangle with a height of the preset avoidance value d2 is constructed. The side length of the equilateral triangle is calculated according to geometric principles. The side length of the equilateral triangle can be calculated as L=d2 / sin(π / 3), which is equal to the scatter step size value.
[0157] Further reference Figure 11 Step S8 further includes the following steps: Selecting points at equal intervals between adjacent endpoints of each trace on the avoidance layer according to the scatter step size, and using the endpoints of each trace and the selected points as scatter points.
[0158] S8A: Detects whether the beginning and end points of each trace on the avoidance layer overlap.
[0159] The layout of a quantum bit may include graphical components, meaning the component graphics are polygons. A polygon is composed of multiple line segments connected end to end, i.e., the start and end points of the traces coincide. Therefore, it is necessary to detect whether the start and end points of the traces coincide. If they do not coincide, it means the trace is not closed; if they coincide, it forms a polygon.
[0160] S8B: When the beginning and end points of the current trace coincide, fill the closed area of the current trace with scan lines in a preset direction, wherein the distance between two adjacent scan lines is a preset avoidance value.
[0161] Among them, such as Figure 12 As shown, the spacing of the scan lines filling a polygon is a preset avoidance value d2, and the double-dotted dashed lines in the figure represent the scan lines.
[0162] S8C: Select points at equal intervals between the two endpoints of each scan line according to the scatter step size value, and use the endpoints of each scan line and the selected points as scatter points.
[0163] like Figure 13The figure shows a partial schematic diagram of the qubit layout after the PAD pattern is constructed. As can be seen from the figure, after the PAD pattern is constructed using the method of this embodiment of the invention, the PAD patterns 101 in the layout area are spaced a certain distance apart, and the PAD patterns 101 overlap with or are too close to the traces 102 on the avoidance layer (some traces 102 have overlapping ends, forming polygons). Therefore, all PAD patterns 101 avoid the traces 102 on the avoidance layer and their enclosed areas.
[0164] Please refer to Figure 14 The fourth embodiment of the present invention provides a system for constructing PAD graphics. The system includes:
[0165] The region determination module 1 is used to determine the layout region of the PAD graphic to be constructed in the qubit layout. The layout layer can be determined based on user operations. For example, the user inputs the coordinates of multiple points, and these points are connected sequentially with line segments, with the first and last points also connected by line segments. The enclosed area is the layout region. Alternatively, the user can manually select multiple points on the qubit layout, connect these points sequentially with line segments, and with the first and last points also connected by line segments, the enclosed area is the layout region.
[0166] In this embodiment, the mapping region is a polygon. In some cases, the outline of the user-defined mapping region may contain curves. However, in the current computer environment, it is not possible to construct perfect curves. Only an approximate curve can be constructed by connecting a limited number of line segments sequentially. The higher the computer performance, the more line segments can be used, and the closer the constructed curve is to perfection. However, for the computer, the curve it recognizes is still composed of many line segments. Therefore, even if the outline of the mapping region may contain curves, its essence is still a polygon.
[0167] The area fill module 2 is used to fill the layout area with auxiliary lines at preset step sizes according to a preset direction. The preset direction can be any direction in the canvas coordinate system. When drawing the layout, a coordinate system is needed, and typically the horizontal direction of the canvas is the X-axis, and the vertical direction is the Y-axis.
[0168] The point selection module 3 is used to select points at equal intervals between the two endpoints of each auxiliary line according to a preset step value, using the endpoints of each auxiliary line and the selected points as detection points. The two endpoints of each auxiliary line are always used as detection points. If the distance between the two endpoints is greater than the preset step value, then a point can be selected between the two endpoints. The first point selected between the two endpoints can be any point. In this embodiment, the first point selected between the two endpoints is a point that is a preset step value away from one of the two endpoints. For example, assuming the length of an auxiliary line is 2.5 times the preset step value S, then the first point selected between the two endpoints is a point 2S away from one endpoint, the second point is a point 2S away from that endpoint, and the distance between the second point and the other endpoint is 0.5S, so no further points can be selected. Therefore, the final detection points are the two endpoints and the two selected points.
[0169] The layout construction module 4 iterates through all detection points in the layout area, selecting detection points with a distance between each other not less than a preset distance value as placement points. PAD graphics are then placed at these placement points, where the preset distance value is not less than a preset step size value. The preset step size and preset distance value can be set according to actual needs. The preset distance value represents the minimum distance between any two air bridge graphics. When the preset distance value equals the preset step size value, two adjacent placement points on an auxiliary line may be adjacent detection points; when the preset distance value is greater than the preset step size value, two adjacent placement points on an auxiliary line are definitely not adjacent detection points. Since the minimum distance between placement points is the preset distance value, and the minimum distance between placement points on two adjacent auxiliary lines is also the preset distance value, after placing PAD graphics at the placement points, the PAD graphics will satisfy the distance rules between each other and will not overlap.
[0170] In some qubit layouts, circuit elements are densely distributed, and PAD patterns cannot be placed on these circuit elements. Therefore, it is difficult to provide a regular layout area for qubits. In this embodiment, the area determination module 1 includes:
[0171] The target region determination unit 11 is used to determine the target region in the qubit layout. The target region is the area where the user intends to place the PAD pattern.
[0172] The avoidance area determination unit 12 is used to determine the avoidance areas within the target area. The avoidance area is the region within the target area that the PAD graphic needs to avoid; these areas typically contain graphics such as circuit components. There can be more than one avoidance area.
[0173] The graphics operation unit 13 is used to perform a subtraction operation between the target area and the avoidance area to obtain the layout area of the PAD graphic to be constructed. Since the outlines of the target area and the avoidance area are determined once they are defined, the subtraction operation between the target area and the avoidance area can be achieved by performing a Boolean "not" operation on their outlines, thus obtaining the layout area of the PAD graphic to be constructed.
[0174] In this embodiment, the region filling module 2 includes
[0175] The border acquisition unit 21 is used to acquire the outer border of the layout region. Specifically, after determining the layout region in the qubit layout, the outer border of the layout region can be acquired based on its position within the qubit layout.
[0176] The vertex determination unit 22 is used to determine the starting vertex of the outer outline in a preset direction, wherein the starting vertex is the vertex with the smallest or largest coordinate value in the preset direction of the drawing area. In this embodiment, the preset direction is preferably the positive Y-axis direction of the drawing board coordinate system, and the starting vertex is preferably the vertex with the smallest coordinate value in the preset direction.
[0177] The region filling unit 23 is used to fill auxiliary lines with a preset step size interval within the outer contour border, starting from the starting vertex and following a preset direction. When there are two starting vertices, auxiliary lines can be generated between the two starting vertices. If the auxiliary line coincides with the edge of the outer contour border, then the auxiliary line will be retained.
[0178] Through the above method, the system for constructing PAD graphics in this embodiment can automatically construct PAD graphics in the layout area of the quantum bit layout. The minimum spacing between any two PAD graphics will not be lower than the preset distance value. For designers, they only need to manually set the layout area, preset step size value and preset distance value to automatically complete the placement of PAD graphics. Thus, this embodiment can automatically construct PAD graphics, greatly improve the drawing efficiency and accuracy of air bridge graphics, and can greatly reduce the labor intensity and time cost of designers.
[0179] Please refer to Figure 15 The fifth embodiment of the present invention provides a system for constructing PAD graphics. The system of this embodiment includes all the technical features of the first embodiment, and based on the first embodiment, the layout construction module 4 includes:
[0180] The starting point determination unit 41 is used to sort the detection points of the layout area according to a preset order, and take the first detection point of the layout area as the current detection point. Since there may be multiple auxiliary lines in the layout area, and multiple detection points on each auxiliary line, in order to minimize the distance between consecutive placement points, in this embodiment, the preset order is from left to right according to a preset direction. That is, each auxiliary line is sorted according to a preset direction, and the detection points on each auxiliary line are sorted from left to right. In adjacent auxiliary lines, the sequence number of the last detection point of the preceding auxiliary line is connected to the sequence number of the first detection point of the following auxiliary line.
[0181] The proximity detection unit 42 is used to detect whether there are center points of other PAD graphics within a range centered on the current detection point and with a radius of a preset distance value. The center points of other PAD graphics include not only the center points of PAD graphics on the same auxiliary line, but also the center points of PAD graphics on other auxiliary lines.
[0182] The detection point processing unit 43 is used to designate the current detection point as the placement point and determine the next detection point as the current detection point when no other PAD graphic's center point is detected by a neighboring detection unit. Since no other PAD graphic's center point exists within a radius of a preset distance value centered on the current detection point, placing the PAD graphic at the current detection point satisfies certain distance rules with other PAD graphics. After determining the current detection point as the placement point, the current detection point is updated, becoming the next detection point.
[0183] The traversal execution unit 44 is used to repeatedly execute the neighbor detection unit 42 until the last detection point is reached.
[0184] The graphic placement unit 45 is used to place the PAD graphic at the placement point. In this embodiment, the center point of the PAD graphic is the placement point. That is, the center point of the PAD graphic is on the auxiliary line. Generally speaking, the top view shape of the PAD is circular, so the center point of the PAD graphic is the center point of the circle.
[0185] Furthermore, in this embodiment, the detection point processing unit 43 is also used to determine the next detection point as the current detection point when a neighboring detection unit detects the presence of the center point of another PAD graphic. Wherein, if the center point of another PAD graphic exists, it indicates that placing the PAD graphic at the current detection point does not satisfy the distance rule with other PAD graphics, so the current detection point is not used as a placement point, but is directly updated, and the current detection point becomes the next detection point.
[0186] Please refer to Figure 16The sixth embodiment of the present invention provides a system for constructing PAD graphics. The system of this embodiment includes all the technical features of the fifth embodiment, and on the basis of the fifth embodiment, the system further includes a layer determination module 5, an endpoint acquisition module 6, a step size calculation module 7, and a scatter point selection module 8.
[0187] Layer determination module 5 is used to determine the avoidance layers that need to be avoided by PAD graphics in the quantum bit layout;
[0188] Endpoint acquisition module 6 is used to acquire the endpoints of each line on the avoidance layer, wherein the lines on the avoidance layer are composed of line segments;
[0189] Step size calculation module 7 is used to calculate the scatter step size value of the avoidance layer based on the preset avoidance value;
[0190] The scatter selection module 8 is used to select points at equal intervals between two adjacent endpoints of each path on the avoidance layer according to the scatter step value, and to use the endpoints of each path and the selected points as scatter points.
[0191] The proximity detection unit 42 is specifically used to detect whether there is a center point of other PAD graphics within a range with the current detection point as the center and a radius of a preset distance value, and to detect whether there are scattered points of the avoidance layer within a range with the current detection point as the center and a radius of a preset avoidance value;
[0192] The detection point processing unit 43 is specifically used to, when the neighboring detection unit detects that there is no center point of other PAD graphics and no scattered points of the avoidance layer, take the current detection point as the placement point and determine the next detection point as the current detection point, and when the neighboring detection unit detects that there is a center point of other PAD graphics or scattered points of the avoidance layer, determine the next detection point as the current detection point.
[0193] In this embodiment, at the current detection point, it is necessary to detect not only the existence of center points of other PAD graphics, but also the existence of scattered points on the avoidance layer. If a center point or scattered point exists, the position of the current detection point needs to be adjusted. If neither exists, the current detection point can be used as the placement point. Thus, the PAD graphics within the layout area can satisfy the distance rules between any two PAD graphics, and can also ensure that the PAD graphics within the layout area avoid the lines on the avoidance layer.
[0194] In this embodiment, the step size calculation module 7 includes:
[0195] The side length calculation unit 71 is used to calculate the side length of the equilateral triangle by using the preset avoidance value as the height of the equilateral triangle.
[0196] The step size determination unit 72 is used to use the side length of the equilateral triangle as the step size value of the scatter point.
[0197] Furthermore, the system also includes a closure detection module 9 and a closure filling module 10.
[0198] The closure detection module 9 is used to detect whether the start and end points of each trace on the avoidance layer coincide. The qubit layout may include graphical components, i.e., the component graphics are polygons. A polygon is composed of multiple line segments connected end-to-end, meaning the start and end points of the traces must coincide. Therefore, it is necessary to detect whether the start and end points of the traces coincide. If they do not coincide, it means the trace is not closed; if they coincide, it forms a polygon.
[0199] The closed filling module 10 is used to fill the closed area of the current trace with scan lines in a preset direction when the closed detection module detects that the beginning and end points of the current trace coincide. The distance between two adjacent scan lines is a preset avoidance value.
[0200] The scatter selection module 8 is also used to select points at equal intervals between the two endpoints of each scan line according to the scatter step value, and to use the endpoints of each scan line and the selected points as scatter points.
[0201] The present invention also provides a storage medium storing a computer program configured to execute, at runtime, a method for constructing a PAD graphic according to a first embodiment, a second embodiment, or a third embodiment.
[0202] Specifically, in this embodiment, the storage medium may include, but is not limited to, USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks, and other media capable of storing computer programs.
[0203] The present invention also provides an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform a method for constructing a PAD graphic according to a first embodiment, a second embodiment, or a third embodiment.
[0204] Specifically, the memory and processor can be connected via a data bus. Furthermore, the aforementioned electronic device may also 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.
[0205] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," or "specific example," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of the invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments. In addition, those skilled in the art can combine and integrate the different embodiments or examples described in this specification.
[0206] The above are merely preferred embodiments of the present invention and do not constitute any limitation on the present invention. Any equivalent substitutions or modifications made by those skilled in the art to the technical solutions and content disclosed in the present invention without departing from the scope of the present invention shall be deemed to have remained within the protection scope of the present invention.
Claims
1. A method for constructing PAD graphics, characterized in that, include: Determine the layout area of the PAD pattern to be constructed in the qubit layout; Fill the layout area with auxiliary lines of a preset step size in a preset direction; Points are selected at equal intervals between the two endpoints of each auxiliary line according to the preset step size value, and the endpoints of each auxiliary line and the selected points are used as detection points. Determine the avoidance layers that require PAD graphic avoidance in the quantum bit layout; Obtain the endpoints of each trace on the avoidance layer, wherein the traces on the avoidance layer are composed of line segments; The side length of the equilateral triangle is calculated by using the preset avoidance value as the height of the equilateral triangle; Use the side length of the equilateral triangle as the step size value for the scatter points; Points are selected at equal intervals between two adjacent endpoints of each trace on the avoidance layer according to the scatter step value, and the endpoints of each trace and the selected points are used as scatter points. Traverse all detection points in the layout area, and take the detection points whose spacing between each pair is not less than a preset distance value as placement points. Place the PAD graphic at the placement point, wherein the preset distance value is not less than the preset step value, and the spacing between each pair is between a detection point and a detection point that has been selected as a placement point. The step of traversing all detection points in the layout area, taking detection points with a spacing of not less than a preset distance value between each pair of detection points as placement points, and placing the PAD graphic at the placement points includes: The detection points of the layout area are sorted according to a preset order, and the first detection point of the layout area is taken as the current detection point; Detect whether there are center points of other PAD graphics within a range with the current detection point as the center and a radius of a preset distance value, and detect whether there are scattered points of the avoidance layer within a range with the current detection point as the center and a radius of a preset avoidance value; When there is no center point of other PAD graphics and no scattered points of the avoidance layer, the current detection point is used as the placement point, and the next detection point is determined as the current detection point; Repeat the step of detecting whether there are other PAD graphic center points within a range with the current detection point as the center and a radius of a preset distance value, until the last detection point is reached; Place the PAD graphic at the designated location.
2. The method according to claim 1, characterized in that, The step of determining the layout area of the PAD pattern to be constructed in the quantum bit layout includes: Determine the target region in the qubit layout; Determine the avoidance zone within the target area; The target area and the avoidance area are subtracted graphically to obtain the layout area of the PAD graphic to be constructed.
3. The method according to claim 1, characterized in that, The step of filling the layout area with auxiliary lines with a preset step size according to a preset direction includes: Obtain the outer border of the plotted area; Determine the starting vertex of the outer outline in a preset direction, wherein the starting vertex is the vertex of the layout region with the smallest or largest coordinate value in the preset direction; Starting from the initial vertex, fill the outer frame with auxiliary lines of a preset step size, following a preset direction.
4. The method according to claim 1, characterized in that, Before repeating the step of detecting whether there are center points of other PAD graphics within a range centered on the current detection point and with a radius of a preset distance value, the method further includes: If there is a center point of another PAD graphic or a scattered point of the avoidance layer, the next detection point is determined as the current detection point.
5. The method according to claim 4, characterized in that, The center point of the PAD graphic is the placement point.
6. The method according to claim 1, characterized in that, The step of selecting points at equal intervals between two adjacent endpoints of each trace on the avoidance layer according to the scatter step size value, and using the endpoints of each trace and the selected points as scatter points, further includes: Detect whether the beginning and end points of each trace on the avoidance layer overlap; When the beginning and end points of the current trace coincide, scan lines are filled in the closed area of the current trace according to a preset direction, wherein the distance between two adjacent scan lines is the preset avoidance value; Points are selected at equal intervals between the two endpoints of each scan line according to the scatter step value, and the endpoints of each scan line and the selected points are used as scatter points.
7. A system for constructing PAD graphics, characterized in that, include: The region determination module is used to determine the layout region of the PAD pattern to be constructed in the quantum bit layout; The region filling module is used to fill the layout area with auxiliary lines with a preset step size value according to a preset direction; The point selection module is used to select points at equal intervals between the two endpoints of each of the auxiliary lines according to the preset step value, and to use the endpoints of each of the auxiliary lines and the selected points as detection points. The layer determination module is used to determine the avoidance layers that need to be avoided by PAD graphics in the quantum bit layout; The endpoint acquisition module is used to acquire the endpoints of each trace on the avoidance layer, wherein the traces on the avoidance layer are composed of line segments; The step size calculation module is used to calculate the scatter step size value of the avoidance layer based on the preset avoidance value; The scatter selection module is used to select points at equal intervals between two adjacent endpoints of each path on the avoidance layer according to the scatter step value, and to use the endpoints of each path and the selected points as scatter points. The layout construction module is used to traverse all detection points in the layout area, and take detection points with a spacing of not less than a preset distance value as placement points, and place PAD graphics at the placement points. The preset distance value is not less than the preset step value, and the spacing between each pair is between a detection point and a detection point that has been selected as a placement point. The layout construction module includes: The starting point determination unit is used to sort the detection points of the layout area according to a preset order, and to take the first detection point of the layout area as the current detection point; The proximity detection unit is used to detect whether there is a center point of other PAD graphics within a range with the current detection point as the center and a radius of a preset distance value, and to detect whether there are scattered points of the avoidance layer within a range with the current detection point as the center and a radius of a preset avoidance value; The detection point processing unit is used to, when the neighboring detection unit detects that there is no center point of other PAD graphics and no scattered points of the avoidance layer, take the current detection point as the placement point and determine the next detection point as the current detection point; The traversal execution unit is used to repeat the step of detecting whether there are other PAD graphic center points within a range with the current detection point as the center and a radius of a preset distance value, until the last detection point is reached; A graphic placement unit is used to place a PAD graphic at the placement point; The step size calculation module includes: A side length calculation unit is used to calculate the side length of the equilateral triangle by using the preset avoidance value as the height of the equilateral triangle; The step size determination unit is used to use the side length of the equilateral triangle as the step size value of the scatter points.
8. The system according to claim 7, characterized in that, The region determination module includes: The target region determination unit is used to determine the target region in the qubit layout; A avoidance area determination unit is used to determine the avoidance area within the target area; The graphics operation unit is used to perform a subtraction operation on the target area and the avoidance area to obtain the layout area of the PAD graphic to be constructed.
9. The system according to claim 7, characterized in that, The region filling module includes The border acquisition unit is used to acquire the outer border of the layout area; A vertex determination unit is used to determine the starting vertex of the outer contour border in a preset direction, wherein the starting vertex is the vertex of the layout region with the smallest or largest coordinate value in the preset direction; A region filling unit is used to fill auxiliary lines with a preset step size value within the outer frame, starting from the starting vertex, in a preset direction.
10. The system according to claim 7, characterized in that, The detection point processing unit is also used to determine the next detection point as the current detection point when the neighboring detection unit detects the presence of the center point of another PAD graphic or the presence of scattered points of the avoidance layer.
11. The system according to claim 10, characterized in that, The center point of the PAD graphic is the placement point.
12. The system according to claim 7, characterized in that, The system also includes a sealing detection module and a sealing filling module; The closed detection module is used to detect whether the beginning and end points of each line on the avoidance layer overlap. The closed filling module is used to fill the closed area of the current trace in a preset direction when the closed detection module detects that the beginning and end points of the current trace coincide. The distance between two adjacent scan lines is the preset avoidance value. The scatter selection module is also used to select points at equal intervals between the two endpoints of each scan line according to the scatter step value, and to use the endpoints of each scan line and the selected points as scatter points.
13. A storage medium, characterized in that, The storage medium stores a computer program configured to execute the method for constructing a PAD graphic as described in any one of claims 1 to 6 when running.
14. An electronic device, characterized in that, It includes a memory and a processor, the memory storing a computer program, and the processor being configured to run the computer program to perform the method for constructing a PAD graphic as described in any one of claims 1 to 6.