Spatial index construction method, retrieval method and system for large aspect ratio patterns
By constructing a spatial index database with a striped index structure and binary tree nodes, the problem of low retrieval efficiency for graphics with large aspect ratios in integrated circuit layout files is solved, enabling fast retrieval and location of target polygonal graphics.
Patent Information
- Application Number
- CN202511207263.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-27
- Publication Date
- 2025-11-07
- Estimated Expiration
- 2045-08-27
AI Technical Summary
Existing spatial indexing technologies are poorly suited for retrieving polygonal graphics in integrated circuit layout files. The index building time is long and the retrieval efficiency is low, especially for two-dimensional graphics with large aspect ratios.
A spatial index database with a striped index structure and binary tree nodes is constructed. By filtering graphics with large aspect ratios and performing matching operations, polygonal graphics in target map files can be quickly constructed and retrieved.
It enables the rapid construction of a spatial index database, improves the retrieval efficiency and positioning speed for graphics with large aspect ratios, and solves the problems of poor applicability and low retrieval efficiency of polygon graphics in existing technologies.
Smart Images

Figure CN120687624B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data storage, in particular to a spatial index construction method, retrieval method and system for large aspect ratio graphics. BACKGROUND
[0002] Integrated circuits are produced by means of photolithography, doping, thin film deposition and other processes, and a large number of microelectronic components and interconnection lines required by the circuit are integrated on a single semiconductor wafer or dielectric substrate, and packaged into a microstructure with specific circuit functions, thereby realizing the miniaturization, low power consumption and high reliability of electronic components.
[0003] During the production of integrated circuits, EDA (Electronic Design Automation) tools are mainly used to complete circuit design and generate layout files to guide chip manufacturing. The layout file of an integrated circuit is a digital file describing the physical layout of the chip, which is defined in layers according to the steps of the semiconductor process, including: active area layer, polysilicon layer, metal layer, and via / contact hole. Among them, the layout layer of the metal layer is mainly used to describe the signal and power wiring, which contains a plurality of polygonal graphics used to define the outline of the power line and the signal line. Each polygonal graphic often has the characteristics of large aspect ratio and almost uniform width.
[0004] In the layout design, such as the layout pattern matching process, it is usually necessary to retrieve and locate each polygonal graphic in the layout layer file and obtain the spatial position of the target polygonal graphic. When retrieving each polygonal graphic, the existing technology usually uses spatial indexing technology. It should be understood that the spatial indexing technology divides different dimensions of space into different index regions, and organizes and arranges the spatial data according to the position, shape or spatial relationship between the elements of the spatial data, so that the target object can be quickly located during retrieval. Thus, the spatial indexing technology is widely used in the rapid positioning and retrieval of two-dimensional graphics. The spatial indexing technology mainly includes R-tree, quadtree, KD-tree, etc., among which the R-tree creates nodes based on the minimum bounding rectangle, which can efficiently retrieve two-dimensional graphics within a given range; the quadtree divides the space into four quadrants recursively, and the hierarchical structure is conducive to subsequent queries, which is particularly suitable for uniformly distributed two-dimensional graphics.
[0005] However, R-tree is more efficient when applied to the retrieval of complex graphics, but when retrieving each polygonal graphic in the layout file, the establishment of R-tree will take a long time due to the use of dynamic data insertion, thereby seriously affecting the index construction efficiency and retrieval efficiency. At the same time, although the quadtree has a relatively simple structure and a shorter establishment time, if the data is not uniformly distributed, the retrieval efficiency is limited, and it is not suitable for retrieving each polygonal graphic in the layout file, especially for retrieving large aspect ratio two-dimensional graphics.
[0006] Therefore, the existing spatial index technology has the technical problems of poor applicability to polygon graphics of layout files, long index construction time, and limited retrieval efficiency. SUMMARY
[0007] In view of the above technical problems of the prior art, the present application aims to provide a spatial index construction method, retrieval method and system for large aspect ratio graphics, to solve the technical problems of poor applicability to polygon graphics of layout files, long index construction time, and limited retrieval efficiency of the existing spatial index technology.
[0008] To achieve the above object and other related objects, the first aspect of the present application provides a spatial index construction method for large aspect ratio graphics, comprising: reading a plurality of layout layers in a target layout file, and obtaining the outer bounding rectangles of a plurality of polygon graphics in each layout layer, calculating the aspect ratio of each outer bounding rectangle to screen one or more large aspect ratio graphics; constructing a spatial index database of the target layout file; wherein the spatial index database comprises a plurality of strip index structures, each strip index structure comprises a plurality of index strips; each index strip is constructed with a binary tree, including one or more binary tree nodes; based on the width value of each large aspect ratio graphic, performing an index structure matching operation on each large aspect ratio graphic to obtain the target strip index structure of each large aspect ratio graphic; based on the spatial position of each large aspect ratio graphic in the width direction, performing an index strip matching operation on each large aspect ratio graphic to obtain the target index strip of each large aspect ratio graphic in the target strip index structure; based on the spatial position of each large aspect ratio graphic in the length direction, performing a binary tree node matching operation on each large aspect ratio graphic to obtain the target binary tree node of each large aspect ratio graphic in the target index strip; obtaining the storage address of each large aspect ratio graphic, and storing each storage address to the target binary tree node of each large aspect ratio graphic, updating the spatial index database of the target layout file.
[0009] In some embodiments of the first aspect of the present application, each strip index structure is used to store one or more large aspect ratio graphics that meet different graphic width conditions; wherein the way of performing the index structure matching operation on each large aspect ratio graphic comprises: obtaining the graphic width conditions of each strip index structure according to the first data identifier of each strip index structure in the spatial index database; comparing the width value of the large aspect ratio graphic to be matched with the graphic width conditions of each strip index structure, screening the matching graphic width conditions, and taking the corresponding strip index structure as the target strip index structure of the large aspect ratio graphic.
[0010] In some embodiments of the first aspect of the present application, each index band is configured to store one or more large aspect ratio patterns satisfying different width direction spatial position conditions; and the manner of performing the index band matching operation on each large aspect ratio pattern comprises: obtaining the width direction spatial position conditions of each index band according to the second data identifiers of the index bands in the target band index structure; comparing the spatial position of the large aspect ratio pattern to be matched in the width direction with the width direction spatial position conditions of each index band, and screening the matching width direction spatial position conditions to take the corresponding index band as the target index band of the large aspect ratio pattern in the target band index structure.
[0011] In some embodiments of the first aspect of the present application, the manner of performing the index band matching operation on each large aspect ratio pattern further comprises: obtaining a rectangular layout region of the target layout file, and constructing a layout coordinate system based on the rectangular layout region; wherein the x-axis direction of the layout coordinate system is the length direction of the rectangular layout region, and the y-axis direction is the width direction of the layout region; obtaining the pattern width condition W of the target band index structure according to the first data identifiers of the target band index structure; and obtaining the width direction spatial position conditions of each large aspect ratio pattern stored in each index band of the target band index structure based on the width direction of the layout coordinate system according to the second data identifiers of the index bands in the target band index structure ; wherein and are respectively the minimum value and the maximum value of the width direction of each large aspect ratio pattern stored in the th index band of the target band index structure in the layout coordinate system; obtaining the bounding rectangle of the large aspect ratio pattern to be matched, and calculating the minimum value of the width direction of the bounding rectangle in the layout coordinate system ; if the minimum value of the width direction of the bounding rectangle satisfies the width direction spatial position condition of an index band , then the index band is the target index band of the large aspect ratio pattern in the target band index structure.
[0012] In some embodiments of the first aspect of the present application, each binary tree node is used to store one or more large aspect ratio patterns meeting different length direction spatial position conditions; wherein the manner of performing binary tree node matching operation on each large aspect ratio pattern comprises: based on the binary tree of the target index tape, starting from the root node of the binary tree, obtaining the length direction spatial position condition of each large aspect ratio pattern stored in the node, and judging whether the spatial position of the large aspect ratio pattern to be matched in the length direction meets the length direction spatial position condition, if it meets, the node is the target binary tree node of the large aspect ratio pattern in the target index tape; if it does not meet, judging whether the spatial position of the large aspect ratio pattern to be matched in the length direction is less than the length direction spatial position condition, if it is less than the length direction spatial position condition, continue to search in the left subtree of the binary tree; if it is greater than the length direction spatial position condition, continue to search in the right subtree of the binary tree; repeat the above steps until the matching target binary tree node is found.
[0013] In some embodiments of the first aspect of the present application, the manner of performing binary tree node matching operation on each large aspect ratio pattern further comprises: obtaining a rectangular layout region of the target layout file, and constructing a layout coordinate system based on the rectangular layout region; wherein the x-axis direction of the layout coordinate system is the length direction of the rectangular layout region, and the y-axis direction is the width direction of the layout region; calculating the length direction minimum value , length direction middle value and length direction maximum value of the rectangular layout region in the layout coordinate system; wherein the length direction middle value of the rectangular layout region meets the condition: ; obtaining the outer bounding rectangle of the large aspect ratio pattern to be matched, and calculating the length direction minimum value and length direction maximum value of the outer bounding rectangle in the layout coordinate system; if the length direction minimum value and length direction maximum value of the outer bounding rectangle meet the condition: , it is determined that the root node of the binary tree is the target binary tree node of the large aspect ratio pattern; if the length direction minimum value and length direction maximum value of the outer bounding rectangle meet: , it is judged whether the left child node of the root node of the binary tree is the target binary tree node of the large aspect ratio pattern, if the length direction minimum value and length direction maximum value of the outer bounding rectangle meet: , the node is the target binary tree node of the large aspect ratio pattern; if the length direction minimum value and the length direction maximum value satisfy: if the length direction minimum value of the outer-enclosing rectangle of the large aspect ratio graphic is greater than the initial length value of the outer-enclosing rectangle of the large aspect ratio graphic, and the length direction maximum value of the outer-enclosing rectangle of the large aspect ratio graphic is greater than the initial width value of the outer-enclosing rectangle of the large aspect ratio graphic, then it is determined that the right child node of the root node of the binary tree is the target binary tree node of the large aspect ratio graphic. and the length direction maximum value satisfy: if the length direction minimum value of the outer-enclosing rectangle of the large aspect ratio graphic is greater than the initial length value of the outer-enclosing rectangle of the large aspect ratio graphic, and the length direction maximum value of the outer-enclosing rectangle of the large aspect ratio graphic is greater than the initial width value of the outer-enclosing rectangle of the large aspect ratio graphic, then it is determined that the right child node of the root node of the binary tree is the target binary tree node of the large aspect ratio graphic.
[0014] In some embodiments of the first aspect of the present application, one way of screening a large aspect ratio graphic includes: obtaining an outer-enclosing rectangle of a polygon graphic, and calculating an initial length value and an initial width value of the outer-enclosing rectangle; performing a right shift operation on the initial length value, and comparing the obtained multiplied length value with the initial width value; if the multiplied length value is greater than the initial width value, then it is determined that the polygon graphic is a large aspect ratio graphic.
[0015] In some embodiments of the first aspect of the present application, another way of screening a large aspect ratio graphic includes: obtaining an outer-enclosing rectangle of a polygon graphic, and calculating an initial length value and an initial width value of the outer-enclosing rectangle; performing a left shift operation on the initial width value, and comparing the obtained multiplied width value with the initial length value; if the multiplied width value is less than the initial length value, then it is determined that the polygon graphic is a large aspect ratio graphic.
[0016] To achieve the above object and other related objects, the second aspect of the present application provides a large aspect ratio graphic retrieval method for retrieving one or more target large aspect ratio graphics in a target layout file based on a spatial index database constructed by the spatial index construction method of any one of the above embodiments, the large aspect ratio graphic retrieval method comprising: screening one or more retrieval conditions for retrieving each target large aspect ratio graphic according to a retrieved retrieval statement, and obtaining a width retrieval condition, a width direction spatial position retrieval condition and a length direction spatial position retrieval condition for retrieving each target large aspect ratio graphic; screening one or more target strip index structures based on the width retrieval condition for retrieving each target large aspect ratio graphic; screening one or more target index strips in each target strip index structure in turn based on the width direction spatial position retrieval condition for retrieving each target large aspect ratio graphic; screening one or more target binary tree nodes in each target index strip in turn based on the length direction spatial position retrieval condition for retrieving each target large aspect ratio graphic; and obtaining a storage address of each target large aspect ratio graphic according to each target binary tree node, and then obtaining each target large aspect ratio graphic.
[0017] To achieve the above object and other related objects, the third aspect of the present application provides a spatial index construction system for large-aspect-ratio graphics, which comprises: a graphic screening module, configured to read a plurality of layout layers in a target layout file, and obtain the outer bounding rectangles of a plurality of polygon graphics in each layout layer, and calculate the aspect ratios of each outer bounding rectangle to screen one or more large-aspect-ratio graphics; a database construction module, configured to construct a spatial index database of the target layout file; wherein the spatial index database comprises a plurality of strip index structures, each strip index structure comprises a plurality of index strips; each index strip is constructed with a binary tree comprising one or more binary tree nodes; a database updating module, connected to the graphic screening module and the database construction module respectively, comprising: an index structure matching unit, connected to the graphic screening module and the database construction module respectively, configured to perform an index structure matching operation on each large-aspect-ratio graphic based on the width value of each large-aspect-ratio graphic to obtain a target strip index structure of each large-aspect-ratio graphic; an index strip matching unit, connected to the graphic screening module, the database construction module and the index structure matching unit respectively, configured to perform an index strip matching operation on each large-aspect-ratio graphic based on the spatial position of each large-aspect-ratio graphic in the width direction to obtain a target index strip of each large-aspect-ratio graphic in the target strip index structure; a binary tree node matching unit, connected to the graphic screening module, the database construction module and the index strip matching unit respectively, configured to perform a binary tree node matching operation on each large-aspect-ratio graphic based on the spatial position of each large-aspect-ratio graphic in the length direction to obtain a target binary tree node of each large-aspect-ratio graphic in the target index strip; and a database updating unit, connected to the graphic screening module, the database construction module and the binary tree node matching unit respectively, configured to obtain the storage addresses of each large-aspect-ratio graphic, and store each storage address to the target binary tree node of each large-aspect-ratio graphic respectively to update the spatial index database of the target layout file.
[0018] As described above, the present application has the following beneficial effects: the present application provides a large-aspect-ratio pattern spatial index construction method, retrieval method and system, by reading a target layout file, screening one or more large-aspect-ratio patterns, and constructing a corresponding spatial index database; by performing matching operations on each screened large-aspect-ratio pattern, gradually matching each large-aspect-ratio pattern in the target strip index structure, target index strip and target binary tree node of the spatial index database, to store the storage address of each large-aspect-ratio pattern in the corresponding target binary tree node, and update the spatial index database; thereby realizing fast construction of the spatial index database, and enabling fast retrieval and positioning of target large-aspect-ratio patterns in the target layout file during layout design, solving the technical problems of poor applicability of existing spatial index technology to polygon patterns of target layout files, long index construction time and limited retrieval efficiency. BRIEF DESCRIPTION OF DRAWINGS
[0019] Figure 1 A flowchart of a large-aspect-ratio pattern spatial index construction method according to an embodiment of the present application is shown.
[0020] Figure 2 A schematic diagram of a layout layer of a target layout file according to an embodiment of the present application is shown.
[0021] Figure 3 A structural schematic diagram of a spatial index database according to an embodiment of the present application is shown.
[0022] Figure 4 A schematic diagram of an index strip matching operation according to an embodiment of the present application is shown.
[0023] Figure 5 A schematic diagram of a binary tree node matching operation according to an embodiment of the present application is shown.
[0024] Figure 6 A flowchart of a large-aspect-ratio pattern retrieval method according to an embodiment of the present application is shown.
[0025] Figure 7 A structural schematic diagram of a large-aspect-ratio pattern spatial index construction system according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0026] The embodiments of the present application are described below by way of specific examples, and those skilled in the art can easily understand other advantages and effects of the present application from the disclosure. The present application can also be implemented or applied by other different specific embodiments, and the details in the specification can be modified or changed based on different views and applications without departing from the spirit of the present application. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict.
[0027] To solve the above problems, the application provides a large aspect ratio pattern spatial index construction method, retrieval method and system, aiming to construct a spatial index database including a plurality of strip index structures, each strip index structure including a plurality of index strips, and each index strip further constructing a binary tree, thereby accelerating the retrieval speed of a large number of large aspect ratio patterns in the target layout file, solving the technical problems of poor applicability of existing spatial index technology to polygon patterns of the target layout file, long index construction time and limited retrieval efficiency.
[0028] In order to make the purpose, technical scheme and advantages of the application more clear and understandable, the technical scheme of the embodiment of the application is further described in detail through the following examples and in conjunction with the drawings. It should be understood that the specific embodiments described herein are only used to explain the application and not to limit the application.
[0029] As shown in Figure 1 , a flowchart of a large aspect ratio pattern spatial index construction method in the embodiment of the application is shown. The large aspect ratio pattern spatial index construction method in the embodiment includes steps S101-S106.
[0030] Step S101: reading a plurality of layout layers in a target layout file, and obtaining the outer bounding rectangles of a plurality of polygon patterns in each layout layer, calculating the aspect ratio of each outer bounding rectangle to screen one or more large aspect ratio patterns.
[0031] The target layout file is a digital file describing the physical layout of a chip in an integrated circuit, including: active area layer, polysilicon layer, metal layer and via / contact hole. Among them, the target layout file includes one or more layout layers of metal layers, each layout layer of metal layer includes a plurality of polygon patterns, which are used to define the outline of power lines and signal lines, thereby describing the signal and power wiring situation. As shown in Figure 2 , each polygon pattern usually has a large aspect ratio, and the polygon patterns in each layout layer have the characteristic of consistent width. Therefore, the application screens large aspect ratio patterns that meet this characteristic, and constructs a spatial index database based on this, to realize fast retrieval and positioning of this type of polygon pattern in layout design, thereby speeding up the speed and efficiency of layout design.
[0032] In the embodiment, the large aspect ratio graphics can be screened out by calculating the aspect ratio of the outer enclosing rectangle of each polygon graphic. When the length of the outer enclosing rectangle of a polygon graphic is much larger than its width, it can be considered that the aspect ratio of the polygon graphic is large, and the polygon graphic can be determined as a large aspect ratio graphic. It should be understood that the outer enclosing rectangle refers to the smallest rectangle that can completely contain the given polygon graphic. Specifically, the way to obtain the outer enclosing rectangle of a polygon graphic includes the following steps.
[0033] 1. Obtain the rectangular layout region of the target layout file, and construct a layout coordinate system based on the rectangular layout region.
[0034] The x-axis direction of the layout coordinate system is the length direction of the rectangular layout region, and the y-axis direction is the width direction of the layout region.
[0035] It should be noted that if the target layout file can provide the size of the corresponding integrated circuit, that is, the size and spatial range of the rectangular layout region, the corresponding rectangular layout region can be directly obtained from the target layout file, and the layout coordinate system can be constructed. However, if the target layout file cannot directly provide the size and spatial range of the rectangular layout region, the layout coordinate system can be gradually constructed and updated based on the size, spatial range, and positional relationship with other polygon graphics of each polygon graphic, so that the layout coordinate system is adapted to the target layout file.
[0036] 2. Obtain the coordinate value of each point of the polygon graphic in the layout coordinate system , and calculate the minimum value of the length direction , the maximum value of the length direction , the minimum value of the width direction , and the maximum value of the width direction of the polygon graphic in the layout coordinate system.
[0037] 3. Determine that the vertices of the outer enclosing rectangle of the polygon graphic are respectively: the first vertex , the second vertex , the third vertex , and the fourth vertex .
[0038] At this time, the length value , and the width value of the outer enclosing rectangle. If the aspect ratio of the outer enclosing rectangle satisfies: , the corresponding polygon graphic is determined as a large aspect ratio graphic. Wherein, is a preset aspect ratio threshold, which can be set by the user according to the needs, and the present application does not specifically limit it.
[0039] But in actual calculation, especially when the method is implemented by computer program, the division operation will cause limited operation precision and operation efficiency, and often can return an exception to cause program crash. To solve the technical problem, the bit operation is adopted to replace the division operation, thereby effectively improving the operation precision and operation efficiency.
[0040] In an embodiment, one way of screening the large aspect ratio graphic by bit operation includes: obtaining the outer enclosing rectangle of the polygon graphic, and calculating the initial length value and the initial width value of the outer enclosing rectangle; performing right shift operation on the initial length value, and comparing the obtained multiplied length value with the initial width value, if the multiplied length value is greater than the initial width value, it is determined that the polygon graphic is a large aspect ratio graphic.
[0041] Preferably, the initial length value can be right shifted by three bits to obtain the multiplied length value, which is compared with the initial width value to determine whether the corresponding polygon graphic is a large aspect ratio graphic. It should be understood that after the initial length value is right shifted by three bits, the multiplied length value is 8 times smaller than the initial length value. At this time, if the multiplied length value is still greater than the initial width value, it indicates that the aspect ratio of the initial length value and the initial width value is at least greater than 8, and there is a large gap between the initial length value and the initial width value, so the corresponding polygon graphic can be determined as a large aspect ratio graphic. It should be noted that the specific number of bits by which the initial length value is right shifted can be set by the user according to the needs, and the present application is not limited.
[0042] In another embodiment, another way of screening the large aspect ratio graphic by bit operation includes: obtaining the outer enclosing rectangle of the polygon graphic, and calculating the initial length value and the initial width value of the outer enclosing rectangle; performing left shift operation on the initial width value, and comparing the obtained multiplied width value with the initial length value, if the multiplied width value is less than the initial length value, it is determined that the polygon graphic is a large aspect ratio graphic.
[0043] Preferably, the initial width value can be left shifted by three bits to obtain the multiplied width value, which is compared with the initial length value to determine whether the corresponding polygon graphic is a large aspect ratio graphic. It should be understood that after the initial width value is left shifted by three bits, the multiplied width value is 8 times greater than the initial width value. At this time, if the multiplied width value is still less than the initial length value, it indicates that the aspect ratio of the initial length value and the initial width value is at least greater than 8, and there is a large gap between the initial length value and the initial width value, so the corresponding polygon graphic can be determined as a large aspect ratio graphic. It should be noted that the specific number of bits by which the initial width value is left shifted can be set by the user according to the needs, and the present application is not limited.
[0044] It should also be noted that users can choose one of the methods provided in the above embodiments to filter graphics with large aspect ratios, that is, to shift the initial length value to the right or the initial width value to the left to determine whether the corresponding polygonal graphic is a graphic with a large aspect ratio. This application is not limited to this.
[0045] Step S102: Construct a spatial index database for the target layout file.
[0046] Among them, such as Figure 3 As shown, the spatial index database includes multiple striped index structures.
[0047] Specifically, each strip index structure is used to store one or more large aspect ratio graphics that meet different graphic width conditions. Since the polygon graphics in each layer of the target layout file often exhibit a consistent width, this application groups the selected large aspect ratio graphics based on their width values. One or more large aspect ratio graphics meeting the same graphic width condition are grouped together and indexed using the same strip index structure, while multiple large aspect ratio graphics meeting different graphic width conditions are indexed using different strip index structures, thereby improving indexing speed and efficiency.
[0048] In one embodiment, one way to construct a strip index structure includes: obtaining the width values of graphics with different aspect ratios, grouping the graphics with different aspect ratios accordingly to obtain one or more groups of graphics with different aspect ratios, constructing corresponding strip index structures based on the groups of graphics with different aspect ratios, and generating a first data identifier for each strip index structure according to the width range of the graphics in the groups of graphics with different aspect ratios.
[0049] In another embodiment, another way to construct a strip index structure includes: obtaining the width value of the first large aspect ratio graphic, constructing a corresponding first strip index structure based on the first large aspect ratio graphic, and generating a first data identifier for the strip index structure according to the width value of the large aspect ratio graphic; obtaining the width value of the second large aspect ratio graphic and comparing it with the width value of the first large aspect ratio graphic; if the ratio does not exceed a preset first threshold, storing the large aspect ratio graphic in the first strip index structure for subsequent indexing; otherwise, constructing a corresponding second strip index structure and generating a first data identifier for the strip index structure according to its width value; continuing to obtain the width values of each large aspect ratio graphic in turn and comparing them with the width values of large aspect ratio graphics stored in each constructed strip index structure; if the ratio with the width value of a large aspect ratio graphic stored in a certain strip index structure does not exceed a preset first threshold, storing the large aspect ratio graphic in the matching strip index structure; otherwise, constructing a new strip index structure; repeating the previous step until all large aspect ratio graphics are traversed, completing the construction of all strip index structures.
[0050] It should be noted that if the target layout file can directly obtain the width range or width requirement of each polygonal graph, the preset number of strip index structures can be directly constructed based thereon, and the first data identifier of each strip index structure is defined, and the graph width condition of the large aspect ratio graph stored by each strip index structure is defined.
[0051] As shown in Figure 3 each strip index structure includes a plurality of index strips, and each index strip is used to store one or more large aspect ratio graphs with the same graph width condition but different width direction spatial position conditions.
[0052] In integrated circuit design, the layout design and planning of the position, signal line and power line of the chip need to be performed. In order to avoid signal interference caused by disordered wiring from affecting the performance of the integrated circuit, the layout design and planning are usually performed according to certain rules, and the polygonal graph formed therefore conforms to certain arrangement rules, such as Figure 2 as shown, which presents a strip distribution feature and is parallel to the length direction of the rectangular layout area, i.e. the x-axis direction of the layout coordinate system.
[0053] Based on this, the present application constructs a plurality of index strips in a strip distribution based on the spatial position of each large aspect ratio graph in the width direction, to constitute a strip index structure, so as to realize the hierarchical indexing of each large aspect ratio graph conforming to the same graph width condition, and can quickly search and locate each large aspect ratio graph in the width direction, thereby improving the indexing speed and indexing efficiency.
[0054] In an embodiment, one way of constructing an index strip includes obtaining a rectangular layout area of a target layout file, and layering the rectangular layout area to obtain a plurality of rectangular layout layers, to construct a corresponding index strip, and generating a second data identifier of each index strip according to the spatial position of each rectangular layout layer, i.e. according to the y-axis coordinate range of each rectangular layout layer in the layout coordinate system.
[0055] It should be noted that if the target layout file can provide the size and spatial range of the rectangular layout area corresponding to the integrated circuit, the corresponding rectangular layout area can be directly obtained from the target layout file and the layout coordinate system can be constructed. Therefore, the index strip can be constructed in the above-mentioned manner. However, if the target layout file cannot directly provide the size and spatial range of the rectangular layout area, the index strip can be gradually constructed and updated based on the spatial position of each large aspect ratio graph and the positional relationship with other large aspect ratio graphs.
[0056] Specifically, the way of gradually constructing and updating the index band includes: obtaining a first large-aspect-ratio pattern, constructing a corresponding first index band, and generating a second data identifier of the index band according to the spatial position of the large-aspect-ratio pattern in the width direction, i.e., the y-axis coordinate range of the large-aspect-ratio pattern in the layout coordinate system; obtaining the y-axis coordinate range of a second large-aspect-ratio pattern in the layout coordinate system, and comparing the y-axis coordinate range with the y-axis coordinate range of the first large-aspect-ratio pattern; if the ratio does not exceed a preset second threshold, the large-aspect-ratio pattern is stored in the first index band for subsequent indexing; otherwise, a corresponding second index band is constructed, and a second data identifier of the index band is generated according to the y-axis coordinate range of the large-aspect-ratio pattern in the layout coordinate system; the y-axis coordinate range of each large-aspect-ratio pattern in the layout coordinate system is sequentially obtained, and is compared with the y-axis width range of the large-aspect-ratio pattern stored in each index band that has been constructed; if the ratio of the y-axis coordinate range of the large-aspect-ratio pattern stored in a certain index band does not exceed a preset second threshold, the large-aspect-ratio pattern is stored in the matched index band; otherwise, a new index band is constructed; the above step is repeated until all large-aspect-ratio patterns are traversed, and the construction of all index bands is completed.
[0057] Since each index band can store multiple large-aspect-ratio patterns, in order to further speed up the indexing speed and indexing efficiency, a binary tree is constructed for each index band, and one or more binary tree nodes included in the binary tree are used to store one or more large-aspect-ratio patterns that meet the same pattern width condition and the width direction spatial position condition but different length direction spatial position conditions.
[0058] In an embodiment, the way of constructing a binary tree for each index band includes: constructing a first layer of binary tree nodes, and storing large-aspect-ratio patterns located at the middle position of the length direction of the rectangular layout region in the root node of the binary tree; constructing a second layer of binary tree nodes, and storing large-aspect-ratio patterns located at the middle position of the length direction of the left half region of the rectangular layout region in the left child node of the root node, and storing large-aspect-ratio patterns located at the middle position of the length direction of the right half region of the rectangular layout region in the right child node of the root node; and constructing binary tree nodes layer by layer in the same way.
[0059] In an embodiment, if the large-aspect-ratio patterns stored in an index band are few, a binary tree does not need to be constructed, and each large-aspect-ratio pattern and its storage address are directly stored in the index band. When searching, a small number of large-aspect-ratio patterns are directly traversed after matching to the target index band.
[0060] Step S103: Based on the width values of the large-aspect-ratio patterns, an index structure matching operation is performed on each large-aspect-ratio pattern to obtain a target band-shaped index structure of each large-aspect-ratio pattern.
[0061] In an embodiment, the manner of performing the index structure matching operation on each large-aspect-ratio pattern comprises: obtaining, according to the first data identifiers of each strip index structure in the spatial index database, a pattern width condition in which each strip index structure stores each large-aspect-ratio pattern; comparing the width value of the large-aspect-ratio pattern to be matched with the pattern width conditions of each strip index structure, screening the matched pattern width condition, and taking the corresponding strip index structure as the target strip index structure of the large-aspect-ratio pattern.
[0062] Specifically, if the width value of the large-aspect-ratio pattern to be matched satisfies the condition: , then the corresponding first strip index structure is the target strip index structure of the large-aspect-ratio pattern. Wherein, is the pattern width condition of the first strip index structure, that is, the minimum value of the width values of each large-aspect-ratio pattern stored by the strip index structure is , and the maximum value is .
[0063] Step S104: Based on the spatial position of each large-aspect-ratio pattern in the width direction, performing an index band matching operation on each large-aspect-ratio pattern to obtain the target index band of each large-aspect-ratio pattern in the target strip index structure.
[0064] In an embodiment, the manner of performing the index band matching operation on each large-aspect-ratio pattern comprises: obtaining, according to the second data identifiers of each index band in the target strip index structure, a width direction spatial position condition in which each index band stores each large-aspect-ratio pattern; comparing the spatial position of the large-aspect-ratio pattern to be matched in the width direction with the width direction spatial position condition of each index band, screening the matched width direction spatial position condition, and taking the corresponding index band as the target index band of the large-aspect-ratio pattern in the target strip index structure.
[0065] In a specific embodiment, the manner of performing the index band matching operation on each large-aspect-ratio pattern further comprises the following steps.
[0066] ①Obtain the rectangular layout region of the target layout file, and construct a layout coordinate system based on the rectangular layout region.
[0067] Wherein, the x-axis direction of the layout coordinate system is the length direction of the rectangular layout region, and the y-axis direction is the width direction of the layout region.
[0068] It should be noted that the manner of constructing the layout coordinate system in this embodiment is consistent with the manner provided in the above embodiment. If the target layout file can provide the size of the corresponding integrated circuit, i.e., the size and spatial range of the rectangular layout region, the corresponding rectangular layout region can be directly obtained from the target layout file to construct the layout coordinate system. If the target layout file cannot directly provide the size and spatial range of the rectangular layout region, the layout coordinate system can be gradually constructed and updated based on the size, spatial range, and positional relationship with other polygonal graphics of each polygonal graphic, so that the layout coordinate system is adapted to the target layout file.
[0069] 2. According to the first data identifier of the target strip index structure, the graphic width condition W of the target strip index structure is obtained.
[0070] In an embodiment, the graphic width condition W of the target strip index structure can be specifically expressed as , or as the graphic width condition W of the strip index structure. The specific user can set according to the needs, and the application is not limited. It should be noted that is the minimum value of the width values of the large aspect ratio graphics stored in the target strip index structure, is the maximum value of the width values of the large aspect ratio graphics stored in the target strip index structure.
[0071] 3. According to the second data identifier of each index band in the target strip index structure, the width direction spatial position condition of each large aspect ratio graphic stored in each index band based on the layout coordinate system is obtained .
[0072] As shown in Figure 4 , where is the minimum value of the width direction of each large aspect ratio graphic stored in the th index band in the target strip index structure in the layout coordinate system, is the maximum value of the width direction of each large aspect ratio graphic stored in the th index band in the target strip index structure in the layout coordinate system.
[0073] 4. The outer enclosing rectangle of the large aspect ratio graphic to be matched is obtained, and the minimum value of the width direction of the outer enclosing rectangle in the layout coordinate system is calculated .
[0074] Specifically, the manner of obtaining the outer enclosing rectangle of the large aspect ratio graphic is consistent with the manner of obtaining the outer enclosing rectangle of the polygonal graphic provided in the above embodiment. For the sake of brevity, it will not be repeated here.
[0075] 5. If the minimum value of the width direction of the outer enclosing rectangle is Satisfying a width direction spatial position condition of an index band If the width direction minimum value of the outer-enclosing rectangle satisfies the width direction spatial position condition of the index band, the index band is the target index band of the large aspect ratio pattern in the target index structure.
[0076] That is, as shown in FIG. 6, if the width direction minimum value of the outer-enclosing rectangle satisfies the width direction spatial position condition of the index band, the index band is the target index band of the large aspect ratio pattern in the target index structure. Figure 4 If the width direction minimum value of the outer-enclosing rectangle satisfies the width direction spatial position condition of the index band, the index band is the target index band of the large aspect ratio pattern in the target index structure. If the width direction minimum value of the outer-enclosing rectangle satisfies the width direction spatial position condition of the index band, the index band is the target index band of the large aspect ratio pattern in the target index structure.
[0077] It should be noted that the way of matching the target index band by comparing the width direction minimum value of the outer-enclosing rectangle with the width direction spatial position condition of each index band is only a preferred embodiment provided by the present application, and other ways of matching the target index band can be selected according to requirements, such as selecting the width direction maximum value, the width direction intermediate value, etc. of the outer-enclosing rectangle to compare with the width direction spatial position condition of each index band, and the present application is not specifically limited.
[0078] Step S105: performing a binary tree node matching operation on each large aspect ratio pattern based on the spatial position of the large aspect ratio pattern in the length direction, to obtain the target binary tree node of the large aspect ratio pattern in the target index band.
[0079] In an embodiment, the way of performing the binary tree node matching operation on each large aspect ratio pattern includes: starting from the root node of the binary tree of the target index band, finding the node, obtaining the length direction spatial position condition of each large aspect ratio pattern stored in the node, and judging whether the spatial position of the large aspect ratio pattern to be matched in the length direction satisfies the length direction spatial position condition. If yes, the node is the target binary tree node of the large aspect ratio pattern in the target index band. If no, judging whether the spatial position of the large aspect ratio pattern to be matched in the length direction is less than the length direction spatial position condition. If yes, continuing to find in the left subtree of the binary tree. If no, continuing to find in the right subtree of the binary tree. Repeating the above steps until the matching target binary tree node is found.
[0080] In a specific embodiment, the way of performing the binary tree node matching operation on each large aspect ratio pattern further includes the following steps.
[0081] ①Obtaining the rectangular layout region of the target layout file, and constructing a layout coordinate system based on the rectangular layout region.
[0082] The x-axis direction of the layout coordinate system is the length direction of the rectangular layout region, and the y-axis direction is the width direction of the layout region.
[0083] It should be noted that the manner of constructing the layout coordinate system in this embodiment is consistent with the manner provided in the above embodiment, and for the sake of brevity, will not be repeated.
[0084] 2. Calculate the minimum value of the length direction of the rectangular layout region in the layout coordinate system , the middle value of the length direction , and the maximum value of the length direction .
[0085] The middle value of the length direction of the rectangular layout region satisfies the condition: .
[0086] 3. Obtain the outer enclosing rectangle of the large aspect ratio pattern to be matched, and calculate the minimum value of the length direction of the outer enclosing rectangle in the layout coordinate system and the maximum value of the length direction .
[0087] 4. If the minimum value of the length direction of the outer enclosing rectangle and the maximum value of the length direction satisfy the condition: , then determine that the binary tree root node is the target binary tree node of the large aspect ratio pattern, as shown in Figure 5 .
[0088] 5. If the minimum value of the length direction of the outer enclosing rectangle and the maximum value of the length direction satisfy the condition: , then determine whether the left child node of the binary tree root node is the target binary tree node of the large aspect ratio pattern, as shown in Figure 5 , if the minimum value of the length direction of the outer enclosing rectangle and the maximum value of the length direction satisfy: , then the node is the target binary tree node of the large aspect ratio pattern.
[0089] 6. If the minimum value of the length direction of the outer enclosing rectangle and the maximum value of the length direction satisfy: , then determine whether the right child node of the binary tree root node is the target binary tree node of the large aspect ratio pattern, as shown in Figure 5 , if the minimum value of the length direction of the outer enclosing rectangle and the maximum value of the length direction satisfy: If the node is the target binary tree node of the large aspect ratio graphic, the method ends.
[0090] Otherwise, repeat the above steps until the matching target binary tree node is found.
[0091] It should be noted that the position of the outer-enclosing rectangle in the rectangular layout region is determined according to the minimum value of the length of the outer-enclosing rectangle and the maximum value of the length in a manner of matching the target binary tree node, which is only a preferred embodiment provided by the present application. Users can select other manners to match the target binary tree node according to requirements, and the present application is not specifically limited.
[0092] Step S106: Obtain the storage addresses of the large aspect ratio graphics, and store the storage addresses in the target binary tree nodes of the large aspect ratio graphics respectively, and update the spatial index database of the target layout file.
[0093] In an embodiment, the binary tree node stores the width value, the spatial position in the width direction, the spatial position in the length direction, and the storage address of one or more large aspect ratio graphics.
[0094] To accelerate the speed and efficiency of layout design, after reading the target layout file, the present application provides a spatial index construction method of large aspect ratio graphics. Based on the characteristics that the length-width ratio of each polygon graphic in the target layout file is large, the width conforms to the grouping characteristics, and the width direction presents a band-shaped distribution, a plurality of band-shaped index structures including a plurality of index bands in a band-shaped distribution are quickly constructed, so as to quickly construct and update the spatial index database of the target layout file, thereby improving the retrieval speed and efficiency of each large aspect ratio graphic, and solving the technical problems of poor applicability of existing spatial index technology to polygon graphics of the target layout file, long index construction time, and limited retrieval efficiency.
[0095] As shown in Figure 6 , a flowchart of a large aspect ratio graphic retrieval method in an embodiment of the present application is shown. The large aspect ratio graphic retrieval method is used to retrieve one or more target large aspect ratio graphics in a target layout file based on the spatial index database constructed by any one of the spatial index construction methods of large aspect ratio graphics provided by the above embodiments.
[0096] Specifically, as shown in Figure 6 , the large aspect ratio graphic retrieval method includes steps S201-S205.
[0097] Step S201: Based on the obtained search statement, filter one or more search conditions for each target large aspect ratio graphic, and obtain the width search conditions, width direction spatial position search conditions, and length direction spatial position search conditions for each target large aspect ratio graphic.
[0098] It should be noted that the width retrieval condition defines the width value of each target large aspect ratio graphic; the width direction spatial position retrieval condition defines the spatial position of each target large aspect ratio graphic in the width direction, that is, defines the y-axis coordinate range of each target large aspect ratio graphic in the map coordinate system; the length direction spatial position retrieval condition defines the spatial position of each target large aspect ratio graphic in the length direction, that is, defines the x-axis coordinate range of each target large aspect ratio graphic in the map coordinate system.
[0099] Step S202: Based on the width search criteria of the target large aspect ratio graphics, filter one or more target strip index structures.
[0100] Step S203: Based on the retrieval conditions of the spatial position of each target's aspect ratio graphic in the width direction, one or more target index bands are sequentially selected in each target band index structure.
[0101] Step S204: Based on the retrieval conditions of the spatial position of each target large aspect ratio graphic in the length direction, one or more target binary tree nodes are sequentially selected in each target index band.
[0102] Step S205: Based on the binary tree nodes of each target, obtain the storage address of the large aspect ratio graphic of each target, and then obtain the large aspect ratio graphic of each target.
[0103] It should be understood that the embodiments of the large aspect ratio graphic retrieval method and the embodiments of the spatial index construction method for large aspect ratio graphics provided in the above embodiments belong to the same concept. The structure of the spatial index database used in the large aspect ratio graphic retrieval method and the matching operation method performed on each large aspect ratio graphic have been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.
[0104] like Figure 7 The diagram illustrates the structure of a spatial indexing system 700 for high aspect ratio graphics according to an embodiment of this application. The spatial indexing system 700 for high aspect ratio graphics includes: a graphics filtering module 710, a database construction module 720, and a database update module 730.
[0105] The database update module 730 is connected to the image filtering module 710 and the database construction module 720, respectively.
[0106] The graphic screening module 710 is configured to read a plurality of layout layers in a target layout file, and obtain an outer enclosing rectangle of a plurality of polygon graphics in each layout layer, and calculate a length-width ratio of each outer enclosing rectangle to screen one or more large length-width ratio graphics.
[0107] The database construction module 720 is configured to construct a spatial index database of the target layout file, wherein the spatial index database comprises a plurality of strip index structures, each strip index structure comprises a plurality of index strips, and each index strip is constructed with a binary tree comprising one or more binary tree nodes.
[0108] The database updating module 730 comprises an index structure matching unit 731, an index strip matching unit 732, a binary tree node matching unit 733, and a database updating unit 734. Figure 7 As shown in the figure, the index structure matching unit 731, the index strip matching unit 732, the binary tree node matching unit 733, and the database updating unit 734 are sequentially connected and connected with the graphic screening module 710 and the database construction module 720 respectively.
[0109] The index structure matching unit 731 is configured to perform an index structure matching operation on each large length-width ratio graphic based on a width value of each large length-width ratio graphic to obtain a target strip index structure of each large length-width ratio graphic.
[0110] The index strip matching unit 732 is configured to perform an index strip matching operation on each large length-width ratio graphic based on a spatial position of each large length-width ratio graphic in a width direction to obtain a target index layer index strip of each large length-width ratio graphic in the target strip index structure.
[0111] The binary tree node matching unit 733 is configured to perform a binary tree node matching operation on each large length-width ratio graphic based on a spatial position of each large length-width ratio graphic in a length direction to obtain a target binary tree node of each large length-width ratio graphic in the target index strip.
[0112] The database updating unit 734 is configured to obtain a storage address of each large length-width ratio graphic, and store each storage address to the target binary tree node of each large length-width ratio graphic to update the spatial index database of the target layout file.
[0113] It should be understood that the spatial index construction system embodiment of the large length-width ratio graphic belongs to the same concept as the spatial index construction method embodiments of the large length-width ratio graphic provided by each of the above embodiments, and the implementation of each module and unit of the spatial index construction system 700 of the large length-width ratio graphic has been described in detail in the above method embodiments. In order to be brief, it will not be repeated here.
[0114] It should also be understood that the division of modules and units in the embodiments of the present application is illustrative, and is only a logical function division. Actual implementation can have another division manner. In addition, each functional module and each functional unit in each embodiment of the present application can be integrated in one processor, or can be physically separated, or two or more modules can be integrated in one module. The integrated module or unit can be realized in the form of hardware or in the form of software functional module or unit.
[0115] The spatial index construction method and the large aspect ratio pattern retrieval method provided by each embodiment of the present application can be implemented on the terminal side or the server side, or completed by computer program related hardware.
[0116] The above merely illustrates the specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical range disclosed by the present application, which should be covered by the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
[0117] In summary, the present application provides a spatial index construction method and retrieval method and system for large aspect ratio patterns. By reading a target layout file, one or more large aspect ratio patterns are screened, and a corresponding spatial index database is constructed. By performing a matching operation on each screened large aspect ratio pattern, each large aspect ratio pattern is gradually matched in the target strip index structure, the target index strip, and the target binary tree node of the spatial index database, so as to store the storage address of each large aspect ratio pattern in the corresponding target binary tree node, and update the spatial index database. Thus, the spatial index database can be quickly constructed, and the target large aspect ratio pattern in the target layout file can be quickly retrieved and located during layout design, thereby solving the technical problems of poor applicability of existing spatial index technology to polygon patterns of target layout files, long index construction time, and limited retrieval efficiency.
[0118] Therefore, the present application effectively overcomes the various shortcomings in the prior art and has high industrial utilization value.
[0119] The above embodiments only illustratively explain the principles and effects of the present application, and are not used to limit the present application. Any person skilled in the art can modify or change the above embodiments without departing from the spirit and scope of the present application. Therefore, all equivalent modifications or changes completed by those skilled in the art without departing from the spirit and technical thought disclosed by the present application should be covered by the claims of the present application.
Claims
1. A method for constructing a spatial index of a large aspect ratio pattern, characterized by, The method comprises the following steps: reading a plurality of layout layers in a target layout file, and obtaining the outer enclosing rectangles of a plurality of polygon graphics in each layout layer, and calculating the aspect ratios of each outer enclosing rectangle to screen one or more large-aspect-ratio graphics; constructing a spatial index database of the target layout file, wherein the spatial index database comprises a plurality of strip index structures, each strip index structure is used to store one or more large-aspect-ratio graphics meeting different graphic width conditions, and each strip index structure comprises a plurality of index strips; each index strip is used to store one or more large-aspect-ratio graphics meeting different width direction spatial position conditions, and is constructed with a binary tree comprising one or more binary tree nodes; and each binary tree node is used to store one or more large-aspect-ratio graphics meeting different length direction spatial position conditions; performing an index structure matching operation on each large-aspect-ratio graphic based on the width value of each large-aspect-ratio graphic to obtain a target strip index structure of each large-aspect-ratio graphic; performing an index strip matching operation on each large-aspect-ratio graphic based on the spatial position of each large-aspect-ratio graphic in the width direction to obtain a target index strip of each large-aspect-ratio graphic in the target strip index structure; performing a binary tree node matching operation on each large-aspect-ratio graphic based on the spatial position of each large-aspect-ratio graphic in the length direction to obtain a target binary tree node of each large-aspect-ratio graphic in the target index strip; obtaining the storage addresses of each large-aspect-ratio graphic, and storing each storage address to the target binary tree node of each large-aspect-ratio graphic to update the spatial index database of the target layout file; wherein the index strip matching operation performed on each large-aspect-ratio graphic comprises: obtaining the width direction spatial position conditions of each index strip in the target strip index structure according to the second data identifiers of each index strip; and comparing the spatial position of the large-aspect-ratio graphic to be matched in the width direction with the width direction spatial position conditions of each index strip to screen the matching width direction spatial position conditions, so as to take the corresponding index strip as the target index strip of the large-aspect-ratio graphic in the target strip index structure; The manner of performing the index band matching operation on each large aspect ratio pattern further includes: obtaining a rectangular layout region of the target layout file, and constructing a layout coordinate system based on the rectangular layout region; wherein an x-axis direction of the layout coordinate system is a length direction of the rectangular layout region, and a y-axis direction is a width direction of the layout region; obtaining a pattern width condition W of the target band index structure according to a first data identifier of the target band index structure; obtaining a width direction spatial position condition [Y min,i -W, Y max,i ] of each index band storing each large aspect ratio pattern based on the layout coordinate system according to a second data identifier of each index band in the target band index structure; wherein Y min,i and Y max,i are respectively a width direction minimum value and a width direction maximum value of each large aspect ratio pattern stored by an i-th index band in the target band index structure in the layout coordinate system; obtaining an outer bounding rectangle of the large aspect ratio pattern to be matched, and calculating a width direction minimum value y min of the outer bounding rectangle in the layout coordinate system; if the width direction minimum value y min of the outer bounding rectangle satisfies the width direction spatial position condition [Y min,i -W, Y max,i ], then the index band is a target index band of the large aspect ratio pattern in the target band index structure.
2. The method of claim 1, wherein the method further comprises: the index structure matching operation performed on each large-aspect-ratio graphic comprises: obtaining the graphic width conditions of each strip index structure in the spatial index database according to the first data identifiers of each strip index structure; and comparing the width value of the large-aspect-ratio graphic to be matched with the graphic width conditions of each strip index structure to screen the matching graphic width conditions, so as to take the corresponding strip index structure as the target strip index structure of the large-aspect-ratio graphic.
3. The method of claim 1, wherein the method further comprises: the binary tree node matching operation performed on each large-aspect-ratio graphic comprises: starting from the root node of the binary tree of the target index strip, obtaining the length direction spatial position conditions of each large-aspect-ratio graphic stored in the node, and judging whether the spatial position of the large-aspect-ratio graphic to be matched in the length direction meets the length direction spatial position conditions, if yes, the node is the target binary tree node of the large-aspect-ratio graphic in the target index strip. If not, it is determined whether the spatial position of the large aspect ratio pattern to be matched in the length direction is less than the length direction spatial position condition, if less than the length direction spatial position condition, continue searching for the left child node of the binary tree; if greater than the length direction spatial position condition, continue searching for the right child node of the binary tree. Repeat the above steps until the matching target binary tree node is found.
4. The method of claim 3, wherein the method further comprises: The way of performing binary tree node matching operation on each large aspect ratio pattern further includes: Obtain a rectangular layout area of the target layout file, and construct a layout coordinate system based on the rectangular layout area; wherein the x-axis direction of the layout coordinate system is the length direction of the rectangular layout area, and the y-axis direction is the width direction of the rectangular layout area. calculating a length direction minimum value X of the rectangular layout area in the layout coordinate system min , a length direction middle value X ave , and a length direction maximum value X max ; wherein the length direction middle value X ave satisfies the condition: obtaining an outer-enclosing rectangle of the large-aspect-ratio pattern to be matched, and calculating a length-direction minimum value x of the outer-enclosing rectangle in the layout coordinate system min and a length-direction maximum value x max ; If the length direction minimum value x of the outer enclosing rectangle min and the length direction maximum value x max satisfy the condition: x min ≤ X ave ≤ x max , then the binary tree root node is determined as the target binary tree node of the large aspect ratio graphic. If the length direction minimum value x min and the length direction maximum value x max satisfy: x max < X ave , it is determined whether the left child node of the root node of the binary tree is the target binary tree node of the large aspect ratio graphic. If the length direction minimum value x min and the length direction maximum value x max satisfy: Then this node is the target binary tree node of the large aspect ratio graphic; If the length direction minimum value x min and the length direction maximum value x max of the outer-enclosing rectangle satisfy: x min > x ave , it is determined whether the right child node of the root node of the binary tree is the target binary tree node of the large aspect ratio graphic. If the length direction minimum value x min and the length direction maximum value x max of the outer-enclosing rectangle satisfy: the node is a target binary tree node of the large aspect ratio graphic; Otherwise, repeat the above steps until the matching target binary tree node is found.
5. The method of claim 1, wherein the method further comprises: One way to screen large aspect ratio patterns includes: Obtain the outer enclosing rectangle of the polygon pattern, and calculate the initial length value and the initial width value of the outer enclosing rectangle; Perform a right shift operation on the initial length value, and compare the obtained multiplied length value with the initial width value, if the multiplied length value is greater than the initial width value, determine that the polygon pattern is a large aspect ratio pattern.
6. The method of claim 1, wherein, Another way to screen large aspect ratio patterns includes: Obtain the outer enclosing rectangle of the polygon pattern, and calculate the initial length value and the initial width value of the outer enclosing rectangle; Perform a left shift operation on the initial width value, and compare the obtained multiplied width value with the initial length value, if the multiplied width value is less than the initial length value, determine that the polygon pattern is a large aspect ratio pattern.
7. A method for retrieving one or more target large aspect ratio patterns in a target layout file based on a spatial index database constructed by the method for constructing a spatial index of large aspect ratio patterns according to any one of claims 1 to 6, characterized in that, It includes: According to the obtained search statement, screen one or more search conditions for searching each target large aspect ratio pattern, and obtain the width search condition, the width direction spatial position search condition and the length direction spatial position search condition for searching each target large aspect ratio pattern according to the search conditions; Screen one or more target strip index structures based on the width search condition for searching each target large aspect ratio pattern; Based on the width direction spatial position search condition for searching each target large aspect ratio pattern, screen one or more target index strips in each target strip index structure in turn; Based on the length direction spatial position search condition for searching each target large aspect ratio pattern, screen one or more target binary tree nodes in each target index strip in turn; According to each target binary tree node, obtain the storage address of each target large aspect ratio pattern, and then obtain each target large aspect ratio pattern.
8. A spatial index construction system for large aspect ratio patterns, characterized by, It includes: The pattern screening module is used to read a plurality of layout layers in the target layout file, and obtain the outer enclosing rectangle of a plurality of polygon patterns in each layout layer, calculate the aspect ratio of each outer enclosing rectangle respectively, and screen one or more large aspect ratio patterns; The database construction module is configured to construct a spatial index database of the target layout file, wherein the spatial index database comprises a plurality of strip index structures, each of which is configured to store one or more large aspect ratio patterns that meet different pattern width conditions, and each of the strip index structures comprises a plurality of index strips; each of the index strips is configured to store one or more large aspect ratio patterns that meet different width direction spatial position conditions, and each of the index strips comprises a binary tree comprising one or more binary tree nodes; and each of the binary tree nodes is configured to store one or more large aspect ratio patterns that meet different length direction spatial position conditions. The database updating module is connected to the pattern screening module and the database construction module, and comprises: The index structure matching unit is connected to the pattern screening module and the database construction module, and is configured to perform an index structure matching operation on each of the large aspect ratio patterns based on the width value of each of the large aspect ratio patterns, and obtain a target strip index structure of each of the large aspect ratio patterns. The index strip matching unit is connected to the pattern screening module, the database construction module and the index structure matching unit, and is configured to perform an index strip matching operation on each of the large aspect ratio patterns based on the spatial position of each of the large aspect ratio patterns in the width direction, and obtain a target index strip of each of the large aspect ratio patterns in the target strip index structure. The binary tree node matching unit is connected to the pattern screening module, the database construction module and the index strip matching unit, and is configured to perform a binary tree node matching operation on each of the large aspect ratio patterns based on the spatial position of each of the large aspect ratio patterns in the length direction, and obtain a target binary tree node of each of the large aspect ratio patterns in the target index strip. The database updating unit is connected to the pattern screening module, the database construction module and the binary tree node matching unit, and is configured to obtain a storage address of each of the large aspect ratio patterns, and store each of the storage addresses to the target binary tree node of each of the large aspect ratio patterns, and update the spatial index database of the target layout file. The index strip matching operation on each of the large aspect ratio patterns comprises: obtaining the width direction spatial position condition of each of the index strips according to the second data identifier of each of the index strips in the target strip index structure; comparing the spatial position of each of the large aspect ratio patterns in the width direction with the width direction spatial position condition of each of the index strips, screening the matched width direction spatial position condition, and taking the corresponding index strip as the target index strip of each of the large aspect ratio patterns in the target strip index structure. The manner of performing the index band matching operation on each large aspect ratio pattern further comprises: obtaining a rectangular layout region of the target layout file, and constructing a layout coordinate system based on the rectangular layout region; wherein, the x-axis direction of the layout coordinate system is the length direction of the rectangular layout region, and the y-axis direction is the width direction of the rectangular layout region; obtaining the pattern width condition W of the target band index structure according to the first data identifier of the target band index structure; obtaining the width direction spatial position condition [Y min,i -W, Y max,i ] of each index band storing each large aspect ratio pattern based on the layout coordinate system according to the second data identifier of each index band in the target band index structure; wherein, Y min,i and Y max,i are respectively the minimum value and the maximum value of the width direction of each large aspect ratio pattern stored by the i-th index band in the target band index structure in the layout coordinate system; obtaining the outer bounding rectangle of the large aspect ratio pattern to be matched, and calculating the minimum value y min of the width direction of the outer bounding rectangle in the layout coordinate system; if the minimum value y min of the width direction of the outer bounding rectangle satisfies the width direction spatial position condition [Y min,i -W, Y max,i ], then the index band is the target index band of the large aspect ratio pattern in the target band index structure.
Citation Information
Patent Citations
Spatial index query method, device and equipment and computer readable storage medium
CN115708079A
Candidate edge rapid construction method for design rule inspection
CN117933186A