Method, device, equipment and storage medium for magnetic flux pinning in quantum map

By automatically obtaining flux pinning related information using the marking position and setting offset mechanism in the GDSII file, the problem that traditional manual design methods are difficult to achieve efficient and accurate flux pinning laying is solved, and the efficiency and accuracy of automatic laying is achieved.

CN119849209BActive Publication Date: 2025-05-23SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510322051.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-19
Publication Date
2025-05-23
Estimated Expiration
2045-03-19

AI Technical Summary

Technical Problem

Traditional manual design methods are difficult to meet the efficiency and accuracy of flux pinning laying of quantum computing chips, especially when dealing with complex calculations of large numbers of irregular graphics, and errors are easily introduced.

Method used

By using the flag bits and the offset mechanism to control the file pointer in the GDSII file, the flux pinning related information is automatically obtained, the laying range is determined, and the geometric difference set calculation is performed to achieve efficient and accurate automatic laying of flux pinning.

Benefits of technology

It realizes efficient, accurate and automatic laying of magnetic flux pinning, improves work efficiency and reduces the occurrence of artificial errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119849209B_ABST
    Figure CN119849209B_ABST
Patent Text Reader

Abstract

The present application provides a method, device, equipment and storage medium for laying flux pinning in a quantum map, which relates to the field of quantum computing technology. The method firstly controls the file pointer by setting flag data and setting an offset mechanism for the GDSII file to read the regional demand data needed for laying flux pinning from the GDSII file, thereby realizing efficient and accurate reading of the flux pinning related information in the GDSII file, and then determines and lays the laying area of ​​the flux pinning based on the automatically acquired regional demand data for the flux pinning, thereby realizing efficient and accurate automatic laying of the flux pinning.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of quantum computing technology, and in particular to a method, device, equipment and storage medium for laying magnetic flux pinning in a quantum layout. Background Art

[0002] In the field of semiconductor manufacturing, GDSII (Graphic Design System) plays a vital role as a standard format for describing mask geometry. It ensures that integrated circuit design data can be accurately converted into actual physical layouts and is widely used in the production process of chips. With the increasing scale and complexity of superconducting quantum computing chip design and increasingly stringent precision requirements, traditional manual design methods have been unable to meet the needs of efficiency and accuracy. Especially in the laying of flux pinning, it is necessary to manually find the edge distances of all components of all layers of the calculation chip in the GDSII file, and process the complex calculations of a large number of irregular graphics, and then lay out the flux pinning one by one. This is not only time-consuming and labor-intensive, but also easy to introduce errors, such as overlapping with graphics of different layers, and too large or too small distance from the graphics. Therefore, there is an urgent need for an efficient and accurate method for automatic laying of quantum layout flux pinning. Summary of the invention

[0003] The present application provides a method, device, equipment and storage medium for laying magnetic flux pinning in a quantum map.

[0004] On the one hand, an embodiment of the present application provides a method for laying magnetic flux pinning in a quantum circuit, the method comprising:

[0005] Reading the area requirement data of the flux pinning from the GDSII file according to the setting flag data and the setting offset mechanism of the file pointer, wherein the area requirement data includes data units, fill polygon pixel data, line pixel data and box pixel data;

[0006] Determining the laying range of the flux pinning according to the set pinning distance, the box pixel data and the data unit;

[0007] According to the laying range of the magnetic flux pinning, coordinate merging and expanding the filling polygon pixel data and the line pixel data to obtain target filling polygon pixel data and target line pixel data;

[0008] Performing geometric difference calculation on the laying range of the magnetic flux pinning, the target filling polygon pixel data and the target line pixel data to obtain the magnetic flux pinning laying area;

[0009] The magnetic flux pinning is laid according to the magnetic flux pinning laying area.

[0010] The set flag data includes a file header flag, a structure header flag, and a pixel header and pixel flags, wherein the pixel header and pixel flags include a filled polygon flag, a line flag, and a box body flag;

[0011] The file pointer offset setting mechanism includes a file header pointer offset sub-mechanism, a structure header pointer offset sub-mechanism, and a pixel header and pixel pointer offset sub-mechanism;

[0012] Wherein, the file header pointer offset sub-mechanism is used to control the file pointer to read the data unit according to the file header flag bit;

[0013] The structure header pointer offset sub-mechanism is used to control the file pointer to offset the file pointer to the pixel header and pixel module of the GDSII file according to the structure header flag;

[0014] The pixel header and pixel pointer offset sub-mechanism is used to control the file pointer to read the filling polygon pixel data, the line pixel data and the box pixel data according to the filling polygon flag, the line flag and the box flag.

[0015] Before determining the laying range of the flux pinning according to the set pinning distance, the box pixel data and the data unit, the method further includes:

[0016] A pre-stored layer and a laid layer are created, wherein the layer values ​​of the pre-stored layer and the laid layer are different from the layer value of the current existing layer.

[0017] The determining of the laying range of the magnetic flux pinning according to the set pinning distance, the box pixel data and the data unit includes:

[0018] Traverse each coordinate in the box pixel data to obtain the maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate;

[0019] According to the data unit, the maximum absolute value of the horizontal coordinate, the maximum absolute value of the vertical coordinate, and each coordinate in the box pixel data are reduced by the set pinning distance to obtain target box pixel data, target horizontal coordinate maximum value, and target vertical coordinate maximum value;

[0020] The laying range of the flux pinning is determined according to the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value, and the target box pixel data, the target horizontal coordinate maximum value, the target vertical coordinate maximum value and the laying range of the flux pinning are stored in the pre-stored layer.

[0021] The step of merging and expanding the fill polygon pixel data and the line pixel data according to the laying range of the magnetic flux pinning to obtain target fill polygon pixel data and target line pixel data includes:

[0022] Merge and calculate the filled polygon pixel data and the line pixel data to obtain intermediate filled polygon pixel data and intermediate line pixel data, and store the intermediate filled polygon pixel data and the intermediate line pixel data in the pre-stored layer;

[0023] In the pre-stored layer and within the laying range of the flux pinning, coordinate expansion is performed on the intermediate filling polygon pixel data and the intermediate line pixel data to obtain target filling polygon pixel data and target line pixel data.

[0024] The intermediate line pixel data includes the intermediate line coordinates, intermediate width coordinates and intermediate angle coordinates of each line; accordingly,

[0025] The coordinates of the middle line pixel data are expanded, including:

[0026] Increase the middle line coordinate and middle angle coordinate of each line by the set pinning distance;

[0027] Set the pinning distance by doubling the middle width coordinate of each line.

[0028] The geometric difference calculation is performed using Boolean operation algorithm.

[0029] Laying the magnetic flux pinning according to the magnetic flux pinning laying area includes:

