Virtual metal filling method and device, electronic equipment and storage medium
By filling the modules in the integrated circuit chip with virtual metal to ensure that the virtual metal after filling is consistent with the boundary distance between the module, the problem of virtual metal filling in the existing technology causing the integrated circuit to violate design rules inspection is solved, and the effect of shortening design time and improving yield is achieved.
Patent Information
- Application Number
- CN202411782932.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-05
- Publication Date
- 2025-03-28
AI Technical Summary
Existing virtual metal filling methods can easily lead to integrated circuits violating design rules inspections, resulting in extended design cycles.
By filling the first and second modules in the chip with virtual metals, and ensuring that the distance between the filled virtual metal and the module boundary is consistent, the probability of possible violation of DRC design rules at the splicing interface is reduced.
It shortens the time during the chip design phase, improves the product yield, and reduces the design time caused by correcting DRC violations.
Smart Images

Figure CN119720935A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of integrated circuits, and specifically relates to a dummy metal filling method, device, electronic device and storage medium. Background Art
[0002] Generally speaking, during the design and manufacturing process of integrated circuits, dummy metal filling is involved. The purpose of dummy metal filling is to ensure the uniformity of the metal layer in the integrated circuit and improve the yield and performance of the integrated circuit.
[0003] The current dummy metal filling method easily causes the integrated circuit to violate the Design Rule Check (DRC). In order to correct the DRC violation caused by the dummy metal filling, the size and position of the dummy metal added in the integrated circuit need to be repeatedly adjusted until the design rules are not violated, which will inevitably prolong the design cycle. Summary of the invention
[0004] In view of this, the purpose of the present application is to provide a dummy metal filling method, device, electronic device and storage medium to shorten the time of the chip design stage and improve the yield of the product.
[0005] The embodiment of the present application is implemented as follows:
[0006] In a first aspect, an embodiment of the present application provides a virtual metal filling method, comprising: filling a first module in a chip with virtual metal; wherein, when filling the virtual metal, each virtual metal located at the boundary of the first module is at the same distance from the boundary of the first module; filling a second module in the chip with virtual metal; wherein the remaining part of the chip except the first module is the second module, and the second module includes a reserved space for splicing the first module; splicing the first module filled with virtual metal with the second module filled with virtual metal; wherein, after splicing, each virtual metal located at the boundary of the first module in the second module is at the same distance from the boundary of the first module.
[0007] In the above embodiment, when filling the virtual metal, the virtual metal can be filled for the first module and the second module in the chip respectively, and then the first module filled with the virtual metal and the second module filled with the virtual metal are spliced, which can improve the filling rate; at the same time, by controlling the distribution of the filled virtual metal, the distance between each virtual metal located at the boundary of the first module and the boundary of the first module is consistent, and the distance between each virtual metal located at the boundary of the first module in the second module after splicing and the boundary of the first module is consistent, which can reduce the probability of violating the DRC (Design Rule Check) design rules at the splicing interface, thereby shortening the design time caused by correcting the DRC violation at the splicing interface, and can also improve the yield of the product.
[0008] In combination with a possible implementation method of the first aspect, filling virtual metal into a first module in a chip includes: determining the filling positions required for filling the virtual metal in the first module; wherein each filling position located at the boundary of the first module is at the same distance from the boundary of the first module; and filling virtual metal at each filling position in the first module.
[0009] In the above embodiment, the filling position of each virtual metal can be planned first, and then the virtual metal can be filled at each filling position. This can improve the filling efficiency. When planning the filling positions, since the distances between the filling positions at the boundary of the first module and the boundary of the first module are consistent, after the virtual metal is filled at each filling position at the boundary, it can be ensured that the distances between the virtual metals at the boundary of the first module and the boundary of the first module are consistent.
[0010] In combination with a possible implementation manner of the first aspect, determining the filling position required for filling virtual metal in the first module includes: determining the filling position required for filling virtual metal in the first module according to the size of the virtual metal to be filled and a preset design rule manual; or determining the filling position required for filling virtual metal in the first module according to the size of the virtual metal to be filled, the density of existing circuits in the first module and a preset design rule manual.
[0011] In the above embodiment, since it is necessary to meet the requirements of the design rule manual when filling the virtual metal, the filling position required for filling the virtual metal in the first module can be quickly determined according to the size of the virtual metal to be filled and the preset design rule manual. In addition, the influence of the density of the existing lines (route) in the first module on the filling of the virtual metal can also be considered. For example, when filling the virtual metal, the density of the virtual metal filled in the surrounding area with a higher route density is generally relatively low. Therefore, the filling position required for filling the virtual metal in the first module can also be determined according to the size of the virtual metal to be filled, the density of the existing lines in the first module and the preset design rule manual. Since the influence of the density of the existing lines (route) in the first module on the filling of the virtual metal is considered, the uniformity of the metal distribution in the module can be improved.
[0012] In combination with a possible implementation manner of the first aspect, the filling position required to fill the virtual metal in the first module is determined according to the size of the virtual metal to be filled, the density of the existing circuits in the first module and the preset design rule manual, including: according to the size of the virtual metal to be filled and the preset design rule manual, the vacant area at the boundary of the first module is divided into multiple first areas, wherein each first area is at the same distance from the boundary of the first module; traversing each first area, and dividing each first area into multiple second areas according to the density of the existing circuits around each first area; and determining the filling position required to fill the virtual metal in each second area.
[0013] In the above embodiment, by first dividing the vacant area at the boundary of the first module into a plurality of first areas, and then dividing each first area into a plurality of second areas, and then determining the filling position required to fill the virtual metal in each second area, this processing method can quickly complete the filling of the virtual metal, and provide a filling standard for the virtual metal filling; and it can ensure that the distance between each virtual metal located at the boundary of the first module and the boundary of the first module is consistent.
[0014] In combination with a possible implementation method of the first aspect, according to the size of the virtual metal to be filled and the preset design rule manual, the vacant area at the boundary of the first module is divided into multiple first areas, including: according to the size of the minimum virtual metal to be filled and the maximum spacing between lines in the preset design rule manual, a first guide line is embedded in the vacant area at the boundary of the first module to divide the vacant area into multiple first areas; wherein the first guide line is used to control the distance between the filled virtual metal and the boundary of the first module.
[0015] In the above embodiment, when the vacant area at the boundary of the first module is divided into multiple first areas, the vacant area can be divided into multiple first areas by pre-embedding the first guide line in the vacant area at the boundary of the first module in advance. In this way, the vacant area can be quickly divided into multiple first areas, which can improve the speed; at the same time, when pre-embedding the first guide line, it is pre-embedded according to the size of the virtual metal to be filled and the preset design rule manual, so that the distance between the filled virtual metal and the boundary of the first module can be accurately controlled.
[0016] In combination with a possible implementation method of the first aspect, each first area is divided into multiple second areas according to the density of existing lines around each first area, including: pre-burying a second guide line in each first area according to the density of existing lines around each first area, and dividing each first area into multiple second areas; wherein the second guide line is used to control the density of the filled virtual metal.
[0017] In the above embodiment, when each first area is divided into multiple second areas, the first area can be divided into multiple second areas by pre-embedding the second guide line in each first area in advance, so that the first area can be quickly divided into multiple second areas, which can improve the speed; at the same time, when pre-embedding the second guide line, it is pre-embedded according to the density of the existing lines around each first area, so that the density of the filled virtual metal can be accurately controlled.
[0018] In combination with a possible implementation method of the first aspect, filling virtual metal into a second module in a chip includes: blocking the reserved space of the first module in the second module; determining the filling positions required to fill the virtual metal in the second module except for the blocked portion; wherein each filling position in the second module located at the blocking boundary is consistent with the distance from the blocking boundary; and filling virtual metal at each filling position.
[0019] In the above embodiment, when the second module is filled with virtual metal, the filling position of each virtual metal is first planned, and then the virtual metal is filled at each filling position. This can improve the filling efficiency, and when planning the filling position, the reserved space of the first module is avoided, so as not to affect the subsequent splicing of the first module. At the same time, when planning the filling position, since the distance between each filling position located at the occlusion boundary in the second module is consistent with the occlusion boundary, it can be ensured that the distance between each virtual metal located at the boundary of the first module in the second module after splicing and the boundary of the first module is consistent.
[0020] In combination with a possible implementation manner of the embodiment of the first aspect, determining the filling position required for filling the virtual metal in the second module excluding the obstructed portion includes: determining the filling position required for filling the virtual metal in the second module excluding the obstructed portion according to the size of the virtual metal to be filled and a preset design rule manual; or determining the filling position required for filling the virtual metal in the second module excluding the obstructed portion according to the size of the virtual metal to be filled, the density of the existing circuits in the second module and a preset design rule manual.
[0021] In the second aspect, an embodiment of the present application also provides a virtual metal filling device, including: a first filling module, a second filling module and a splicing module; the first filling module is used to fill the first module in the chip with virtual metal; wherein, when filling the virtual metal, the distance between each virtual metal located at the boundary of the first module and the boundary of the first module is consistent; the second filling module is used to fill the second module in the chip with virtual metal; wherein, the remaining part of the chip except the first module is the second module, and the second module includes a reserved space for splicing the first module; the splicing module is used to splice the first module after filling the virtual metal with the second module after filling the virtual metal; wherein, after splicing, the distance between each virtual metal located at the boundary of the first module in the second module and the boundary of the first module is consistent.
[0022] In a third aspect, an embodiment of the present application further provides an electronic device, comprising: a memory and a processor, the processor being connected to the memory; the memory being used to store programs; the processor being used to call the programs stored in the memory to execute a method provided in the above-mentioned first aspect embodiment and / or any possible implementation method in combination with the first aspect embodiment.
[0023] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the method provided in the embodiment of the first aspect and / or any possible implementation method in combination with the embodiment of the first aspect is executed.
[0024] Other features and advantages of the present application will be described in the following description. The purpose and other advantages of the present application can be realized and obtained through the structures specifically pointed out in the written description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings. The above and other purposes, features and advantages of the present application will be more clearly shown in the drawings.
[0026] Figure 1 A schematic flow chart of a virtual metal filling method provided in an embodiment of the present application is shown.
[0027] Figure 2 A schematic diagram showing the principle of pre-embedding a guide line in a block provided in an embodiment of the present application is shown.
[0028] Figure 3 Shown in Figure 2 Schematic diagram of the principle of filling dummy metal in the block shown.
[0029] Figure 4 A schematic diagram showing another principle of pre-embedding a guide line in a block provided in an embodiment of the present application is shown.
[0030] Figure 5 Shown in Figure 4 Schematic diagram of the principle of filling dummy metal in the block shown.
[0031] Figure 6 A schematic diagram showing a principle of shielding a reserved space of a block in a top-level block provided in an embodiment of the present application is shown.
[0032] Figure 7 Shown in Figure 6 Schematic diagram of the principle of pre-embedded guide lines in the top-level block shown.
[0033] Figure 8 Shown in Figure 7 Schematic diagram of the principle of filling dummy metal in the top-level block shown.
[0034] Figure 9a A schematic diagram showing the principle of pre-embedding a guide line in a top-level block provided in an embodiment of the present application is shown.
[0035] Figure 9b A schematic diagram showing another principle of pre-embedding a guide line in a top-level block provided in an embodiment of the present application is shown.
[0036] Fig.10 A schematic diagram of the positions of two virtual metals located inside and outside a boundary provided in an embodiment of the present application is shown.
[0037] Fig.11 A module schematic diagram of a virtual metal filling device provided in an embodiment of the present application is shown.
[0038] Fig.12 A schematic structural diagram of an electronic device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0039] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. The following embodiments can be used as examples to more clearly illustrate the technical solutions of the present application, and cannot be used to limit the scope of protection of the present application. It will be appreciated by those skilled in the art that, in the absence of conflict, the features in the following embodiments and embodiments can be combined with each other.
[0040] It should be noted that similar numbers and letters represent similar items in the following figures, so once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. At the same time, in the description of this application, relational terms such as "first", "second", etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device.
[0041] Furthermore, the term "and / or" in this application is merely a term used to describe the association relationship between associated objects, indicating that three relationships may exist. For example, A and / or B may represent three situations: A exists alone, A and B exist at the same time, and B exists alone.
[0042] In the description of the embodiments of the present application, unless otherwise clearly specified or limited, the technical term "connection" may refer to a direct connection or an indirect connection through an intermediate medium.
[0043] Usually, integrated circuits involve multiple layers, and the manufacture of the latter layer is carried out on the basis of the previous layer. When manufacturing the latter layer, the flatness of the previous layer needs to be guaranteed. In integrated circuit design, ensuring the flatness of each layer is crucial for the precise manufacture of subsequent layers. During manufacturing, in order to ensure the flatness between the layers, a chemical mechanical polishing (CMP) process can be used to planarize the shape of the film or layer located on the substrate to ensure the flatness required for the integrated circuit. The planar shape usually depends on the pattern density of the underlying layer. In order to prevent the problem of uneven surface after planarization due to uneven density of the underlying pattern, the current common practice is to fill dummy metal in the areas where the patterns of each layer are sparse. The filling of dummy metal is to ensure the uniformity of the metal layer in the integrated circuit, reduce the unevenness in the CMP process, and improve the yield and performance of the integrated circuit.
[0044] In view of the problems existing in the existing virtual metal filling method, such as easily causing the integrated circuit to violate the design rule check, and in order to correct the DRC violation caused by the virtual metal filling, the design cycle will inevitably be extended. The embodiment of the present application provides a virtual metal filling method, device, electronic device and storage medium, which can not only shorten the time of the chip design stage, but also improve the yield of the product. The virtual metal filling method provided in the embodiment of the present application can be applied to the chip design stage to fill the virtual metal in the chip in the design stage.
[0045] Combine the following Figure 1 The virtual metal filling method provided in the embodiment of the present application is described.
[0046] S1: Filling the first module in the chip with dummy metal.
[0047] The chip in the present application may include a first module (hereinafter referred to as a block) and a second module (hereinafter referred to as a top-level block), wherein the remaining part of the chip except the first module is the second module, and the second module includes a reserved space for splicing the first module, and the reserved space may include a splicing interface. Accordingly, the first module will also reserve a splicing interface that matches the splicing interface in the second module. The second module can be used as a medium to connect the various first modules, and the various independent first modules can be spliced together through the second module to form a complete chip.
[0048] There may be multiple first modules, and different first modules may have different functions. Each first module may include one or more processor cores, caches, memory controllers, input / output devices, peripheral interfaces or other functional units.
[0049] During design, in order to shorten the design time, the second module and each first module can be designed separately, and then each first module and the second module can be spliced together. When splicing, the first module can be installed in the reserved space of the first module in the second module, and the first module and the second module are connected together through the splicing interface. During the chip design process, dummy metal filling is involved. Since each module is designed separately, each module can also be filled separately when filling the dummy metal.
[0050] The principle of filling dummy metal in each first module in the chip is similar, so this application only describes the process of filling dummy metal in one first module in the chip.
[0051] In order to reduce the probability that the DRC design rules may be violated at the splicing interface after the first module filled with virtual metal is spliced with the second module filled with virtual metal, when filling virtual metal, the present application needs to ensure that the distances between each virtual metal located at the boundary of the first module and the boundary of the first module are consistent, such as ensuring that the distances between each virtual metal located at the boundary of the first module and the boundary of the first module are the same constant value, wherein the minimum value can be 0 and the maximum value can be the maximum spacing between the lines of the current layer required by the Design Rule Manual (DRM). For example, in one possible implementation, the value can be 1 / 2 of the maximum spacing between the lines of the current layer required by the Design Rule Manual (DRM). In this way, it can be avoided that the virtual metal at the boundary of the first module presents an uncertain state and the distances between the virtual metal at the boundary of the first module and the boundary are large or small.
[0052] The "consistent" in this application does not require being completely identical, it can be within the allowable error range. As long as the distance is within the allowable error range, it can be considered consistent.
[0053] The first module can have multiple boundaries. Taking the shape of the first module as a rectangle as an example, it includes 4 boundaries (the 4 boundaries correspond to the 4 sides of the rectangle). When filling the virtual metal, for the same boundary, it is necessary to ensure that the distance between each virtual metal located on the boundary and the boundary is consistent, and the distances corresponding to different boundaries may be different.
[0054] Among them, the first module can include multiple layers, and each layer can be filled with dummy metal to ensure the flatness of the plane required by the design. In DRM, each layer will have different requirements. For example, the maximum spacing between the lines of each layer can be different, so each layer needs to be controlled separately. The principle of filling dummy metal with each layer is similar, except that DRM has different distance requirements for each layer. Therefore, this application only describes the process of filling dummy metal with one of the layers.
[0055] When filling virtual metal in each layer, the filled virtual metal needs to meet the distance and density requirements in DRM. The size of the virtual metal available is a sequence of specific values. For example, if the filled virtual metal is a rectangle, its length and width can be selected within a certain range, but there is a maximum and minimum value. When filling virtual metal, each virtual metal located at the boundary of the first module uses virtual metal of the same size. For example, the smallest virtual metal is selected for filling to ensure that the distance between each virtual metal located at the boundary of the first module and the boundary of the first module is the same value. For other areas far away from the boundary of the first module, such as the central area, virtual metals of multiple sizes can be selected for filling to speed up the filling speed.
[0056] In one possible implementation, the process of filling virtual metal into the first module in the chip may include: first determining the filling positions required for filling the virtual metal in the first module; then filling the virtual metal at each filling position in the first module, wherein the distances between each filling position at the boundary of the first module and the boundary of the first module are consistent, thereby ensuring that the distances between each virtual metal at the boundary of the first module and the boundary of the first module are all the same constant value.
[0057] In one possible implementation, when determining the filling position required for filling the virtual metal in the first module, the filling position required for filling the virtual metal in the first module may be determined based on the size of the virtual metal to be filled and a preset design rule manual. When filling the virtual metal, the requirements of the design rule manual need to be met. Therefore, when determining the filling position required for filling the virtual metal in the first module, it is necessary to determine it based on the size of the virtual metal to be filled and a preset design rule manual. The design rule manual may include process parameters for chip design, such as line width, line length, line spacing, area, density, etc. of each layer of the route in the chip design.
[0058] In one possible implementation, when determining the filling position required for filling virtual metal in the first module, the filling position required for filling virtual metal in the first module can be determined based on the size of the virtual metal to be filled, the density of the existing lines (routes) in the first module, and the preset design rule manual. In this implementation, the influence of the density of the existing lines in the first module on the filling of virtual metal is also considered. When filling virtual metal, the density of virtual metal filled in the surrounding area with higher route density is generally relatively low, and conversely, the density of virtual metal filled in the surrounding area with lower route density is relatively high. Higher density can refer to a larger number of routes.
[0059] When determining the filling position required for filling virtual metal in the first module according to the size of the virtual metal to be filled and the preset design rule manual, in one implementation, the vacant area (which may include the boundary and the line) at the boundary of the first module may be divided into a plurality of first areas according to the size of the virtual metal to be filled and the preset design rule manual, wherein each first area is at the same distance from the boundary of the first module; and then determining the filling position required for filling virtual metal in each first area. Each first area may include one boundary of the first module and an area within a certain distance range from the boundary.
[0060] For example, assuming that the boundary of the first module is a polygon, a first area at a certain distance from the boundary can be divided along each boundary of the polygon, thereby dividing the vacant area at the boundary of the first module into multiple first areas. The first area is a first area that is adapted to the size of the virtual metal to be filled while meeting the requirements of the design rule manual. The first areas divided in this way are of the same type and the virtual metals filled are also consistent, so that the distances between each virtual metal located at the boundary of the first module and the boundary of the first module are the same.
[0061] In one possible implementation, when the vacant area at the boundary of the first module is divided into multiple first areas according to the size of the virtual metal to be filled and the preset design rule manual, the vacant area at the boundary of the first module can be directly divided into multiple first areas according to the size of the virtual metal to be filled and the preset design rule manual.
[0062] In another possible implementation, when the vacant area at the boundary of the first module is divided into multiple first areas according to the size of the virtual metal to be filled and the preset design rule manual, the first guide line can be pre-buried in the vacant area at the boundary of the first module according to the size of the minimum virtual metal to be filled and the maximum spacing between lines in the preset design rule manual, so as to divide the vacant area at the boundary of the first module into multiple first areas; wherein the first guide line can be used to control the distance between the filled virtual metal and the boundary of the first module.
[0063] When pre-embedding the first guide line, a guide line can be pre-embedded along each boundary of the polygon at a certain distance from the boundary and parallel to the boundary. For example, the distance between the first guide line and the boundary of the first module is: the size of the minimum virtual metal to be filled plus the target value (the target value can be 1 / 2 of the maximum spacing between lines in the current layer required by DRM).
[0064] In a possible implementation, when determining the filling position required to fill the virtual metal in the first module according to the size of the virtual metal to be filled, the density of the existing circuits in the first module, and the preset design rule manual, the process may include: dividing the vacant area at the boundary of the first module into a plurality of first areas according to the size of the virtual metal to be filled and the preset design rule manual, wherein each first area is at the same distance from the boundary of the first module; then traversing each first area, dividing each first area into a plurality of second areas according to the density of the existing circuits around each first area; and then determining the filling position required to fill the virtual metal in each second area. In the case of considering the density of the existing circuits in the first module, after dividing the vacant area at the boundary of the first module into a plurality of first areas, the first area is divided into a plurality of second areas according to the density of the existing circuits around the first area for each first area, and then determining the filling position required to fill the virtual metal in each second area.
[0065] When filling virtual metal, the density of virtual metal filled in the vicinity of higher line density is generally relatively low. Therefore, when dividing the first area into multiple second areas, if the density of existing lines around the first area is high, the number of divided second areas can be relatively smaller. Conversely, if the density of existing lines around the first area is low, the number of divided second areas can be relatively larger, thereby filling more virtual metal.
[0066] In one possible implementation, when each first area is divided into a plurality of second areas according to the density of existing lines around each first area, a second guide line may be pre-buried in each first area according to the density of existing lines around each first area, and each first area may be divided into a plurality of second areas; wherein the second guide line is used to control the density of the filled virtual metal. In this implementation, for each first area, a second guide line may be pre-buried in the first area according to the density of existing lines around the first area, and the first area may be divided into a plurality of second areas. If the density of existing lines around the first area is high, the number of second guide lines is relatively small, and accordingly, the number of second areas divided from the first area is relatively small; conversely, the number of second guide lines is relatively large, and the number of second areas divided from the first area is relatively large.
[0067] When the second guide line is pre-buried in each first region, the number of the pre-buried second guide lines may be multiple. In some embodiments, the second guide line may be perpendicular to the first guide line.
[0068] When filling virtual metal in the area far away from the boundary in the first module, the existing related technology can be used to fill the virtual metal. In some possible implementations, the virtual metal can also be filled by using the first guide line or the first guide line + the second guide line in this application.
[0069] In a possible implementation, when pre-embedding the first guide line, in addition to pre-embedding the first guide line in the vacant area at the boundary of the first module, the first guide line may also be pre-embedded in an vacant area away from the boundary of the first module, such as the middle area. Similarly, when pre-embedding the second guide line, in addition to pre-embedding the second guide line in each first area, the second guide line may also be pre-embedded outside each first area. When pre-embedding the second guide line outside each first area, the second guide line may be perpendicular to the first guide line or parallel to the first guide line. In some implementations, part of the second guide line is perpendicular to the first guide line, and part of the second guide line is parallel to the first guide line.
[0070] The above-mentioned first guide line and second guide line can be collectively referred to as guide lines. In one implementation, when the second guide line is not involved, the guide line may only include the above-mentioned first guide line. In one implementation, when the above-mentioned first guide line and second guide line are included at the same time, the guide line may include the first guide line and the second guide line.
[0071] In order to better explain the above process, an example is provided below. When pre-embedding the first guide line, a guide line with a certain distance from and parallel to each boundary of the first module (block) can be pre-embedded. The principle diagram of pre-embedding the first guide line in the vacant area at the boundary of the first module is as follows: Figure 2 Each first area may be an area enclosed by one of the boundaries of the first module and a first guide line parallel to the boundary, for example Figure 2 The areas where 1, 2, 3, and 4 are located are all first areas. After that, the filling positions required to fill virtual metal in each first area can be directly determined, and virtual metal is filled in the corresponding filling positions. The corresponding schematic diagram is as follows Figure 3 As shown, from Figure 3 It can be seen that for the same border of the first module, the distances between each virtual metal located on the border and the border are consistent.
[0072] In a possible implementation manner, after the vacant area at the boundary of the first module is divided into a plurality of first areas by using the first guiding line, a second guiding line may be pre-buried in each first area to divide each first area into a plurality of second areas. For example, the principle of pre-buried second guiding lines in each first area is as follows: Figure 4 As shown, Figure 4The short line perpendicular to the first guide line is the second guide line. In this example, the first guide line and the second guide line are collectively referred to as guide lines. Afterwards, the filling position required to fill the virtual metal in each second area is determined, and the virtual metal is filled in the corresponding filling position. The corresponding schematic diagram is as follows Figure 5 shown. Figure 5 Since the density of the circuits around the first region 1 is higher than that of the circuits around the first region 3 , the amount of the dummy metal filled in the first region 1 is less than that of the dummy metal filled in the first region 3 . Figure 5 Since the density of the circuits around the first region 2 is the same as the density of the circuits around the first region 4 , the amount of dummy metal filled in the first region 2 and the amount of dummy metal filled in the first region 4 may be the same.
[0073] The forms of the first guide line and the second guide line are not limited to Figure 4 , Figure 5 As shown, in addition to the solid line, it can also be a dotted line, or it can contain both a solid line and a dotted line. In addition, Figure 4 , Figure 5 The first guide lines in may also intersect.
[0074] S2: Filling the second module in the chip with dummy metal.
[0075] When filling dummy metal in the second module (which may be the top block) in the chip, it is necessary to ensure that after the second module filled with dummy metal is combined with the first module (block), the distance between each dummy metal in the second module located at the boundary of the first module and the boundary of the first module is consistent. Avoid the situation where the dummy metal filled in the top block is in an uncertain state around the boundary of the first module, and the distance between the dummy metal filled in the top block and the boundary of the first module around the boundary of the first module is large or small. Reduce the distance between the dummy metal of the top block and the block boundary in some positions after the second module is combined with the first module, and the distance between the dummy metal of the block and the block boundary is also large (or small). This problem of too small or too large distance between dummy metals is easy to cause DRC violations that violate DRM requirements. The first module can have multiple boundaries. For example, if the shape of the first module is a rectangle, it contains 4 boundaries (sides of the rectangle). When filling dummy metal in the second module in the chip, for the same boundary, it is necessary to ensure that the distance between each dummy metal located at the boundary in the second module and the boundary is consistent, and the distances corresponding to different boundaries may be different.
[0076] The second module may include multiple layers, each of which may be filled with dummy metal to ensure the required flatness. The principle of filling each layer with dummy metal is similar, except that DRM has different requirements for each layer. Therefore, this application only describes the process of filling one layer with dummy metal.
[0077] In one implementation, the process of filling virtual metal into the second module in the chip may include: shielding the reserved space of the first module in the second module; determining the filling positions required to fill the virtual metal in the second module except the shielded portion; wherein each filling position in the second module located at the shielding boundary is consistent with the distance from the shielding boundary; and filling virtual metal at each filling position. Before filling the virtual metal into the second module in the chip, a shielding frame (blockage) is first used to cover the reserved space of the first module (block), and the reserved space of the block is shielded. The boundary of the blockage can be larger than the boundary of the block, and then the route is set. Since the reserved space of the block is blocked, when routing, it will not be routed near the block position. After the routing is completed, the filling positions required to fill the virtual metal in the second module except the shielded portion are determined, and then the virtual metal is filled at each filling position.
[0078] The shielding border may be a border of a shielding frame, and in some possible implementations, the border of the shielding frame is the same as the border of the first module. In some possible implementations, the border of the shielding frame may be at a certain distance from the border of the first module and parallel to the border of the first module. The shape of the shielding border is the same as the shape of the border of the first module, for example, both are rectangular.
[0079] The process of determining the filling position required for filling the dummy metal in the second module except for the shielded portion is consistent with the process of determining the filling position required for filling the dummy metal in the first module.
[0080] For example, in one embodiment, when determining the filling position required for filling the virtual metal in the second module except the shielded portion, the filling position required for filling the virtual metal in the second module except the shielded portion may be determined based on the size of the virtual metal to be filled and a preset design rule manual. In another embodiment, when determining the filling position required for filling the virtual metal in the second module except the shielded portion, the filling position required for filling the virtual metal in the second module except the shielded portion may be determined based on the size of the virtual metal to be filled, the density of the existing circuits in the second module and a preset design rule manual.
[0081] In one possible implementation, when determining the filling position required to fill the virtual metal in the second module except for the occluded part according to the size of the virtual metal to be filled and the preset design rule manual, the process may include: dividing the vacant area (which may include the occlusion boundary and the line) located at the occlusion boundary in the second module into multiple first areas according to the size of the virtual metal to be filled and the preset design rule manual, wherein each first area is at the same distance from the occlusion boundary; and then determining the filling position required to fill the virtual metal in each first area.
[0082] When filling virtual metal in each layer, the filled virtual metal needs to meet the distance and density requirements in DRM, and there are multiple sizes of virtual metals to choose from. When filling virtual metal, each virtual metal located at the boundary (or occlusion boundary) of the first module uses virtual metal of the same size. For example, the smallest virtual metal is selected to ensure that the distance between each virtual metal located at the boundary of the first module (or occlusion boundary) in the second module and the boundary (or occlusion boundary) of the first module is the same value. For other areas in the second module that are far away from the boundary (or occlusion boundary) of the first module, such as the central area, virtual metals of multiple different sizes can be selected for filling.
[0083] In another possible implementation, when determining the filling position required to fill the virtual metal in the second module except the occluded part according to the size of the virtual metal to be filled and the preset design rule manual, the process may include: dividing the vacant area located at the occlusion boundary in the second module into multiple first areas according to the size of the virtual metal to be filled and the preset design rule manual; then traversing each first area, dividing each first area into multiple second areas according to the density of existing lines around each first area; and determining the filling position required to fill the virtual metal in each second area.
[0084] When dividing the vacant area at the shielding boundary in the second module into the first area, under a possible implementation method, the vacant area at the shielding boundary in the second module can also be divided into multiple first areas by pre-embedding the first guide line. For example, according to the size of the minimum virtual metal to be filled and the maximum spacing between lines in the preset design rule manual, the first guide line is pre-embedded in the vacant area at the shielding boundary in the second module to divide the vacant area into multiple first areas. When pre-embedding the first guide line, a guide line with a certain distance from and parallel to each boundary of the shielding boundary can be pre-embedded along each boundary of the shielding boundary. This step is the same as the principle of using the first guide line to divide the first area in the aforementioned S2, and will not be introduced here.
[0085] Similarly, when each first area is divided into a plurality of second areas, a second guide line may be pre-buried in each first area according to the density of existing lines around each first area, so as to divide each first area into a plurality of second areas. This step is the same as the principle of dividing each first area into a plurality of second areas in the aforementioned S2, and will not be described here.
[0086] When pre-embedding the first guide line, in addition to pre-embedding the first guide line in the vacant area located at the shielding boundary in the second module, the first guide line can also be pre-embedded in an vacant area away from the shielding boundary in the second module, such as the middle area. Similarly, when pre-embedding the second guide line, in addition to pre-embedding the second guide line in each first area, the second guide line can also be pre-embedded outside each first area.
[0087] In order to better explain the process of filling the second module in the chip with dummy metal, the following example is used to illustrate. Before filling the second module in the chip with dummy metal, blockage is first used to cover the reserved space of the block to block the reserved space of the block. The boundary of the blockage can exceed the reserved space of the block by a certain range. The schematic diagram of using blockage to block the reserved space of the block is as follows: Figure 6 As shown, Figure 6 The reserved space of the block in the second module is 4, and the number of blockages is also 4, all of which are rectangular. Afterwards, the first guide line can be pre-buried around the blockage. When pre-buried, a guide line with a certain distance from and parallel to each boundary of the blockage can be pre-buried along each boundary of the blockage. The schematic diagram of pre-buried first guide lines in the vacant area at the boundary of the blockage in the second module is as follows: Figure 7 As shown. Figure 7 It can be seen that there are 4 guide lines around each blockage, which divide the vacant area of the blockage boundary into multiple first areas. Then, the filling position required to fill the virtual metal in each first area can be directly determined, and the virtual metal is filled in the corresponding filling position. The corresponding schematic diagram is as follows Figure 8 When filling virtual metal, for the same boundary, the size of the virtual metal filled is the same, for example, all are the smallest virtual metal, so that the distance between each virtual metal located on the same boundary and the boundary can be guaranteed to be consistent.
[0088] In addition, after using the first guide line to divide the vacant area located at the shading boundary in the second module into multiple first areas, the second guide line can be pre-embedded in each first area to divide each first area into multiple second areas. Thereafter, the filling position required to fill the virtual metal in each second area is determined, and the virtual metal is filled in the corresponding filling position. This process is the same as the principle of the same part mentioned above and will not be illustrated here.
[0089] In addition, the pre-buried guide line in each layer (which may include the first guide line and the second guide line, or only the first guide line) is not limited to the above examples. For example, in one embodiment, the pre-buried guide line in the top block may be as follows: Figure 9a , Figure 9b shown. Figure 9a The guide lines in the method include a first guide line and a second guide line, wherein the long line is the first guide line, the short line is the second guide line, and the second guide line is perpendicular to the first guide line. Figure 9b In the schematic diagram shown, some guide lines are solid lines, and some guide lines are dashed lines, wherein a guide line located between two dashed lines can be the first guide line or the second guide line.
[0090] S3: Assembling the first module filled with dummy metal and the second module filled with dummy metal.
[0091] After the first module and the second module are filled with dummy metal, the first module filled with dummy metal and the second module filled with dummy metal are assembled, that is, the filling of dummy metal of the entire chip is completed. Among them, the distance between each dummy metal located at the boundary of the first module in the assembled second module and the boundary of the first module is consistent.
[0092] Because when filling the virtual metal, the distance between each virtual metal located at the boundary of the first module and the boundary of the first module is consistent, similarly, the distance between each virtual metal located at the boundary of the first module in the second module and the boundary of the first module is also consistent. In this way, after splicing, the problem of the virtual metal at the boundary of the first module presenting an uncertain state and the distance between the virtual metal at the boundary of the first module and the boundary being large or small can be avoided, thereby reducing the probability that the DRC design rules may be violated at the splicing interface.
[0093] Among them, the virtual metal at the boundary of the first module presents an uncertain state (that is, the distance between the virtual metal at the same boundary and the boundary is large or small), which easily leads to violation of the DRC design rules at the splicing interface. These are the results obtained by the inventor after practice and careful research. Therefore, the discovery process of this conclusion and the solution proposed by the embodiment of the present invention for this conclusion should be the contribution made by the inventor to this application during the invention process.
[0094] After splicing, the distance between the two virtual metals that are located inside and outside the boundary of the first module and have a relative relationship needs to meet the requirements of DRM, that is, the distance between the two virtual metals should be between the minimum spacing and the maximum spacing between the lines of the current layer required by DRM. For example, when filling virtual metals, one possible way is to make the distance between each virtual metal located inside the boundary of the first module and the boundary of the first module 1 / 2 of the maximum spacing between the lines of the current layer required by DRM, and to make the distance between each virtual metal located outside the boundary of the first module and the boundary of the first module 1 / 2 of the maximum spacing between the lines of the current layer required by DRM. In this way, after splicing, the distance between the two virtual metals that are located inside and outside the boundary of the first module and have a relative relationship is the maximum spacing between the lines of the current layer required by DRM.
[0095] The two virtual metals that have a relative relationship refer to the two virtual metals whose PRL (Parallel Run Length) is greater than or equal to 0. Fig.10 A schematic diagram showing the positions of two virtual metals located inside and outside the boundary. Fig.10 In (a), the PRL of the two virtual metals located inside and outside the boundary of the first module is > 0. Fig.10 In (b), the PRL of the two virtual metals located inside and outside the boundary of the first module is 0. Fig.10 In (c), the PRL of the two virtual metals located inside and outside the boundary of the first module is <0. Fig.10 The virtual metals in the two cases (a) and (b) can be considered to have a relative relationship.
[0096] The present application also provides a virtual metal filling device 100, such as Fig.11 The virtual metal filling 100 includes: a first filling module 110, a second filling module 120 and a splicing module 130. In some possible implementations, the first filling module 110 and the second filling module 120 may be the same filling module.
[0097] The first filling module 110 is used to fill the first module in the chip with dummy metal; wherein, when filling the dummy metal, each dummy metal located at the boundary of the first module is at the same distance from the boundary of the first module.
[0098] The second filling module 120 is used to fill the second module in the chip with dummy metal; wherein the remaining part of the chip except the first module is the second module, and the second module includes a reserved space for splicing the first module.
[0099] The joining module 130 is used to join the first module filled with virtual metal and the second module filled with virtual metal; wherein, after joining, each virtual metal in the second module located at the boundary of the first module is at the same distance from the boundary of the first module.
[0100] Optionally, the first filling module 110 is used to determine the filling positions required to fill the virtual metal in the first module; wherein the distances between the filling positions located at the boundary of the first module and the boundary of the first module are consistent; and the virtual metal is filled at each filling position in the first module.
[0101] Optionally, the first filling module 110 is used to determine the filling position required to fill the virtual metal in the first module according to the size of the virtual metal to be filled and a preset design rule manual; or, to determine the filling position required to fill the virtual metal in the first module according to the size of the virtual metal to be filled, the density of the existing circuits in the first module and a preset design rule manual.
[0102] Optionally, the first filling module 110 is used to divide the vacant area at the boundary of the first module into multiple first areas according to the size of the virtual metal to be filled and a preset design rule manual, wherein each first area is at the same distance from the boundary of the first module; traverse each first area and divide each first area into multiple second areas according to the density of existing lines around each first area; determine the filling position required to fill the virtual metal in each second area.
[0103] Optionally, the first filling module 110 is used to embed a first guide line in a vacant area at the boundary of the first module according to the size of the minimum virtual metal to be filled and the maximum spacing between lines in a preset design rule manual, so as to divide the vacant area into multiple first areas; wherein the first guide line is used to control the distance between the filled virtual metal and the boundary of the first module.
[0104] Optionally, the first filling module 110 is used to pre-embed a second guide line in each first area according to the density of existing lines around each first area, so as to divide each first area into multiple second areas; wherein the second guide line is used to control the density of the filled virtual metal.
[0105] Optionally, a second filling module 120 is used to shield the reserved space of the first module in the second module; determine the filling positions required to fill the virtual metal in the second module except the shielded part; wherein each filling position located at the shielding boundary in the second module is consistent with the distance from the shielding boundary; and fill the virtual metal at each filling position.
[0106] Optionally, the second filling module 120 is used to determine the filling position required to fill the virtual metal in the second module excluding the blocked part according to the size of the virtual metal to be filled and a preset design rule manual; or, to determine the filling position required to fill the virtual metal in the second module excluding the blocked part according to the size of the virtual metal to be filled, the density of the existing circuits in the second module and a preset design rule manual.
[0107] Optionally, the second filling module 120 is used to divide the vacant area (which may include the occlusion boundary and the line) located at the occlusion boundary in the second module into multiple first areas according to the size of the virtual metal to be filled and a preset design rule manual, wherein each first area is at the same distance from the occlusion boundary; and then determine the filling position required to fill the virtual metal in each first area.
[0108] Optionally, the second filling module 120 is used to divide the vacant area at the shielding boundary in the second module into multiple first areas according to the size of the virtual metal to be filled and the preset design rule manual; then traverse each first area, and divide each first area into multiple second areas according to the density of existing lines around each first area; determine the filling position required to fill the virtual metal in each second area. The virtual metal filling device 100 provided in the embodiment of the present application has the same implementation principle and technical effects as the aforementioned method embodiment. For the sake of brief description, for matters not mentioned in the device embodiment, reference can be made to the corresponding content in the aforementioned method embodiment.
[0109] like Fig.12 As shown, Fig.12 The electronic device 200 provided in the embodiment of the present application is shown in the structural block diagram. The electronic device 200 comprises: a transceiver 210, a memory 220, a communication bus 230 and a processor 240.
[0110] The transceiver 210, the memory 220, and the processor 240 are electrically connected to each other directly or indirectly to achieve data transmission or interaction. For example, these components can be electrically connected to each other via one or more communication buses 230 or signal lines. The transceiver 210 is used to send and receive data. The memory 220 is used to store computer programs, such as storing Fig.11The software function module shown in the figure is the virtual metal filling device 100. The virtual metal filling device 100 includes at least one software function module that can be stored in the memory 220 in the form of software or firmware or solidified in the operating system (OS) of the electronic device 200. The processor 240 is used to execute the executable module stored in the memory 220, such as the software function module or computer program included in the virtual metal filling device 100. For example, the processor 240 is used to execute the above-mentioned virtual metal filling method.
[0111] Among them, the memory 220 can be, but is not limited to, random access memory (Random Access Memory, RAM), read only memory (Read Only Memory, ROM), programmable read-only memory (Programmable Read-Only Memory, PROM), erasable programmable read-only memory (Erasable Programmable Read-Only Memory, EPROM), electrically erasable read-only memory (Electric Erasable Programmable Read-Only Memory, EEPROM), etc.
[0112] The processor 240 may be an integrated circuit chip with signal processing capabilities. The above-mentioned processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), a graphics processor (GPU), an accelerated processing unit (Accelerated Processing Unit), a multimedia application processor (MAP), a microprocessor, etc.; it may also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The disclosed methods, steps and logic block diagrams in the embodiments of the present application may be implemented or executed. Alternatively, the processor 240 may also be any conventional processor, etc.
[0113] The above-mentioned electronic device 200 includes but is not limited to a computer, a server, etc.
[0114] An embodiment of the present application further provides a non-volatile computer-readable storage medium (hereinafter referred to as storage medium), on which a computer program is stored. When the computer program is run by a computer such as the above-mentioned electronic device 200, the virtual metal filling method shown above is executed.
[0115] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0116] In several embodiments provided in the present application, it should be understood that the disclosed devices and methods can also be implemented in other ways. The device embodiments described above are merely schematic. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, a program segment or a part of a code, and the module, a program segment or a part of a code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
[0117] In addition, the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
[0118] If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product is stored in a computer-readable storage medium, including several instructions for enabling a computer device (which can be a personal computer, a laptop, a server, or an electronic device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned computer-readable storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0119] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A virtual metal filling method, characterized in that: include: Filling a first module in the chip with dummy metal; wherein, when filling the dummy metal, each dummy metal located at a boundary of the first module is at the same distance from the boundary of the first module; Filling a second module in the chip with dummy metal; wherein the remaining portion of the chip except the first module is the second module, and the second module includes a reserved space for splicing the first module; The first module filled with dummy metal and the second module filled with dummy metal are assembled together; wherein, after the assembly, each dummy metal located at the boundary of the first module in the second module is at the same distance from the boundary of the first module.
2. The method according to claim 1, characterized in that Filling a first module in the chip with dummy metal includes: Determine the filling positions required for filling the dummy metal in the first module; wherein each filling position located at the boundary of the first module is at the same distance from the boundary of the first module; Dummy metal is filled at each filling position in the first module.
3. The method according to claim 2, characterized in that Determining a filling position required for filling dummy metal in the first module includes: Determine the filling position required for filling the dummy metal in the first module according to the size of the dummy metal to be filled and a preset design rule manual; or, The filling position required for filling the dummy metal in the first module is determined according to the size of the dummy metal to be filled, the density of the existing circuits in the first module and the preset design rule manual.
4. The method according to claim 3, characterized in that Determining a filling position required for filling the dummy metal in the first module according to the size of the dummy metal to be filled, the density of the existing circuits in the first module and a preset design rule manual, including: According to the size of the virtual metal to be filled and a preset design rule manual, the vacant area at the boundary of the first module is divided into a plurality of first areas, wherein each first area is at the same distance from the boundary of the first module; Traversing each first area, and dividing each first area into a plurality of second areas according to the density of existing lines around each first area; A filling position required to fill the dummy metal in each of the second regions is determined.
5. The method according to claim 4, characterized in that According to the size of the virtual metal to be filled and the preset design rule manual, the vacant area at the boundary of the first module is divided into a plurality of first areas, including: According to the size of the minimum virtual metal to be filled and the maximum spacing between lines in the preset design rule manual, a first guide line is embedded in the vacant area at the boundary of the first module to divide the vacant area into multiple first areas; wherein the first guide line is used to control the distance between the filled virtual metal and the boundary of the first module.
6. The method according to claim 4, characterized in that According to the density of existing lines around each first area, each first area is divided into a plurality of second areas, including: According to the density of existing circuits around each first area, a second guiding line is pre-buried in each first area to divide each first area into a plurality of second areas; wherein the second guiding line is used to control the density of the filled virtual metal.
7. The method according to any one of claims 1 to 6, characterized in that Filling the second module in the chip with dummy metal includes: shielding the reserved space of the first module in the second module; Determine the filling positions required for filling virtual metal in the second module except for the shielding part; wherein each filling position in the second module located at the shielding boundary is at the same distance from the shielding boundary; Fill each filling position with dummy metal.
8. The method according to claim 7, characterized in that Determining a filling position required for filling virtual metal in the second module except for the blocked part, including: Determine the filling position required for filling the virtual metal except the shielding part in the second module according to the size of the virtual metal to be filled and the preset design rule manual: or, The filling positions required for filling the dummy metal except the shielded portion in the second module are determined according to the size of the dummy metal to be filled, the density of the existing circuits in the second module and the preset design rule manual.
9. A virtual metal filling device, characterized in that: include: A first filling module, used to fill a first module in the chip with dummy metal; wherein, when filling the dummy metal, each dummy metal located at the boundary of the first module is at the same distance from the boundary of the first module; A second filling module, used to fill a second module in the chip with dummy metal; wherein the remaining portion of the chip except the first module is the second module, and the second module includes a reserved space for splicing the first module; The splicing module is used to splice the first module filled with virtual metal and the second module filled with virtual metal; wherein, after the splicing, each virtual metal located at the boundary of the first module in the second module is at the same distance from the boundary of the first module.
10. An electronic device, characterized in that: include: A memory and a processor, wherein the processor is connected to the memory; The memory is used to store programs; The processor is used to call the program stored in the memory to execute the method according to any one of claims 1 to 8.
11. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed by a processor, the method according to any one of claims 1 to 8 is executed.