[0030] generating a flux pinning array according to set specification data of the flux pinning;

[0031] In the laying layer, the flux pinning array is laid into the flux pinning laying area.

[0032] Another aspect of the present application embodiment provides a magnetic flux pinning and laying device in a quantum circuit, the device comprising:

[0033] An extraction module, used for reading the regional demand data of flux pinning from the GDSII file according to the preset flag data and the setting offset mechanism of the file pointer, wherein the regional demand data includes data units, fill polygon pixel data, line pixel data and box pixel data;

[0034] A determination module, used to determine the laying range of the magnetic flux pinning according to the set pinning distance, the box pixel data and the data unit;

[0035] A coordinate processing module, for performing coordinate merging and expansion on the fill polygon pixel data and the line pixel data according to the laying range of the magnetic flux pinning, so as to obtain target fill polygon pixel data and target line pixel data;

[0036] A calculation module, used for performing geometric difference calculation on the laying range of the magnetic flux pinning, the target filling polygon pixel data and the target line pixel data to obtain the magnetic flux pinning laying area;

[0037] A laying module is used to lay the flux pinning according to the flux pinning laying area.

[0038] The device also includes:

[0039] The creation module is used to create a pre-stored layer and a laid layer, wherein the layer values ​​of the pre-stored layer and the laid layer are different from the layer values ​​of the currently existing layers.

[0040] The determination module comprises:

[0041] An acquisition submodule, used for traversing each coordinate in the box pixel data to obtain the maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate;

[0042] A coordinate processing submodule, for reducing the maximum absolute value of the horizontal coordinate, the maximum absolute value of the vertical coordinate, and each coordinate in the box pixel data by the set pinning distance according to the data unit, to obtain target box pixel data, target horizontal coordinate maximum value, and target vertical coordinate maximum value;

[0043] A determination submodule is used to determine the laying range of flux pinning according to the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value, and store the target box pixel data, the target horizontal coordinate maximum value, the target vertical coordinate maximum value and the laying range of flux pinning in the pre-stored layer.

[0044] The coordinate processing submodule comprises:

[0045] A calculation unit, used for combining and calculating the filling polygon pixel data and the line pixel data to obtain intermediate filling polygon pixel data and intermediate line pixel data, and storing the intermediate filling polygon pixel data and the intermediate line pixel data in the pre-storage layer;

[0046] The coordinate processing unit is used to coordinately expand the intermediate filling polygon pixel data and the intermediate line pixel data in the pre-stored layer and within the laying range of the flux pinning to obtain target filling polygon pixel data and target line pixel data.

[0047] The laying module comprises:

[0048] A generation submodule, used for generating a flux pinning array according to set specification data of the flux pinning;

[0049] The laying submodule is used to lay the flux pinning array into the flux pinning laying area within the laying layer.

[0050] In another aspect, the present application provides an electronic device, comprising:

[0051] A processor, a memory for storing instructions executable by the processor;

[0052] The processor is used to read the executable instructions from the memory and execute the instructions to implement the flux pinning laying method in the quantum layout.

[0053] On the other hand, the present application provides a computer-readable storage medium, wherein the storage medium stores a computer program, and the computer program is used to execute the flux pinning laying method in the quantum circuit.

[0054] The method of the embodiment of the present application reads the regional demand data of flux pinning from the GDSII file according to the setting flag data and the setting offset mechanism of the file pointer, wherein the regional demand data includes data units, fill polygon pixel data, line pixel data and box pixel data; determines the laying range of flux pinning according to the set pinning distance, the box pixel data and the data unit; performs coordinate merging and expansion on the fill polygon pixel data and the line pixel data according to the laying range of the flux pinning to obtain target fill polygon pixel data and target line pixel data; performs geometric difference calculation on the laying range of the flux pinning, the target fill polygon pixel data and the target line pixel data to obtain the flux pinning laying area; and lays the flux pinning according to the flux pinning laying area. The file pointer is controlled by the flag bit and the offset setting mechanism to read the GDSII file, thereby realizing efficient and accurate reading of the flux pinning related information in the GDSII file, and determining and laying the flux pinning laying area based on the automatically acquired flux pinning related information, thereby realizing efficient and accurate automatic laying of flux pinning. BRIEF DESCRIPTION OF THE DRAWINGS

[0055] By reading the detailed description below with reference to the accompanying drawings, the above and other purposes, features and advantages of the exemplary embodiments of the present application will become readily understood. In the accompanying drawings, several embodiments of the present application are shown in an exemplary and non-limiting manner, wherein:

[0056] In the drawings, the same or corresponding reference numerals represent the same or corresponding parts.

[0057] Figure 1 A schematic diagram of the implementation process of the flux pinning laying method in the quantum layout provided by the embodiment of the present application is shown;

[0058] Figure 2 A schematic diagram of the implementation process of the laying range determination operation of the flux pinning laying method in the quantum layout provided by the embodiment of the present application is shown;

[0059] Figure 3 A schematic diagram of the implementation flow of the coordinate processing operation of the flux pinning laying method in the quantum layout provided by the embodiment of the present application is shown;

[0060] Figure 4 A schematic diagram showing the implementation process of the laying operation of the flux pinning laying method in the quantum layout provided by the embodiment of the present application is shown;

[0061] Figure 5 A schematic diagram showing the composition structure of a magnetic flux pinning and laying device in a quantum circuit provided in an embodiment of the present application is shown;

[0062] Figure 6 A schematic diagram of the structure of the electronic device provided by the present application is shown. DETAILED DESCRIPTION

[0063] In order to make the purpose, features and advantages of the present application more obvious and easy to understand, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.

[0064] Figure 1 A schematic diagram of the implementation process of the flux pinning laying method in the quantum layout provided in an embodiment of the present application is shown.

[0065] refer to Figure 1 The embodiment of the present application provides a method for laying flux pinning in a quantum map, the method comprising: operation 101, reading the regional demand data of flux pinning from the GDSII file according to the set flag data and the set offset mechanism of the file pointer, the regional demand data comprising data unit, fill polygon pixel data, line pixel data and box pixel data; operation 102, determining the laying range of flux pinning according to the set pinning distance, box pixel data and data unit; operation 103, merging and expanding the coordinates of the fill polygon pixel data and the line pixel data according to the laying range of flux pinning, to obtain target fill polygon pixel data and target line pixel data; operation 104, performing geometric difference calculation on the laying range of flux pinning, the target fill polygon pixel data and the target line pixel data, to obtain the flux pinning laying area; operation 105, laying the flux pinning according to the flux pinning laying area.

[0066] In operation 101, the area requirement data of flux pinning is read from the GDSII file according to the setting flag data and the setting offset mechanism of the file pointer. The area requirement data includes data units, fill polygon pixel data, line pixel data and box pixel data.

[0067] Before laying the flux pinning, it is necessary to obtain the data needed for laying the flux pinning from the GDSII file corresponding to the flux pinning, such as the data used to determine the laying area. Therefore, it is first necessary to design a method for parsing the GDSII file to extract the data required for laying the flux pinning from the GDSII file.

[0068] As a binary file of the layout, GDSII files usually combine data in the form of module structures (units), usually consisting of file header modules, structure header modules, pixel headers and pixel modules. There is a corresponding flag for each part, which is usually used to determine the location of the file, each part or the specific content of each part.

[0069] In order to parse the GDSII file and extract the data required for determining the area of ​​magnetic flux pinning, that is, the data used to determine the laying area, the embodiment of the present application specifically designs a GDSII file reading method based on C language, and parses the GDSII file based on the definition file pointer and setting offset mechanism of C language, so as to obtain the regional demand data of magnetic flux pinning. Among them, the setting offset mechanism is mainly used to offset the file pointer to the position of the data to be read based on the setting flag data for data reading, and the setting flag data is configured in advance according to the composition characteristics of the GDSII file.

[0070] Regional requirement data, i.e., data required for regional determination, refers to the relevant data required to determine the laying area of ​​flux pinning. Regional requirement data includes data units, filled polygon pixel data, line pixel data, and box pixel data. Among them, data units refer to the unified measurement standard of numerical data in the file.

[0071] Pixel data may include but is not limited to layer values, coordinates, width and angle. It should be noted that pixel data may include different types of data depending on its subject. For example, filled polygons and lines are different subjects. Filled polygon pixel data may only include coordinates, while line pixel data needs to include coordinates, width and angle.

[0072] In operation 102 , a paving range of flux pinning is determined according to a set pinning distance, box pixel data, and data unit.

[0073] In order to ensure that the flux pinning does not exceed the designed range when laying the flux pinning, after obtaining the box pixel data, the box pixel data is also narrowed down according to the set pinning distance to determine the laying range of the flux pinning. The process of narrowing down the range is based on the condition of unified units, that is, the range is narrowed down using data units. For example, when the data unit is 1 micron, the coordinates in the process of narrowing down the range need to be processed in the data unit of 1 micron.

[0074] Specifically, the box pixel data shows all the coordinates of the box BOX, and the original laying range of the flux pinning can be determined based on all the current coordinates. Then, the original laying range is reduced by the set pinning distance to obtain the laying range of the flux pinning target.

[0075] In operation 103, according to the laying range of the flux pinning, the fill polygon pixel data and the line pixel data are coordinate merged and expanded to obtain the target fill polygon pixel data and the target line pixel data.

[0076] The filled polygons and lines in GDSII files are usually distributed in multiple layers, resulting in redundancy of a lot of data. In order to avoid data redundancy and obtain relevant data of filled polygons and lines more accurately, the filled polygon pixel data and line pixel data are merged to integrate the pixel data of multiple filled polygons and lines scattered in multiple layers together.

[0077] Filled polygon pixel data can be merged based on Bezier curve interpolation algorithm, scan line algorithm, convex hull algorithm and other geometric merging algorithms. Line pixel data can be merged based on path merging method, width and angle adjustment method.

[0078] After the coordinates are merged, the merged pixel data is expanded to facilitate subsequent layout modification and improve performance requirements. For example, the coordinates, angles, and widths in the pixel data are expanded to facilitate sufficient modification ranges when the pixel data needs to be modified, and to improve electrical performance by expanding the width and angle.

[0079] In operation 104 , a geometric difference calculation is performed on the paving range of the flux pinning, the target filled polygon pixel data, and the target line pixel data to obtain the flux pinning paving area.

[0080] All coordinate points shown by the target filled polygon pixel data and the target line pixel data are removed within the paving range of the flux pinning to obtain a paving area where the flux pinning paving can be performed.

[0081] The difference set coordinates can be determined by calculating the laying range of the flux pinning, the target filling polygon pixel data, and the target line pixel data, and all the coordinates in the difference set are determined as the flux pinning laying area.

[0082] The geometric difference calculation is based on Boolean operation.

[0083] The process of determining the flux pinning paving area includes: determining all coordinates in the target filling polygon pixel data and the target line pixel data as the coordinates constituting the filling area; determining all coordinates within the paving range of the flux pinning as the coordinates constituting the paving area; performing Boolean operations on all coordinates constituting the filling area and all coordinates constituting the paving area to determine the non-filled area of ​​the paving area, and using all coordinates of the non-filled area as the flux pinning paving area.

[0084] In operation 105 , flux pinning is laid according to the flux pinning laying area.

[0085] After determining the flux pinning laying area, the flux pinning is laid at the corresponding area position in the GDSII file to complete the automatic laying of the flux pinning.

[0086] Therefore, in the embodiment of the present application, the file pointer is controlled by the flag bit and the offset setting mechanism to read the GDSII file, thereby realizing efficient and accurate reading of the flux pinning related information in the GDSII file, and determining and laying the flux pinning laying area based on the automatically acquired flux pinning related information, thereby realizing efficient and accurate automatic laying of flux pinning.

[0087] The flag data to be set include file header flag, structure header flag, and pixel header and pixel flag, and the pixel header and pixel flag include fill polygon flag, line flag, and box body flag; the offset mechanism for setting the file pointer includes file header pointer offset sub-mechanism, structure header pointer offset sub-mechanism, and pixel header and pixel pointer offset sub-mechanism; wherein, the file header pointer offset sub-mechanism is used to control the file pointer to read the data unit according to the file header flag; the structure header pointer offset sub-mechanism is used to control the file pointer to offset the file pointer to the pixel header and pixel module of the GDSII file according to the structure header flag; the pixel header and pixel pointer offset sub-mechanism is used to control the file pointer to read the fill polygon pixel data, line pixel data, and box body pixel data according to the fill polygon flag, line flag, and box body flag.

[0088] When a GDSII file is designed, flags are configured for each part of the file and the corresponding data location, so that when the GDSII file is read, the required data can be read by the defined file pointer. All flags of the GDSII file are stored in the form of set flag data and are called when needed. The set flag data contains flags for identifying each component and specific data in each component according to the multiple components of the GDSII file.

[0089] Corresponding to GDSII, it mainly includes a header module, a structure module, a pixel header and a pixel module, and the setting flag data includes a file header flag, a structure header flag, and a pixel header and a pixel flag. Among them, since the pixel header and the pixel module contain the required pixel data, such as pixel data of filled polygons, lines and boxes, the pixel header and the pixel flag are configured to include a filled polygon flag, a line flag and a box flag.

[0090] Corresponding to each component of the GDSII file, in order to ensure that each component is read correctly, a file pointer setting offset mechanism is configured in advance based on the flag bits of each component. The file pointer setting offset mechanism includes a file header pointer offset sub-mechanism, a structure header pointer offset sub-mechanism, and a pixel header and pixel pointer offset sub-mechanism.

[0091] Among them, the file header pointer offset sub-mechanism is used to control the file pointer to read the data unit according to the file header flag; the structure header pointer offset sub-mechanism is used to control the file pointer to offset the file pointer to the pixel header and pixel module of the GDSII file according to the structure header flag; the pixel header and pixel pointer offset sub-mechanism is used to control the file pointer to read the fill polygon pixel data, line pixel data and box pixel data according to the fill polygon flag, line flag and box flag.

[0092] According to the composition order of each module part in the GDSII file, when reading data units, filling polygon pixel data, line pixel data and box pixel data through the GDSII file, read according to the composition order of the module where the data is located to ensure the consistency and accuracy of the GDSII file reading.

[0093] The file header flags include at least the first flag (0x0002) and the second flag (0x0305). The corresponding file header pointer offset sub-mechanism can be configured to include the following operations: detect whether the third and fourth bytes of the GDSII file are the first flag 0x0002; if not, read the next module; if yes, determine that the current position is the file header module, enter the file header module parsing, and control the file pointer to offset backwards by the byte corresponding to the file header size according to the file header size (the first two bytes), and keep controlling the pointer to offset backwards according to the value of the first two bytes until the second flag 0x0305 is detected, read the unit definition, and set the data unit, for example, configure the data unit (macro variable QUNITS) to 1um, and continue parsing the next module. If the second flag 0x0305 is not detected, exit the reading and issue a read error warning.

[0094] For example, the process of reading the file header module of the GDSII file based on the file header pointer offset sub-mechanism and the text header flag bit may include:

[0095] 1) Determine whether the third and fourth bytes of the entire GDSII file are the first flag bit 0x0002. If not, continue to compare the next flag bit and enter the next module parsing process; if yes, identify it as a file header module, define the size of the file header module as the first byte and second byte data of the file, and according to the file header size, offset the file pointer backward by sheader (file header size) bytes to determine whether it is the second flag bit 0x0305;

[0096] 2) If it is not the second flag bit 0x0305, read the value smoo of the file pointer offset two bytes forward, control the file pointer to continue to offset smoo bytes backward, and repeat this cycle until the second flag bit 0x0305 is read; if the second flag bit 0x0305 is never read, there is no unit definition, the file parsing ends and exits, and a read error warning is issued.

[0097] The structure header flags include the third flag (0X0502) and the fourth flag (0X0506). Accordingly, the structure header pointer offset sub-mechanism is configured as follows: detect the third flag 0x0502 to determine the start of the module, read the module header size sbgnstr and offset the pointer; detect the fourth flag 0x0506 to extract the module name size sstrname, and jump to the pixel header and pixel module according to the length of sstrname.

[0098] For example, the structure header pointer offset sub-mechanism specifically includes the following operations:

[0099] 1) The control file pointer continues to shift backward 2 bytes, then reads and determines whether the next two bytes are the third flag bit 0x0502. If not, continue to compare the next flag bit; if yes, control the text pointer to shift forward 4 bytes, and read the next 2 bytes as the size of the structure module header sbgnstr;

[0100] 2) The control file pointer is offset backward by sbgnstr bytes, and then the next two bytes are read and judged whether they are the fourth flag bit 0x0506. If not, the next flag bit is compared. If yes, the control file pointer is offset forward by 4 bytes, and the next 2 bytes are read as the size of the structure header module name sstrname.

[0101] 3) Control the file pointer to shift backward by sstrname bytes. At this time, the file pointer will enter the third byte of the next module (pixel header and pixel module).

[0102] The fill polygon flag includes the fifth flag 0x0800, the sixth flag 0x0D02, and the seventh flag 0x1003. The part of the pixel header and pixel pointer offset sub-mechanism that reads the fill polygon pixel data is configured as follows: detect the fifth flag 0x0800 to extract the fill polygon, read the module header length sboundary; control the file pointer offset sboundary, and detect the sixth flag 0x0D02 to extract the layer value Player n (n=0; n+=1) Stored in the public structure PLAYER; Check the seventh flag 0x1003 to extract the BOUNDARY coordinates of the filled polygon vertices and store them in the public structure PBOUNDARY.

[0103] For example, the process of reading the pixel data of the filled polygon based on the pixel header and pixel pointer offset sub-mechanism specifically includes:

[0104] 1) Determine whether the third and fourth bytes are the fifth flag bit 0x0800 (the flag of a filled polygon). If not, continue to compare the next flag bit; if so, the current pixel is a filled polygon, control the file pointer to shift forward 4 bytes, read 2 bytes as the size sboundary of the pixel header module header, and control the file pointer to shift backward sboundary bytes;

[0105] 2) Read and determine whether the next two bytes are the sixth flag bit 0x0D02 (the flag of the layer value). If not, continue to compare the next flag bit; if yes, determine that the current data is the layer value Layer Value, shift the pointer forward 4 bytes, read 2 bytes as the size of the Graphic Element Layer slayer, extract the layer value of slayer-4 bytes as Player n (n=0; n+=1), stored in the public structure PLAYER;

[0106] 3) Read the size of the data type sdatatype, set the data size of the data type DATATYPE to sdatatype, and control the file pointer to shift backward by sdatatype bytes.

[0107] 4) Read and determine whether the next two bytes are the seventh flag 0x1003 (the flag of the boundary BOUNDARY coordinates). If not, continue to compare the next flag; if so, determine that the current data is the BOUNDARY coordinate, control the file pointer to shift forward 4 bytes and read 2 bytes as the size sxy of the BOUNDARY coordinates, extract the filling polygon coordinates of sxy-4 bytes as Pboundary n (n=0; n+=1), stored in the public structure PBOUNDARY.

[0108] The line flags are configured to include the sixth flag 0x0D02, the seventh flag 0x1003, the eighth flag 0x0900, the ninth flag 0x0F03 and the tenth flag 0x1C05. Then, the part of the pixel header and pixel pointer offset sub-mechanism that controls the file pointer to read the line pixel data according to the line flag is configured to include the following operations: when the eighth flag 0x0900 (line PATH flag) is detected, the control file pointer goes back 4 bytes to read the PATH length spath, extracts the spath bytes and locates to the sixth flag 0x0D02, goes back 4 bytes to read the layer value slayer and extracts the slayer-4 bytes layer value and stores it in the public structure PLAYER; when the seventh flag 0x1003 is detected, goes back 4 bytes to read the size sxy of the path PATH, and extracts sxy-4 bytes of line coordinates as Ppath n (n=0; n+=1) are stored in the public structure PPATH; when the ninth flag 0x0F03 (line width flag) is detected, the current data is read as the line width swidth, and the control file pointer is offset 2 bytes backward to extract the line width value of swidth-4 bytes as Pwidth n(n=0; n+=1) are stored in a public structure; when the tenth flag 0x1C05 (the flag of the line angle) is detected, the line angle is read as sangle, and the control file pointer is offset 2 bytes backward to extract the line angle value of sangle-4 bytes as Pangle n (n=0; n+=1) are stored in the public structure PPATH.

[0109] For example, the specific process of controlling the file pointer to read line pixel data according to the line flag bit based on the pixel header and pixel pointer offset sub-mechanism includes:

[0110] 1) The control text pointer is offset 2 bytes backward, and the next two bytes are read to determine whether it is the first flag bit 0x0900. If not, the next flag bit is compared. If it is, it is determined to be the line PATH. The control file pointer is offset 4 bytes forward, and 2 bytes are read as the size of PATH spath. The control file pointer is offset spath bytes backward. Read the next two bytes again to determine whether it is the sixth flag bit 0x0D02. If not, the next flag bit is compared. If it is, it is determined to be the layer value. The control text pointer is offset 4 bytes forward, and 2 bytes are read as the size of the layer slayer. The layer value of slayer-4 bytes is extracted as Player. n (n=0; n+=1), stored in the public structure PLAYER.

[0111] 2) Read the data type size sdatatype, control the text pointer to shift backward sdatatype bytes, read the next two bytes, and determine whether it is the seventh flag 0x1003. If not, continue to compare the next flag. If it is, it is determined to be the coordinate point of PATH, control the pointer to shift forward 4 bytes, read 2 bytes as the size sxy of the PATH coordinates, and read the line coordinates of sxy-4 bytes as Ppath n (n=0; n+=1), stored in the public structure PPATH.

[0112] 3) The control pointer is shifted backward by two bytes, and the next two bytes are read again to determine whether it is the ninth flag bit 0x0F03. If not, the next flag bit is compared. If it is, it is determined to be the line width, and the line width swidth is read. The control file pointer is shifted backward by 2 bytes, and the line width value of swidth-4 bytes is extracted as Pwidth n (n=0; n+=1), stored in the public structure PPATH.

[0113] 4) The control pointer is shifted backward by two bytes, and the next two bytes are read again to determine whether it is the tenth flag bit 0x1C05. If not, the next flag bit is compared. If it is, it is determined to be a line angle, and the angle size is read as sangle. The control file pointer is shifted backward by 2 bytes, and the line angle value of sangle-4 bytes is extracted as Pangle. n (n=0; n+=1), stored in the public structure PPATH.

[0114] The box body flag is configured to include the seventh flag 0x1003 and the eleventh flag 0x2D00. The part of the pixel header and pixel pointer offset sub-mechanism that reads the box body pixel data is configured as follows: when the eleventh flag 0x2D00 is detected, the control file pointer is backed off by 4 bytes to read the size of the box body BOX sbox, and the control file pointer is offset by 2 bytes to extract the chip BOX value of sbox-4 bytes as Pbox n (n=0; n+=1) are stored in the public structure PBOX; when the seventh flag 0x1003 is detected, the control file pointer is backed up 4 bytes to read the coordinate size sxy of BOX, and then the polygon coordinates of sxy-4 bytes are read as Pbox n (n=0; n+=1), stored in the public structure PBOX.

[0115] The pixel header and pixel pointer offset sub-mechanism is also configured with a loop reading mechanism based on the termination flag, which is used to control the file pointer to continue to loop read each module structure in the GDSII file according to the above-mentioned reading method of the filled polygon, line and box pixel data when the termination flag is not detected, until the termination flag is detected and the reading stops. The termination flag is configured as 0x00040400.

[0116] Specifically, when the flag bit 0x00040700 is detected, it indicates that the reading of one module structure is completed, and the reading operation of the next module structure is continued. The above process is continuously cycled until all data reading is completed, that is, when the termination flag bit 0x00040400 is read, the entire GDSII file data reading is terminated.

[0117] In this way, the embodiment of the present application realizes automatic reading of flux pinning related information in the GDSII file through the reading design of the GDSII file, thereby effectively improving the file reading efficiency and accuracy compared with the manual reading method.

[0118] The above operation 102, before determining the laying range of the flux pinning according to the set pinning distance, box pixel data and data unit, the method also includes: creating a pre-stored layer and a laying layer, the layer values ​​of the pre-stored layer and the laying layer are different from the layer values ​​of the current existing layer.

[0119] Specifically, in order to facilitate the extraction of flux pinning data and avoid layer overlap, when determining the laying area of ​​flux pinning, it is necessary to recreate the layer used to store flux pinning related data, that is, the pre-storage layer, and the layer used to lay flux pinning, that is, the laying layer.

[0120] In order to ensure that the layers do not overlap, it is necessary to traverse the existing layers to determine whether the layer values ​​of the newly created pre-stored layer and the laying layer are different from the layer values ​​of the existing layers.

[0121] For example, after reading the flux pinning information from the GDSII file, create a pre-stored layer Player in the public structure PLAYER new With laying layers Player pinning , during the creation process, ensure that Player new 、Player pinning Not equal to Player n (n=0; n+=1). Among them, Player n (n=0; n+=1) represents all layer values ​​stored in the public structure PLAYER, and (n=0; n+=1) represents traversing each existing layer value in sequence starting from 0.

[0122] Figure 2 A schematic diagram of the implementation process of the laying range determination operation of the flux pinning laying method in the quantum layout provided by an embodiment of the present application is shown.

[0123] refer to Figure 2 The above operation 102 determines the laying range of flux pinning according to the set pinning distance, box pixel data and data unit, including: operation 201, traversing each coordinate in the box pixel data to obtain the maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate; operation 202, according to the data unit, reducing the maximum absolute value of the horizontal coordinate, the maximum absolute value of the vertical coordinate and each coordinate in the box pixel data by the set pinning distance to obtain the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value; operation 203, determining the laying range of flux pinning according to the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value, and storing the target box pixel data, the target horizontal coordinate maximum value, the target vertical coordinate maximum value and the laying range of flux pinning to the pre-stored layer.

[0124] In operation 201, each coordinate in the box pixel data is traversed to obtain the maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate.

[0125] The box pixel data includes at least all the coordinates of the box, and the maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate determine the original laying range of the current box. Therefore, it is necessary to first traverse each coordinate in the box pixel data to obtain the maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate.

[0126] For example, referring to the above description of reading the box pixel data, the relevant information of the box is stored in PBOX. Read the BOX coordinate value from the PBOX structure, traverse and compare all its coordinates Pbox n (n=0; n+=1), determine the maximum |X| and |Y| values. Among them, |X| is the maximum absolute value of the horizontal axis, and |Y| is the maximum absolute value of the vertical axis.

[0127] In operation 202 , the maximum absolute value of the horizontal coordinate, the maximum absolute value of the vertical coordinate, and each coordinate in the box pixel data are reduced by a set pinning distance according to the data unit to obtain target box pixel data, target horizontal coordinate maximum value, and target vertical coordinate maximum value.

[0128] Under the condition that the units used in the coordinates are all data units, the absolute value of each coordinate in the box pixel data is reduced by the set pinning distance to obtain the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value. The set pinning distance is manually configured in advance according to specific needs and can be configured to 50 microns.

[0129] For example, all coordinates Pbox in BOX pixel data n The absolute values ​​of (n=0; n+=1) are reduced by 50um, and the transformed coordinates of all targets are obtained. m (m=0; m+=1), and stored in the pre-storage layer Player new middle.

[0130] The additional distance may also be determined based on the obtained maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate and the set pinning distance, and the additional distance may be reduced after the set pinning distance is reduced. The additional distance may be configured by the user based on the obtained maximum absolute value of the horizontal coordinate, the maximum absolute value of the vertical coordinate and the set pinning distance.

[0131] In operation 203, the laying range of flux pinning is determined according to the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value, and the target box pixel data, the target horizontal coordinate maximum value, the target vertical coordinate maximum value and the laying range of flux pinning are stored in the pre-stored layer.

[0132] After the coordinates are reduced, the laying range of the flux pinning is determined according to the reduced coordinates, and the target box pixel data, the maximum value of the target horizontal coordinate, and the maximum value of the target vertical coordinate obtained after the coordinate reduction are stored in the pre-storage layer to facilitate subsequent calculations.

[0133] The paving area composed of the minimum X, maximum X, minimum Y and maximum Y in the target box pixel data can be used as the paving range, where X and Y refer to the horizontal and vertical coordinates.

[0134] Figure 3 A schematic diagram of the implementation flow of the coordinate processing operation of the flux pinning laying method in the quantum layout provided by an embodiment of the present application is shown.

[0135] refer to Figure 3 The above operation 103, according to the laying range of flux pinning, coordinates of the fill polygon pixel data and the line pixel data are merged and expanded to obtain target fill polygon pixel data and target line pixel data, including: operation 301, merging and calculating the fill polygon pixel data and the line pixel data to obtain intermediate fill polygon pixel data and intermediate line pixel data, and storing the intermediate fill polygon pixel data and the intermediate line pixel data to a pre-stored layer; operation 302, in the pre-stored layer and within the laying range of flux pinning, coordinates of the intermediate fill polygon pixel data and the intermediate line pixel data are expanded to obtain target fill polygon pixel data and target line pixel data.

[0136] In operation 301, the filling polygon pixel data and the line pixel data are combined and calculated to obtain the intermediate filling polygon pixel data and the intermediate line pixel data, and the intermediate filling polygon pixel data and the intermediate line pixel data are stored in the pre-stored layer.

[0137] The multiple filled polygons shown in the filled polygon pixel data may come from different layers and have overlapping edges. The coordinates of all the filled polygons shown in the filled polygon pixel data are merged and calculated to obtain the intermediate filled polygon pixel data. The merge calculation can be performed based on a coordinate merge calculation algorithm such as a Boolean operation algorithm or a scan line algorithm according to actual needs.

[0138] For example, read all the coordinates of all filled polygons in the public structure PBOUNDARY Pboundary n (n=0; n+=1), that is, fill all the coordinates in the polygon pixel data, and merge them to obtain all the coordinates of the transformed intermediate filled polygon pixel data Pboundary m(m=0; m+=1), store all data to Player new to determine the relevant information of all filled polygons in the entire quantum map.

[0139] For the line merging calculation process, it is necessary to take into account the multi-type coordinate data characteristics of the line, that is, the coordinates of the line include line coordinates, angle coordinates and width coordinates. When merging the lines, the line coordinates, angle coordinates and width coordinates of all lines are merged and calculated to obtain the intermediate line pixel data including the line coordinates, angle coordinates and width coordinates of all the lines after the merge calculation.

[0140] For example, the process of merging and calculating line pixel data can be as follows: traverse all lines of all layers in the public structure PPATH, and extract all line coordinates Ppath of the lines. n (n=0; n+=1), line width Pwidth n (n=0; n+=1) and line angle Pangle n (n=0; n+=1), for all line coordinates Ppath n (n=0; n+=1), line width Pwidth n (n=0; n+=1) and line angle Pangle n (n=0; n+=1) perform combined calculation to obtain the transformed line coordinates Ppath m (m=0; m+=1), line width Pwidth m (m=0; m+=1) and line angle Pangle m (m=0; m+=1), store all data to Player new to determine all the line information of the entire quantum map.

[0141] In operation 302, in the pre-stored layer and within the paving range of the flux pinning, coordinate expansion is performed on the intermediate filling polygon pixel data and the intermediate line pixel data to obtain target filling polygon pixel data and target line pixel data.

[0142] In order to ensure that the data has room for modification, the coordinates of each pixel data after the merge calculation are also expanded.

[0143] When coordinate expansion is performed on the merged intermediate filling polygon pixel data and the intermediate line pixel data, it is necessary to ensure that the expansion range does not exceed the laying range of the flux pinning, that is, the coordinate expansion needs to be performed within the laying range of the flux pinning.

[0144] Since the intermediate filling polygon pixel data and the intermediate line pixel data are both stored in the pre-stored layer, the coordinate expansion can be performed in the pre-stored layer.

[0145] The expansion of the middle fill polygon pixel data can be regarded as expanding the perimeter of all the fill polygons shown in the middle fill polygon pixel data. That is, all the coordinates Pboundary in the middle fill polygon pixel data are expanded. m The absolute value of (m=0; m+=1) is expanded. The specific value of the expansion can be consistent with the set pinning distance.

[0146] The intermediate line pixel data includes the intermediate line coordinates, intermediate width coordinates and intermediate angle coordinates of each line; accordingly, the intermediate line pixel data is coordinate expanded, including: increasing the intermediate line coordinates and intermediate angle coordinates of each line by a set pinning distance; increasing the intermediate width coordinates of each line by twice the set pinning distance.

[0147] Since the coordinates of a line need to be represented by line coordinates, angle coordinates and width coordinates together, when the coordinates of the intermediate line pixel data are expanded, the intermediate line coordinates, intermediate width coordinates and intermediate angle coordinates of each line included in the intermediate line pixel data need to be expanded.

[0148] The coordinates of the middle line pixel data are expanded, specifically, all the middle line coordinates and middle angle coordinates of all the lines are increased by the set pinning distance, and all the middle width coordinates of all the lines are increased by two times the set pinning distance.

[0149] For example, when the pinning distance is set to 50 microns, the coordinates of all merged lines Ppath m (m=0; m+=1) and the angle of all lines Pangle m The absolute value of the coordinates of (m=0; m+=1) increases by 50um, and the line width Pwidth of all lines m The absolute value of the coordinate (m=0; m+=1) increases by 100um.

[0150] When the coordinates of the intermediate filling polygon pixel data and the intermediate line pixel data are expanded, a coordinate restriction mechanism is also configured to control the absolute value difference between all the filling polygon coordinates and all the line coordinates to be no less than a set pinning distance, such as 50um.

[0151] Figure 4 A schematic diagram of the implementation process of the laying operation of the flux pinning laying method in the quantum layout provided by an embodiment of the present application is shown.

[0152] refer to Figure 4The above operation 105, laying out the flux pinning according to the flux pinning laying area, includes: operation 401, generating a flux pinning array according to the set specification data of the flux pinning; operation 402, laying out the flux pinning array into the flux pinning laying area within the laying layer.

[0153] In operation 401 , a flux pinning array is generated according to set specification data of flux pinning.

[0154] The magnetic flux pinning is usually designed with set specification data, which at least includes the width, shape and pinning distance of the magnetic flux pinning, wherein the pinning distance is the set pinning distance.

[0155] According to actual needs, the width of the magnetic flux pinning can be configured to be 5 microns, the shape can be configured to be a square, and the pinning distance can be configured to be 50 microns. It should be noted that this application does not limit the setting specification data, and the above is only an exemplary description.

[0156] Based on the set specification data, a flux pinning array is generated, for example, a flux pinning array with square filling boxes of 5 um width and a center distance of 50 um between the boxes is generated.

[0157] In operation 402 , within a tiling layer, a flux pinning array is tiled into a flux pinning tiling region.

[0158] In the laying layer, according to all the coordinates of the flux pinning laying area, fill the flux pinning array to the corresponding position, that is, traverse all the coordinates of the flux pinning laying area, in Player pinning Thus, the automatic laying of magnetic flux pinning is completed.

[0159] Among them, after the laying of the flux pinning is completed, the quantum layout after the laying of the flux pinning is also output.

[0160] Figure 5 A schematic diagram of the composition structure of a flux pinning laying device in a quantum circuit diagram provided in an embodiment of the present application is shown.

[0161] refer to Figure 5 Based on the above-mentioned method for laying magnetic flux pinning in quantum layout, the embodiment of the present application further provides a device for laying magnetic flux pinning in quantum layout, the device comprising:

[0162] Extraction module 501, used for reading the regional demand data of flux pinning from the GDSII file according to the preset flag data and the setting offset mechanism of the file pointer, the regional demand data including data unit, fill polygon pixel data, line pixel data and box pixel data;

[0163] A determination module 502, for determining a laying range of the flux pinning according to a set pinning distance, box pixel data and data unit;

[0164] The coordinate processing module 503 is used to coordinately merge and expand the filling polygon pixel data and the line pixel data according to the laying range of the magnetic flux pinning, so as to obtain the target filling polygon pixel data and the target line pixel data;

[0165] A calculation module 504 is used to perform geometric difference calculation on the laying range of the magnetic flux pinning, the target filling polygon pixel data and the target line pixel data to obtain the magnetic flux pinning laying area;

[0166] The laying module 505 is used to lay the flux pinning according to the flux pinning laying area.

[0167] The device also includes:

[0168] A creation module is used to create a pre-stored layer and a laid layer. The layer values ​​of the pre-stored layer and the laid layer are different from the layer values ​​of the current existing layers.

[0169] The determination module 502 includes:

[0170] The acquisition submodule is used to traverse each coordinate in the box pixel data and obtain the maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate;

[0171] A coordinate processing submodule is used to reduce the maximum absolute value of the horizontal coordinate, the maximum absolute value of the vertical coordinate and each coordinate in the box pixel data by a set pinning distance according to the data unit to obtain the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value;

[0172] The determination submodule is used to determine the laying range of flux pinning according to the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value, and store the target box pixel data, the target horizontal coordinate maximum value, the target vertical coordinate maximum value and the laying range of flux pinning in the pre-storage layer.

[0173] The coordinate processing submodule includes:

[0174] A calculation unit, used for combining and calculating the filling polygon pixel data and the line pixel data to obtain the intermediate filling polygon pixel data and the intermediate line pixel data, and storing the intermediate filling polygon pixel data and the intermediate line pixel data in a pre-storage layer;

[0175] The coordinate processing unit is used to coordinately expand the intermediate filling polygon pixel data and the intermediate line pixel data in the pre-stored layer and within the laying range of the flux pinning to obtain the target filling polygon pixel data and the target line pixel data.

[0176] The laying module 505 includes:

[0177] A generation submodule, used for generating a flux pinning array according to set specification data of the flux pinning;

[0178] The laying submodule is used to lay the flux pinning array into the flux pinning laying area within the laying layer.

[0179] It should be noted that the description of the device in the embodiment of the present application is similar to the description of the method embodiment described above, and has similar beneficial effects as the method embodiment, so it will not be repeated. Figures 1 to 5 The present invention can be understood by referring to the description of any one of the accompanying drawings.

[0180] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device and a readable storage medium.

[0181] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.

[0182] like Figure 6 As shown, the device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the device 600 can also be stored. The computing unit 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0183] A number of components in the device 600 are connected to the I / O interface 605, including: an input unit 606, such as a keyboard, a mouse, etc.; an output unit 607, such as various types of displays, speakers, etc.; a storage unit 608, such as a disk, an optical disk, etc.; and a communication unit 609, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 609 allows the device 600 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0184] The computing unit 601 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 601 performs the various methods and processes described above, such as the flux pinning laying method in the quantum layout. For example, in some embodiments, the flux pinning laying method in the quantum layout may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 600 via the ROM 602 and / or the communication unit 609. When the computer program is loaded into the RAM 603 and executed by the computing unit 601, one or more steps of the flux pinning laying method in the quantum layout described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to execute the flux pinning paving method in the quantum layout by any other appropriate means (for example, by means of firmware).

Claims

1. A method for laying magnetic flux pinning in a quantum map, characterized in that: The method comprises: Reading the area requirement data of the flux pinning from the GDSII file according to the setting flag data and the setting offset mechanism of the file pointer, wherein the area requirement data includes data units, fill polygon pixel data, line pixel data and box pixel data; Determining the laying range of the flux pinning according to the set pinning distance, the box pixel data and the data unit; According to the laying range of the magnetic flux pinning, coordinate merging and expanding the filling polygon pixel data and the line pixel data to obtain target filling polygon pixel data and target line pixel data; Performing geometric difference calculation on the laying range of the flux pinning, the target filled polygon pixel data and the target line pixel data to obtain the flux pinning laying area; The magnetic flux pinning is laid according to the magnetic flux pinning laying area.

2. The method according to claim 1, characterized in that The set flag data includes a file header flag, a structure header flag, and a pixel header and pixel flags, wherein the pixel header and pixel flags include a filled polygon flag, a line flag, and a box body flag; The file pointer offset setting mechanism includes a file header pointer offset sub-mechanism, a structure header pointer offset sub-mechanism, and a pixel header and pixel pointer offset sub-mechanism; Wherein, the file header pointer offset sub-mechanism is used to control the file pointer to read the data unit according to the file header flag bit; The structure header pointer offset sub-mechanism is used to control the file pointer to offset the file pointer to the pixel header and pixel module of the GDSII file according to the structure header flag; The pixel header and pixel pointer offset sub-mechanism is used to control the file pointer to read the filling polygon pixel data, the line pixel data and the box pixel data according to the filling polygon flag, the line flag and the box flag.

3. The method according to claim 1, characterized in that Before determining the laying range of the flux pinning according to the set pinning distance, the box pixel data and the data unit, the method further includes: A pre-stored layer and a laid layer are created, wherein the layer values ​​of the pre-stored layer and the laid layer are different from the layer value of the currently existing layer.

4. The method according to claim 3, characterized in that The determining of the laying range of the magnetic flux pinning according to the set pinning distance, the box pixel data and the data unit includes: Traverse each coordinate in the box pixel data to obtain the maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate; According to the data unit, the maximum absolute value of the horizontal coordinate, the maximum absolute value of the vertical coordinate, and each coordinate in the box pixel data are reduced by the set pinning distance to obtain target box pixel data, target horizontal coordinate maximum value, and target vertical coordinate maximum value; The laying range of the flux pinning is determined according to the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value, and the target box pixel data, the target horizontal coordinate maximum value, the target vertical coordinate maximum value and the laying range of the flux pinning are stored in the pre-stored layer.

5. The method according to claim 4, characterized in that The step of merging and expanding the fill polygon pixel data and the line pixel data according to the laying range of the magnetic flux pinning to obtain target fill polygon pixel data and target line pixel data includes: Merge and calculate the filled polygon pixel data and the line pixel data to obtain intermediate filled polygon pixel data and intermediate line pixel data, and store the intermediate filled polygon pixel data and the intermediate line pixel data in the pre-stored layer; In the pre-stored layer and within the laying range of the flux pinning, coordinate expansion is performed on the intermediate filling polygon pixel data and the intermediate line pixel data to obtain target filling polygon pixel data and target line pixel data.

6. The method according to claim 5, characterized in that The intermediate line pixel data includes the intermediate line coordinates, intermediate width coordinates and intermediate angle coordinates of each line; accordingly, The coordinates of the middle line pixel data are expanded, including: Increase the middle line coordinate and middle angle coordinate of each line by the set pinning distance; Set the pinning distance by doubling the middle width coordinate of each line.

7. The method according to claim 1, characterized in that The geometric difference calculation is performed using Boolean operation algorithm.

8. The method according to claim 1, characterized in that: Laying the magnetic flux pinning according to the magnetic flux pinning laying area includes: generating a flux pinning array according to set specification data of the flux pinning; In the laying layer, the flux pinning array is laid into the flux pinning laying area.

9. A magnetic flux pinning and laying device in a quantum map, characterized in that: The device comprises: An extraction module, used for reading the regional demand data of flux pinning from the GDSII file according to the preset flag data and the setting offset mechanism of the file pointer, wherein the regional demand data includes data units, fill polygon pixel data, line pixel data and box pixel data; A determination module, used to determine the laying range of the magnetic flux pinning according to the set pinning distance, the box pixel data and the data unit; A coordinate processing module, for performing coordinate merging and expansion on the fill polygon pixel data and the line pixel data according to the laying range of the magnetic flux pinning, so as to obtain target fill polygon pixel data and target line pixel data; A calculation module, used for performing geometric difference calculation on the laying range of the magnetic flux pinning, the target filling polygon pixel data and the target line pixel data to obtain the magnetic flux pinning laying area; A laying module is used to lay the flux pinning according to the flux pinning laying area.

10. The device according to claim 9, characterized in that The device also includes: The creation module is used to create a pre-stored layer and a laid layer, wherein the layer values ​​of the pre-stored layer and the laid layer are different from the layer values ​​of the currently existing layers.

11. The device according to claim 10, characterized in that The determination module comprises: An acquisition submodule, used for traversing each coordinate in the box pixel data to obtain the maximum absolute value of the horizontal coordinate and the maximum absolute value of the vertical coordinate; A coordinate processing submodule, for reducing the maximum absolute value of the horizontal coordinate, the maximum absolute value of the vertical coordinate, and each coordinate in the box pixel data by the set pinning distance according to the data unit, to obtain target box pixel data, target horizontal coordinate maximum value, and target vertical coordinate maximum value; A determination submodule is used to determine the laying range of flux pinning according to the target box pixel data, the target horizontal coordinate maximum value and the target vertical coordinate maximum value, and store the target box pixel data, the target horizontal coordinate maximum value, the target vertical coordinate maximum value and the laying range of flux pinning in the pre-stored layer.

12. The device according to claim 11, characterized in that The coordinate processing submodule comprises: A calculation unit, used for combining and calculating the filling polygon pixel data and the line pixel data to obtain intermediate filling polygon pixel data and intermediate line pixel data, and storing the intermediate filling polygon pixel data and the intermediate line pixel data in the pre-storage layer; The coordinate processing unit is used to coordinately expand the intermediate filling polygon pixel data and the intermediate line pixel data in the pre-stored layer and within the laying range of the flux pinning to obtain target filling polygon pixel data and target line pixel data.

13. The device according to claim 9, characterized in that The laying module comprises: A generation submodule, used for generating a flux pinning array according to set specification data of the flux pinning; The laying submodule is used to lay the flux pinning array into the flux pinning laying area within the laying layer.

14. A device, characterized in that The device includes at least one processor, and at least one memory and a bus connected to the processor; wherein the processor and the memory communicate with each other through the bus; and the processor is used to call program instructions in the memory to execute the method described in any one of claims 1-8.

15. A computer-readable storage medium, characterized in that: The storage medium comprises a set of computer executable instructions, and when the instructions are executed, they are used to perform the method of any one of claims 1-8.

Citation Information

Patent Citations

  • Method for converting GDSII file into maskless photoetching machine exposure data

    CN101826127A

  • Systems and methods for fabricating superconducting integrated circuits

    CN115004393A