Non-hierarchical medium processing method and apparatus, electronic device, and storage medium
Patent Information
- Application Number
- CN202211304553.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-24
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2042-10-24
AI Technical Summary
场求解器的计算往往耗时较多,对其算法的优化与加速研究意义很大
[0019] In this embodiment, the acquired target area to be processed can be divided into uniform grids according to a preset grid cell side length. An empty list of non-layered medium numbers is initialized for each grid cell. If any non-layered medium overlaps with any grid cell, the first number of the non-layered medium is inserted into the list of non-layered medium numbers of the grid cell that overlaps with it. If any list of non-layered medium numbers includes at least two non-layered media, the non-layered media in the list are sorted in descending order of their first numbers. This approach provides a spatial management scheme with shorter construction time and efficient processing of a large number of complex non-layered media, which is beneficial for improving query efficiency during subsequent random walks.
Smart Images

Figure CN115906752B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of physical design and verification of Very Large Scale Integrated Circuits (VLSI), and more particularly to a non-layered media processing method and apparatus, electronic devices, and storage media. Background Technology
[0002] The integrated circuit design process begins with a functional description, followed by logic design and layout design to obtain a layout that describes the semiconductor process dimensions and structure. Finally, layout verification is performed, which uses computer software simulation to verify whether the design meets the requirements. If it does, manufacturing proceeds. Otherwise, if it does not meet the requirements, the process returns to the logic and layout design stages for necessary corrections. A crucial step in layout verification is the extraction of interconnect parasitic parameters.
[0003] With the development of integrated circuit manufacturing technology, circuit scale is constantly increasing and feature size is constantly shrinking, with most chips now containing hundreds of millions of devices. However, the parasitic effects of interconnects in integrated circuits mean that the impact of interconnects on circuit delay has exceeded the impact of individual devices on circuit delay. Therefore, it is necessary to accurately calculate parameters such as capacitance and resistance of interconnects to ensure the correctness and effectiveness of circuit simulation and verification. To improve calculation accuracy, the extraction of capacitance parameters between interconnects requires a three-dimensional extraction method, i.e., using a three-dimensional field solver. The calculation of the field solver is often time-consuming, making the optimization and acceleration of its algorithm of great significance. Summary of the Invention
[0004] This disclosure proposes a non-layered media processing technology.
[0005] According to one aspect of this disclosure, a method for processing non-layered media is provided, comprising: acquiring a target region to be processed, the target region including a three-dimensional simulation region containing at least one non-layered medium; storing media information of all non-layered media using a global non-layered media list; the position of each non-layered medium in the global non-layered media list being a first number of the non-layered medium; and the order of the non-layered media stored in the global non-layered media list satisfying the following: in the case of spatial overlap between any two non-layered media, the non-layered medium with a larger first number covers the non-layered medium with a smaller first number; the target region also includes one or at least two non-overlapping layered media. The target area is filled by one or at least two non-overlapping layered media. The target area is divided into uniform grids according to a preset grid cell side length, with each grid cell having a fixed side length. An empty list of non-layered media numbers is initialized for each grid cell. If any non-layered media overlaps with any grid cell, the first number of the non-layered media is inserted into the list of non-layered media numbers of the grid cell that overlaps with the non-layered media. If any list of non-layered media numbers includes at least two non-layered media, the non-layered media in the list are sorted in descending order of their first numbers.
[0006] In one possible implementation, the method further includes: determining the grid cell where the sampling point is located and the dielectric constant at the sampling point based on the coordinate information of the sampling point, and the uniform grid and the non-layered medium number list established as described above, including: determining the grid cell where the sampling point is located based on the coordinate information of the sampling point; and determining the dielectric constant at the sampling point based on the non-layered medium number list of the grid cell where the sampling point is located.
[0007] In one possible implementation, determining the dielectric constant at the sampling point based on the non-layered medium number list of the grid cell where the sampling point is located includes: sequentially retrieving the first number stored in the non-layered medium number list of the grid cell where the sampling point is located; finding the medium information of the corresponding non-layered medium in the global non-layered medium list according to the first number; sequentially determining whether the non-layered medium contains the sampling point; if the current non-layered medium contains the sampling point, then determining the dielectric constant of the non-layered medium as the dielectric constant at the sampling point; if the current non-layered medium does not contain the sampling point, then continuing to retrieve the next first number in the non-layered medium number list and repeating the above process.
[0008] In one possible implementation, the method further includes: if the sampling point is not located in any non-layered medium in the list of non-layered media, determining the dielectric constant of the layered medium in the layer where the sampling point is located as the dielectric constant of the sampling point.
[0009] In one possible implementation, determining the grid cell where the sampling point is located based on the coordinate information of the sampling point includes: determining a second number of the grid cell where the sampling point is located based on the coordinate information of the sampling point, the coordinate information of the target area and the side length of the grid cell, wherein the second number is used to distinguish different grid cells, and each grid cell corresponds to a different second number; and determining the grid cell corresponding to the second number as the grid cell where the sampling point is located.
[0010] In one possible implementation, the non-layered medium is a Manhattan-shaped non-layered medium, where the Manhattan-shaped medium represents a cuboid whose faces are parallel to the coordinate plane of a three-dimensional Cartesian coordinate system. The step of inserting the first number of the non-layered medium into the list of non-layered medium numbers of the grid cells that spatially overlap with the non-layered medium when any non-layered medium spatially overlaps with any grid cell includes: determining the grid cells that spatially overlap with each non-layered medium based on the coordinate information of the vertices of each non-layered medium, the coordinate information of the target region, and the side length of the grid cell; and inserting the first number of the non-layered medium into the list of non-layered medium numbers of the grid cells that spatially overlap with the non-layered medium.
[0011] According to one aspect of this disclosure, a non-layered media processing apparatus is provided, comprising: an acquisition module for acquiring a target region to be processed, the target region including a three-dimensional simulation region containing at least one non-layered medium, wherein media information of all non-layered media is stored in a global non-layered media list, the position of each non-layered medium in the global non-layered media list being a first number of the non-layered medium, and the order of the non-layered media stored in the global non-layered media list satisfying the following: in the case of spatial overlap between any two non-layered media, the non-layered medium with a larger first number covers the non-layered medium with a smaller first number; the target region also includes one or at least two non-overlapping layered media. One or at least two non-overlapping layered media fill the entire target area; a partitioning module is used to divide the target area into uniform grids according to a preset grid cell side length; an initialization module is used to initialize an empty list of non-layered media numbers for each grid cell; an insertion module is used to insert the first number of the non-layered media into the list of non-layered media numbers of the grid cell that spatially overlaps with the non-layered media when any non-layered media overlaps with any grid cell; a sorting module is used to sort the non-layered media in the list of non-layered media numbers in descending order of the first number when any list of non-layered media includes at least two non-layered media.
[0012] In one possible implementation, the device is further configured to: determine the grid cell containing the sampling point and the dielectric constant at the sampling point based on the coordinate information of the sampling point and the uniform grid and the non-layered medium number list established above, including: determining the grid cell containing the sampling point based on the coordinate information of the sampling point; and determining the dielectric constant at the sampling point based on the non-layered medium number list of the grid cell containing the sampling point.
[0013] In one possible implementation, determining the dielectric constant at the sampling point based on the non-layered medium number list of the grid cell where the sampling point is located includes: sequentially retrieving the first number stored in the non-layered medium number list of the grid cell where the sampling point is located; finding the medium information of the corresponding non-layered medium in the global non-layered medium list according to the first number; sequentially determining whether the non-layered medium contains the sampling point; if the current non-layered medium contains the sampling point, then determining the dielectric constant of the non-layered medium as the dielectric constant at the sampling point; if the current non-layered medium does not contain the sampling point, then continuing to retrieve the next first number in the non-layered medium number list and repeating the above process.
[0014] In one possible implementation, the apparatus is further configured to: determine the dielectric constant of the layered medium in the layer where the sampling point is located as the dielectric constant of the sampling point if the sampling point is not located in any non-layered medium in the list of non-layered media.
[0015] In one possible implementation, determining the grid cell where the sampling point is located based on the coordinate information of the sampling point includes: determining a second number of the grid cell where the sampling point is located based on the coordinate information of the sampling point, the coordinate information of the target area and the side length of the grid cell, wherein the second number is used to distinguish different grid cells, and each grid cell corresponds to a different second number; and determining the grid cell corresponding to the second number as the grid cell where the sampling point is located.
[0016] In one possible implementation, the non-layered medium is a Manhattan-shaped non-layered medium, where the Manhattan-shaped medium represents a cuboid whose faces are parallel to the coordinate plane of a three-dimensional Cartesian coordinate system. The insertion module is used to: determine the grid cells that spatially overlap with each of the non-layered media based on the coordinate information of the vertices of each of the non-layered media, the coordinate information of the target region, and the side length of the grid cells; and insert the first number of the non-layered medium into the list of non-layered medium numbers of the grid cells that spatially overlap with the non-layered medium.
[0017] According to one aspect of this disclosure, an electronic device is provided, comprising: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the instructions stored in the memory to perform the method described above.
[0018] According to one aspect of this disclosure, a computer-readable storage medium is provided that stores computer program instructions thereon, which, when executed by a processor, implement the above-described method.
[0019] In this embodiment, the acquired target area to be processed can be divided into uniform grids according to a preset grid cell side length. An empty list of non-layered medium numbers is initialized for each grid cell. If any non-layered medium overlaps with any grid cell, the first number of the non-layered medium is inserted into the list of non-layered medium numbers of the grid cell that overlaps with it. If any list of non-layered medium numbers includes at least two non-layered media, the non-layered media in the list are sorted in descending order of their first numbers. This approach provides a spatial management scheme with shorter construction time and efficient processing of a large number of complex non-layered media, which is beneficial for improving query efficiency during subsequent random walks.
[0020] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Other features and aspects of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description
[0021] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the specification, serve to illustrate the technical solutions of this disclosure.
[0022] Figure 1 This diagram illustrates a two-dimensional representation of the random walk capacitance extraction process in related technologies.
[0023] Figure 2 A flowchart illustrating a non-layered media processing method according to an embodiment of the present disclosure is shown.
[0024] Figure 3 A schematic diagram of the target area according to an embodiment of the present disclosure is shown.
[0025] Figure 4 A schematic diagram of a uniform network according to an embodiment of the present disclosure is shown.
[0026] Figure 5 A schematic diagram showing the grid cells that overlap with the non-layered medium space according to an embodiment of the present disclosure is shown.
[0027] Figure 6 A schematic diagram of query sampling points according to an embodiment of the present disclosure is shown.
[0028] Figure 7 A block diagram of a non-layered media processing apparatus according to an embodiment of the present disclosure is shown.
[0029] Figure 8 A block diagram of an electronic device according to an embodiment of the present disclosure is shown.
[0030] Figure 9 A block diagram of another electronic device according to an embodiment of the present disclosure is shown. Detailed Implementation
[0031] Various exemplary embodiments, features, and aspects of this disclosure will now be described in detail with reference to the accompanying drawings. The same reference numerals in the drawings denote elements that have the same or similar functions. Although various aspects of the embodiments are shown in the drawings, they are not necessarily drawn to scale unless specifically indicated otherwise.
[0032] The term “exemplary” as used herein means “serving as an example, embodiment, or illustration.” Any embodiment illustrated herein as “exemplary” is not necessarily to be construed as superior to or better than other embodiments.
[0033] In this document, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" in this document means any combination of at least two of any one or more elements. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.
[0034] Furthermore, to better illustrate this disclosure, numerous specific details are set forth in the following detailed description. Those skilled in the art will understand that this disclosure can be practiced without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art have not been described in detail in order to highlight the main points of this disclosure.
[0035] Among related technologies, the random walk capacitance extraction algorithm is a popular method in field solver methods for extracting capacitance parameters of integrated circuits. This method differs from conventional finite difference methods, finite element methods, and boundary element methods in that it does not require solving a system of linear equations. The main step in the calculation is to randomly select points in space (the process of obtaining a series of points is figuratively called "random walk").
[0036] Figure 1 This diagram illustrates a two-dimensional representation of the random walk capacitance extraction process in related technologies, such as... Figure 1 As shown, each random walk starts around a pre-designated conductor (called the dominant conductor, such as...). Figure 1 Starting on the Gaussian surface G of conductor i), a maximum cube (called the "transfer cube") is constructed with the current point r1 as the center. The next point is randomly selected and falls on the surface of the transfer cube (e.g., r1). Figure 1 (r2 and r3 in the original text). This process is repeated until the randomly selected point reaches the conductor surface, at which point one random walk ends. To calculate a conductor (e.g., r2 and r3 in the original text), Figure 1 To determine the capacitance between conductor i) and all other conductors, at least tens of thousands of random walks are required.
[0037] Chips are manufactured using photolithography, which creates stacked layers of patterned semiconductor materials or dielectrics on a silicon wafer. These layers are called material-dielectric layers, and the dielectric material within them is called a layered dielectric (or a flat dielectric). For example, in layout verification applications, a layered dielectric layer covering a 3D simulation area is called a layered dielectric. The 3D simulation area can be filled with a multi-layered, non-layered dielectric structure. Other dielectric materials besides layered dielectrics are called non-layered dielectrics. For instance, in layout verification applications, any dielectric material other than layered dielectrics within a 3D simulation area (such as small dielectric materials that do not completely cover the 3D simulation area) is considered a non-layered dielectric.
[0038] Non-layered dielectrics can include conformal dielectrics. Conformal dielectrics differ from layered dielectrics; they consist of a structure encapsulating a specific conductor or other conformal dielectric material and can appear in any pattern layer, making them a common form of non-layered dielectrics. In some cases, air bubbles are filled into non-layered dielectrics to improve performance and reduce parasitic capacitance. However, the handling of air bubbles in non-layered dielectrics differs significantly from that in layered dielectrics, posing a challenge to random walk capacitance simulation methods.
[0039] The applicant's paper, "Floating random walk based capacity solver for VLSI structures with non-stratified dielectrics," published at the 2020 Design, Automation & Test in Europe Conference, discloses a fast random walk algorithm based on an octet transfer cube for handling non-stratified dielectrics, and a non-stratified dielectric space management technique based on a grid-octree hybrid structure for conductor space management. The former derives the proportional relationship between the surface jump probability of the octet transfer cube and the equivalent dielectric constant, and based on this conclusion, reduces the time required for pre-characterizing the jump probability table for non-stratified dielectrics without requiring additional storage space. The latter uniformly manages the position information of the conductor and the non-stratified dielectric, and is used for the rapid calculation of the equivalent dielectric constant within the octet transfer cube, greatly accelerating the efficiency of the random walk.
[0040] However, when dealing with large-scale non-layered media, the aforementioned work suffers from excessively long preprocessing space management construction time, accounting for over 80% of the total time, becoming the computational bottleneck of the entire program. Although the above work achieved good random walk acceleration on test cases containing more than 500,000 non-layered media, in the case of larger-scale Very Large Scale Integrated Circuits (VLSI) designs, which contain a greater number of conductor blocks and non-layered media, the construction process of their space management structure consumes a significant amount of time, becoming the computational bottleneck of the entire algorithm.
[0041] In view of this, embodiments of this disclosure provide a non-layered dielectric processing method for extracting capacitance between integrated circuit interconnects. The method divides the acquired target region into a uniform grid based on a preset grid cell side length, and initializes an empty non-layered dielectric number list for each grid cell. If any non-layered dielectric overlaps with any grid cell, the first number of the non-layered dielectric is inserted into the non-layered dielectric number list of the grid cell with which it overlaps. If any non-layered dielectric number list includes at least two non-layered dielectrics, the non-layered dielectrics in the list are sorted in descending order of their first numbers. This approach provides a spatial management scheme with shorter construction time and efficient processing of a large number of complex non-layered dielectrics, which is beneficial for improving query efficiency during subsequent random walks.
[0042] Figure 2 A flowchart illustrating a non-layered media processing method according to an embodiment of the present disclosure is shown, such as... Figure 2 As shown, the non-layered medium method includes:
[0043] In step S11, the target area to be processed is obtained. The target area includes a three-dimensional simulation area containing at least one non-layered medium. The medium information of all non-layered media is stored in a global non-layered medium list. The position of each non-layered medium in the global non-layered medium list is the first number of the non-layered medium. The order of the non-layered media stored in the global non-layered medium list should satisfy the following: in the case of any two non-layered media having a spatial overlap relationship, the non-layered medium with the larger first number covers the non-layered medium with the smaller first number. The target area also includes one or at least two non-overlapping layered media, and the one or at least two non-overlapping layered media fill the entire target area.
[0044] In step S12, the target area is divided into uniform grids according to the preset grid cell side length, and the side length of each grid cell is a fixed value.
[0045] In step S13, an empty list of non-layered medium numbers is initialized for each grid cell;
[0046] In step S14, if any non-layered medium and any grid cell have spatial overlap, the first number of the non-layered medium is inserted into the list of non-layered medium numbers of the grid cells that have spatial overlap with the non-layered medium.
[0047] In step S15, if any non-layered medium number list includes at least two non-layered media, the non-layered media in the non-layered medium number list are sorted in descending order of the first number.
[0048] In one possible implementation, the non-layered media method can be executed by an electronic device such as a terminal device or a server. The terminal device can be a user equipment (UE), mobile device, user terminal, terminal, cellular phone, cordless phone, personal digital assistant (PDA), handheld device, computing device, in-vehicle device, wearable device, etc. The method can be implemented by a processor calling computer-readable instructions stored in memory. Alternatively, the method can be executed by a server.
[0049] In one possible implementation, in step S11, the target region to be processed can be obtained, which may include a three-dimensional simulation region containing at least one non-layered medium.
[0050] For example, the electronic device can execute a 3D simulation program to obtain a target region where at least one non-layered medium exists. Alternatively, the electronic device can select one or more pre-stored target regions from its own database. In some implementations, the electronic device can also obtain one or more target regions from other devices. This disclosure does not limit the method of obtaining the target region.
[0051] Figure 3 A schematic diagram of the target area according to an embodiment of the present disclosure is shown. Figure 3 As shown, gray rectangles with borders represent conductors, such as conductor A, conductor B, and conductor C; gray rectangles without borders represent non-layered media, such as non-layered media A2, non-layered media A1, non-layered media B1, and non-layered media C1.
[0052] Different gray levels can represent non-layered media with different dielectric constants, such as... Figure 3 As shown, the darker the grayscale, the larger the dielectric constant value. For example, the dielectric constant value of non-layered medium A2 is greater than that of non-layered medium A1.
[0053] In one possible implementation, to improve the processing efficiency of subsequent steps, the media information of all non-hierarchical media in the target area can be stored using a global list of non-hierarchical media, for example... Figure 3 The non-hierarchical media A2, A1, B1 and C1 in the data can be stored using the global list of non-hierarchical media list=[non-hierarchical media A1, non-hierarchical media A2, non-hierarchical media B1, non-hierarchical media C1].
[0054] In the global non-layered media list, the position of each non-layered medium in this global non-layered media list can be its first number. For example, the first number of the first non-layered medium A1 is 1, the first number of the second non-layered medium A2 is 2, the first number of the third non-layered medium B1 is 3, and the first number of the fourth non-layered medium C1 is 4.
[0055] The order of non-hierarchical media stored in the global non-hierarchical media list should satisfy the following: when any two non-hierarchical media have spatial overlap, the non-hierarchical media with the larger first number covers the non-hierarchical media with the smaller first number, such as... Figure 3 As shown, non-layered medium A1 and non-layered medium A2 have a spatial overlap relationship, with non-layered medium A2 covering non-layered medium A1. Correspondingly, the first number 2 of non-layered medium A2 is greater than the first number 1 of non-layered medium A1.
[0056] It should be understood that during the acquisition of the target area, a global non-layered medium list corresponding to the target area can be acquired simultaneously. If a global non-layered medium list does not exist for the target area, all non-layered media in the target area can be numbered according to their coverage relationship, such that the non-layered media with the largest first number covers the non-layered media with the smallest first number, and each non-layered media corresponds to a different first number. Then, according to the first number in descending order, the medium information (such as dielectric constant, coordinate information, etc.) of the layered media corresponding to each first number is stored in the global non-layered medium list to construct the global non-layered medium list corresponding to the target area.
[0057] The first number may include numbers, letters, strings, special symbols, etc., and this disclosure does not limit the specific form of the first number. The non-layered medium information may include the coordinate information of the non-layered medium (which can be used to represent the position and / or shape of the non-layered medium), dielectric constant, etc. The specific content of the non-layered medium information can be set according to the actual application scenario, and this disclosure does not limit it.
[0058] In one possible implementation, the target area includes not only at least one non-layered medium, but also one or at least two non-overlapping layered mediums. A layered medium is a medium that is laid flat in the target area, and the target area can be filled with such a multi-layered non-layered medium. This disclosure does not limit the number of layered media included in the target area.
[0059] After obtaining the target area to be processed in step S11, in step S12, the target area can be divided into a uniform grid according to the preset grid cell side length, and the side length of each grid cell is a fixed value.
[0060] Figure 4 A schematic diagram of a uniform network according to an embodiment of the present disclosure is shown. Figure 4 As shown, for a target region containing conductors A, B, and C, as well as non-layered media A2, A1, B1, and C1, the grid can be configured according to a preset grid cell side length r. cell The target region is divided into a uniform grid, resulting in multiple spatial grids. Each grid cell has the same shape and occupies the same amount of space. For example... Figure 4 In the diagram, g1 represents the grid cell in the second row and second column, g2 represents the grid cell in the second row and fourth column, and g3 represents the grid cell in the third row and fourth column. The grid cells g1, g2, and g3 have the same shape and size.
[0061] Wherein, the preset grid cell side length r cell This can be a preset fixed value, which can be set based on experience; or it can be determined based on the side length and / or perimeter of each conductor in the target area. For example, the side length r of the grid cell can be... cell Set to an integer multiple of the average side length of all conductors in the target region; it can also be determined based on the side length and / or perimeter of the target region, for example, to set the grid cell side length r. cell The target area is set to the greatest common divisor of its side length. This disclosure does not limit the size of the fixed value of the side length of the preset grid cell.
[0062] In step S12, the target region is divided into a uniform grid. In step S13, an empty list of candidate non-layered medium numbers is initialized for each grid cell. Figure 4 As shown, assuming the target region includes 16 grid cells, 16 empty non-layered medium number lists L can be initialized. diel Each grid cell can correspond to an empty list of non-layered media numbers L diel .
[0063] In step S13, an empty candidate list of non-layered media numbers is initialized for each grid cell. In step S14, if any non-layered medium overlaps with any grid cell, the first number of the non-layered medium is inserted into the list of non-layered media numbers of the grid cell that overlaps with the non-layered medium.
[0064] In this context, the non-layered media in the target area have been numbered according to their spatial coverage relationship. Each non-layered media can correspond to a different first number. The order of the first numbers can be used to indicate the spatial coverage relationship between the non-layered media. The non-layered media with the larger first number covers the non-layered media with the smaller first number.
[0065] For example, consider a typical digital integrated circuit, which contains a block of conductors, a non-layered dielectric, and the entire three-dimensional simulation space, which are most likely cuboids. Furthermore, each face of the cuboid is parallel to the coordinate plane of the three-dimensional Cartesian coordinate system (such a geometric structure is called a Manhattan-type shape).
[0066] The following explanation will elaborate on step S14, using Manhattan-type shapes as an example of non-layered media.
[0067] In one possible implementation, step S14 may include:
[0068] In step S141, based on the coordinate information of the vertices of each of the non-layered media, the coordinate information of the target region, and the side length of the grid cell, the grid cells that spatially overlap with each of the non-layered media are determined; the coordinate information can be used to represent the position and / or shape of the non-layered media.
[0069] In step S142, the first number of the non-layered medium is inserted into the list of non-layered medium numbers of grid cells that have spatial overlap with the non-layered medium.
[0070] For example, in step S141, at least one second number can be determined based on the coordinate information of at least two vertices of each of the non-layered media, the coordinate information of the target region, and the side length of the grid cell. The second number is used to distinguish different grid cells, and each grid cell corresponds to a different second number. At least one grid cell corresponding to at least one second number is determined as a grid cell that has spatial overlap with each of the non-layered media.
[0071] Figure 5 This diagram illustrates the determination of grid cells overlapping with a non-layered medium space according to an embodiment of the present disclosure. Figure 5 As shown, assume that the 3×3 grid cells represented by the dashed lines are uniform grids for the target region, and the side length of each grid cell is r. cellThe coordinates of the top left point of the target area are (x0, y0). The gray rectangle without a border is the non-layered medium D. The coordinates of the top left vertex of the non-layered medium D are (x1, y1), and the coordinates of the bottom right vertex are (x2, y2).
[0072] It should be understood that Figure 5 The coordinates (x0, y0) of the upper left point of the target area are a reference point selected from the target area based on the coordinate information of the target area. This reference point can be any point in the target area, such as a vertex or center point of the target area. This disclosure does not impose any restrictions on this.
[0073] Given that the coordinates of the top left vertex of the non-layered medium D are (x1, y1) and the coordinates of the bottom right vertex are (x2, y2), we can determine that the coordinates of the bottom left vertex of the non-layered medium D are (x1, y2) and the coordinates of the top right vertex are (x2, y1).
[0074] Then, the coordinates of the four vertices of the non-layered medium D can be traversed, based on the coordinate information of each vertex, the reference point (x0, y0) of the target region, and the side length of the mesh cell being r. cell Determine the second number of the grid cell corresponding to each vertex coordinate.
[0075] For example, such as Figure 5 As shown, the second number corresponding to the top left vertex coordinates (x1, y1) is [ceil( ),ceil( )] = [2,1];
[0076] The second number corresponding to the bottom left vertex coordinates (x1, y2) is [ceil( ),ceil( )]=[2,2];
[0077] The second number corresponding to the top right vertex coordinates (x2, y1) is [ceil( ),ceil( )]=[3,1];
[0078] The second number corresponding to the bottom right vertex coordinates (x2, y2) is [ceil( ),ceil( )]=[3,2].
[0079] The ceil() function represents the floor function, for example, ceil(2.1) = 3.
[0080] visible, Figure 5The non-layered medium D in the middle has spatial overlap with the grid cell corresponding to the second number [2,1] (i.e., the grid cell in the first row of the second column), the grid cell corresponding to the second number [2,2] (i.e., the grid cell in the second row of the second column), the grid cell corresponding to the second number [3,1] (i.e., the grid cell in the first row of the third column), and the grid cell corresponding to the second number [3,2] (i.e., the grid cell in the second row of the third column).
[0081] In this way, the intersection relationship between the non-layered medium shape and the mesh cell can be quickly calculated. Since the mesh size (e.g., the side length of the mesh cell) is a fixed value, the mesh cell number (i.e., the second number) that the non-layered medium crosses can be quickly located by the relative positional relationship between the coordinates of the vertex of the non-layered medium and the side length of the mesh cell.
[0082] It should be understood that Figure 5 Using a two-dimensional top view as an illustration, in practical applications, the target area is a three-dimensional space. To determine the mesh cells that overlap with the non-layered medium space in the three-dimensional space, the above method can be used as a reference. The calculation of the z-axis direction (depth direction) is added, corresponding to the x-axis direction (horizontal direction) and y-axis direction (vertical direction). This will not be elaborated here.
[0083] In step S141, the grid cells that spatially overlap with each non-layered medium are determined. In step S142, the first number of the non-layered medium is inserted into the list of non-layered medium numbers of the grid cells that spatially overlap with the non-layered medium.
[0084] For example, suppose as Figure 5 As shown, the non-layered medium D has spatial overlap with the grid cells corresponding to the second number [2,1] (i.e., the grid cells in the first row of the second column), the grid cells corresponding to the second number [2,2] (i.e., the grid cells in the second row of the second column), the grid cells corresponding to the second number [3,1] (i.e., the grid cells in the first row of the third column), and the grid cells corresponding to the second number [3,2] (i.e., the grid cells in the second row of the third column).
[0085] The first number D of the non-layered medium D can be inserted into the list L of non-layered medium numbers of the second grid cell with the number [2,1]. diel List of non-layered media numbers for grid cells [2,1] and [2,2] diel List of non-layered media numbers for grid cells [2,2] and [3,1] diel List of non-layered media numbers for grid cells [3,1] and [3,2] diel [3,2].
[0086] Through steps S141-S142, for each non-layered medium, the second number of the grid cell it spans can be determined based on the coordinate information of the Manhattan shape, and the non-layered medium is inserted into the list L of non-layered medium numbers spanning the grid cells. diel In this way, it is beneficial to efficiently and quickly determine the list of non-layered media numbers corresponding to each grid cell, such as... Figure 4 As shown, the non-layered medium number list of grid cell g1 contains non-layered media A1, A2, and B1; the non-layered medium number list of grid cell g2 contains only medium C1; and the non-layered medium number list of grid cell g3 is empty. Thus, subsequent calculations can be based on the non-layered medium number list L of the grid cells. die The query is performed to efficiently and quickly determine the non-layered media information at a specific location within the target area.
[0087] In step S14, the list of non-layered media numbers corresponding to each grid cell is determined. In step S15, if any list of non-layered media numbers includes at least two non-layered media, the non-layered media in the list of non-layered media numbers are sorted in descending order of the first number, that is, the first number in the list of non-layered media numbers is sorted.
[0088] In this way, the list of non-layered media numbers corresponding to each grid cell has been sorted in descending order of the first number, which satisfies the convention that the non-layered media ranked higher cover the non-layered media ranked lower. This is beneficial for subsequent queries, where the result can be returned as soon as the sampling point is found to be in a certain non-layered medium, without having to traverse the entire list, thus saving query time and further improving query efficiency.
[0089] Therefore, through steps S11 to S15, the acquired target area can be divided into uniform grids according to the preset grid cell side length, and an empty list of non-layered medium numbers is initialized for each grid cell. If any non-layered medium overlaps with any grid cell, the first number of the non-layered medium is inserted into the list of non-layered medium numbers of the grid cell that overlaps with it. If any list of non-layered medium numbers includes at least two non-layered media, the non-layered media in the list are sorted in descending order of their first numbers. In this way, the embodiments of this disclosure provide a spatial management scheme with shorter construction time and efficient handling of a large number of complex non-layered media. Utilizing a uniform grid structure as the data structure, it has a shorter construction time when dealing with ultra-large-scale non-layered media (greater than 500,000). Depending on the complexity of the structure, it can achieve speedups of tens or even hundreds of times during the initial data generation stage, and further improves query efficiency during subsequent random walks.
[0090] In one possible implementation, the spatial management scheme for the non-layered medium constructed in steps S11-S15 can be used to query the relative permittivity of the sampling point. The method may further include: determining the grid cell containing the sampling point and the permittivity at the sampling point based on the coordinate information of the sampling point, and the uniform grid and the non-layered medium number list established according to steps S11-S15, including:
[0091] In step S16, the grid cell where the sampling point is located is determined based on the coordinate information of the sampling point; the coordinate information can be used to represent the position of the sampling point.
[0092] In step S17, the dielectric constant at the sampling point is determined according to the non-layered dielectric number list of the grid cell where the sampling point is located.
[0093] In one possible implementation, in step S16, a second number of the grid cell where the sampling point is located can be determined based on the coordinate information of the sampling point, the coordinate information of the target area, and the side length of the grid cell. The second number is used to distinguish different grid cells, and each grid cell corresponds to a different second number. The grid cell corresponding to the second number is determined as the grid cell where the sampling point is located.
[0094] For example, a point can be selected from the target area as a reference point (x0, y0, z0) based on the coordinate information of the target area. This reference point can be any point within the target area, such as a vertex or center point of the target area. This disclosure does not impose any restrictions on this.
[0095] The coordinates (x, y, z) of a sampling point in the target area, the coordinates (x0, y0, z0) of a reference point in the target area, and the grid cell side length r can be used as the basis for the calculation. cell The second number can be determined as [ceil( ),ceil( ),ceil( ], where the ceil() function represents the floor function. The second number [ceil( ),ceil( ),ceil( The corresponding grid cell, that is, the ceil ( ) in the horizontal direction (x-axis direction). ) , the ceil ( ) in the vertical direction (y-axis direction) ) , the ceil ( ) in the depth direction (z-axis direction) The corresponding grid cells are determined as the grid cells where the sampling points are located.
[0096] It should be understood that the second number [ceil( ),ceil( ),ceil( As an example, the second number may include numbers, letters, strings, special symbols, etc. This disclosure does not limit the specific form of the second number used to distinguish different grid cells.
[0097] Among them, sampling points include, for example, Figure 1 Random walk points in (e.g.) Figure 1 r1, r2, and r3 in the target area can be any point within the target area, and this disclosure does not impose any restrictions on them.
[0098] In this way, considering that the grid size (e.g., the side length of the grid cell) is a fixed value, the grid cell number (i.e., the second number) where the sampling point is located can be quickly located by the relative positional relationship between the sampling point and the side length of the grid cell.
[0099] Since the grid cell where the sampling point is located is determined in step S16, the dielectric constant of the sampling point can be determined in step S17 according to the list of non-layered dielectric numbers of the grid cell where the sampling point is located.
[0100] In one possible implementation, in step S17, the first number stored in the non-layered medium number list of the grid cell where the sampling point is located can be retrieved sequentially, and the medium information of the corresponding non-layered medium can be found in the global non-layered medium list according to the first number, and it can be determined sequentially whether the non-layered medium contains the sampling point.
[0101] If the current non-layered medium contains the sampling point, then the dielectric constant of the non-layered medium is determined as the dielectric constant at the sampling point. If the current non-layered medium does not contain the sampling point, then the next first number in the non-layered medium number list is taken, and the above process is repeated.
[0102] The above process is repeated. That is, if the medium information of the corresponding non-layered medium found in the global non-layered medium list for the current first number (e.g., first number N) indicates that the current non-layered medium does not contain a sampling point, the next first number (e.g., first number N+1) in the non-layered medium number list is taken. Based on the medium information of the corresponding non-layered medium found in the global non-layered medium list for the next first number (e.g., first number N+1) in the non-layered medium number list, it is determined whether the non-layered medium (i.e., the non-layered medium corresponding to the next first number N+1) contains a sampling point. If the non-layered medium contains a sampling point, the dielectric constant of the non-layered medium is determined as the dielectric constant at the sampling point. If the non-layered medium does not contain the sampling point, the next first number (e.g., first number N+2) in the non-layered medium number list is taken, and so on, until the dielectric constant of the sampling point is found, or the first numbers in the non-layered medium number list are traversed.
[0103] If the list of non-layered media numbers is empty, or if the sampling point is not located in any non-layered medium in the list of non-layered media numbers, the dielectric constant of the layered medium in the layer where the sampling point is located shall be determined as the dielectric constant at the sampling point.
[0104] For example, assuming the sampling point is located in a grid cell of the target region, the list L of non-layered media numbers in that grid cell can be traversed. diel If the sampling point is within a non-layered dielectric shape, then based on the first number of that non-layered dielectric, the dielectric information of the corresponding non-layered dielectric is found in the global non-layered dielectric list, and the dielectric constant of that non-layered dielectric is returned; if querying the non-layered dielectric number list L... diel If no non-layered medium is found at the end of the list, return the dielectric constant of the layered medium in that layer; if the list of non-layered mediums for that grid cell is L... diel If it is empty, you can query it again and it will directly return the dielectric constant of the layered medium.
[0105] Figure 6 A schematic diagram of query sampling points according to an embodiment of the present disclosure is shown, such as Figure 6As shown, for a target region containing conductors A, B, and C, and non-layered media A2, A1, B1, and C1, when querying, if sampling point r1 is located within grid cell g1, its non-layered media number list (including non-layered media A2, A1, and B1) is traversed. If sampling point r1 is found to be in non-layered media A2, which is ranked first in the non-layered media number list, then based on the first number 1 of non-layered media A2, the dielectric information of non-layered media A2 is found in the global non-layered media list, and the dielectric constant of non-layered media A2 is returned. If sampling point r2 is located within grid cell g2, its non-layered media number list (including non-layered media C1) is traversed. Since sampling point r2 is not within a non-layered medium, the dielectric constant of that layered medium is returned.
[0106] The list of non-layered media numbers corresponding to each grid cell has been sorted in descending order of the first number, satisfying the convention that the non-layered media ranked higher cover the non-layered media ranked lower. In this way, during the query process, if the sampling point is found to be in a certain non-layered medium, the result can be returned without having to traverse the entire list.
[0107] The layered medium list may store medium information for non-layered media. The dielectric constant included in this medium information may be a relative dielectric constant value or an equivalent dielectric constant value. If the stored relative dielectric constant value is a real value, the equivalent dielectric constant can be calculated using the Monte Carlo method. This disclosure does not impose any specific restrictions on this.
[0108] Among them, it is known that chips are manufactured by photolithography, which usually creates a patterned layer on a silicon wafer, consisting of layers of semiconductor materials or media. The layer medium of the layer where the sampling point is located is the layer medium of the material layer. The layer medium of the target area or multiple adjacent grid cells (e.g., at the same depth) can be the same.
[0109] Through steps S16-S17, the dielectric constant of any sampling point in the target region can be quickly retrieved using non-layered dielectric space management. In specific applications, this can be combined with the octet transfer cube technique to obtain the sampling mean by using this random sampling method when calculating the equivalent dielectric constant within each small cube.
[0110] In summary, the embodiments of this disclosure generate an optimized spatial management structure for non-layered media queries using a uniform grid. This significantly reduces the computational load during the construction of the spatial management data structure while improving query performance during random walks. For example, in a test case containing over 700,000 non-layered media and over 2 million conductors, the construction time is accelerated by 420 times compared to non-layered media spatial management in related technologies, reducing the time to 0.2 seconds. In the subsequent random walk query phase, the query time of the query methods in related technologies and the query methods of the embodiments of this disclosure is reduced to 3.78 seconds and 3.98 seconds, respectively, compared to brute-force retrieval (5478 seconds). Therefore, the embodiments of this disclosure significantly improve the operational efficiency of spatial management construction while achieving the same query efficiency.
[0111] It is understood that the various method embodiments mentioned above in this disclosure can be combined with each other to form combined embodiments without violating the principle and logic. Due to space limitations, this disclosure will not elaborate further. Those skilled in the art will understand that in the above methods of specific implementation, the specific execution order of each step should be determined by its function and possible internal logic.
[0112] In addition, this disclosure also provides a non-layered media processing apparatus, electronic equipment, computer-readable storage medium, and program, all of which can be used to implement any of the non-layered media processing methods provided in this disclosure. The corresponding technical solutions and descriptions are described in the corresponding records in the method section and will not be repeated here.
[0113] Figure 7 A block diagram of a non-layered media processing apparatus according to an embodiment of the present disclosure is shown, such as Figure 7 As shown, the device includes:
[0114] The acquisition module 71 is used to acquire the target area to be processed. The target area includes a three-dimensional simulation area containing at least one non-layered medium. The medium information of all non-layered media is stored in a global non-layered medium list. The position of each non-layered medium in the global non-layered medium list is the first number of the non-layered medium. The order of the non-layered media stored in the global non-layered medium list should satisfy the following: in the case that any two non-layered media have a spatial overlap relationship, the non-layered medium with the larger first number covers the non-layered medium with the smaller first number. The target area also includes one or at least two non-overlapping layered media, and the one or at least two non-overlapping layered media fill the entire target area.
[0115] The partitioning module 72 is used to divide the target area into uniform grids according to a preset grid cell side length, wherein the side length of each grid cell is a fixed value.
[0116] Initialization module 73 is used to initialize an empty list of non-layered media numbers for each grid cell;
[0117] Insertion module 74 is used to insert the first number of the non-layered medium into the list of non-layered medium numbers of the grid cells that spatially overlap with the non-layered medium when any non-layered medium and any grid cell have spatial overlap.
[0118] The sorting module 75 is used to sort the non-layered media in the non-layered media number list in descending order of the first number, when any non-layered media number list includes at least two non-layered media.
[0119] In one possible implementation, the device is further configured to: determine the grid cell containing the sampling point and the dielectric constant at the sampling point based on the coordinate information of the sampling point and the uniform grid and the non-layered medium number list established above, including: determining the grid cell containing the sampling point based on the coordinate information of the sampling point; and determining the dielectric constant at the sampling point based on the non-layered medium number list of the grid cell containing the sampling point.
[0120] In one possible implementation, determining the dielectric constant at the sampling point based on the non-layered medium number list of the grid cell where the sampling point is located includes: sequentially retrieving the first number stored in the non-layered medium number list of the grid cell where the sampling point is located; finding the medium information of the corresponding non-layered medium in the global non-layered medium list according to the first number; sequentially determining whether the non-layered medium contains the sampling point; if the current non-layered medium contains the sampling point, then determining the dielectric constant of the non-layered medium as the dielectric constant at the sampling point; if the current non-layered medium does not contain the sampling point, then continuing to retrieve the next first number in the non-layered medium number list and repeating the above process.
[0121] In one possible implementation, the apparatus is further configured to: determine the dielectric constant of the layered medium in the layer where the sampling point is located as the dielectric constant of the sampling point if the sampling point is not located in any non-layered medium in the list of non-layered media.
[0122] In one possible implementation, determining the grid cell where the sampling point is located based on the coordinate information of the sampling point includes: determining a second number of the grid cell where the sampling point is located based on the coordinate information of the sampling point, the coordinate information of the target area and the side length of the grid cell, wherein the second number is used to distinguish different grid cells, and each grid cell corresponds to a different second number; and determining the grid cell corresponding to the second number as the grid cell where the sampling point is located.
[0123] In one possible implementation, the non-layered medium is a Manhattan-shaped non-layered medium, where the Manhattan-shaped medium represents a cuboid whose faces are parallel to the coordinate plane of a three-dimensional Cartesian coordinate system. The insertion module 74 is used to: determine the grid cells that spatially overlap with each of the non-layered media based on the coordinate information of the vertices of each of the non-layered media, the coordinate information of the target region, and the side length of the grid cells; and insert the first number of the non-layered medium into the list of non-layered medium numbers of the grid cells that spatially overlap with the non-layered medium.
[0124] This method is specifically technically related to the internal structure of computer systems and can solve technical problems of how to improve hardware computing efficiency or execution performance (including reducing data storage, reducing data transmission, and increasing hardware processing speed), thereby achieving technical effects that improve the internal performance of computer systems in accordance with natural laws.
[0125] In some embodiments, the functions or modules of the apparatus provided in this disclosure can be used to perform the methods described in the above method embodiments. The specific implementation can be referred to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0126] This disclosure also proposes a computer-readable storage medium storing computer program instructions that, when executed by a processor, implement the above-described method. The computer-readable storage medium can be volatile or non-volatile.
[0127] This disclosure also proposes an electronic device, including: a processor; and a memory for storing processor-executable instructions; wherein the processor is configured to invoke the instructions stored in the memory to execute the above-described method.
[0128] This disclosure also provides a computer program product, including computer-readable code, or a non-volatile computer-readable storage medium carrying computer-readable code, wherein when the computer-readable code is run in a processor of an electronic device, the processor in the electronic device performs the above-described method.
[0129] Electronic devices can be provided as terminals, servers, or other forms of devices.
[0130] Figure 8This diagram illustrates a block diagram of an electronic device 800 according to an embodiment of the present disclosure. For example, the electronic device 800 may be a user equipment (UE), a mobile device, a user terminal, a terminal, a cellular phone, a cordless phone, a personal digital assistant (PDA), a handheld device, a computing device, an in-vehicle device, a wearable device, or other terminal devices.
[0131] Reference Figure 8 The electronic device 800 may include one or more of the following components: processing component 802, memory 804, power supply component 806, multimedia component 808, audio component 810, input / output (I / O) interface 812, sensor component 814, and communication component 816.
[0132] Processing component 802 typically controls the overall operation of electronic device 800, such as operations associated with display, telephone calls, data communication, camera operation, and recording operations. Processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the methods described above. Furthermore, processing component 802 may include one or more modules to facilitate interaction between processing component 802 and other components. For example, processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802.
[0133] Memory 804 is configured to store various types of data to support the operation of electronic device 800. Examples of such data include instructions for any application or method operating on electronic device 800, contact data, phonebook data, messages, pictures, videos, etc. Memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.
[0134] Power supply component 806 provides power to various components of electronic device 800. Power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 800.
[0135] Multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 808 includes a front-facing camera and / or a rear-facing camera. When the electronic device 800 is in an operating mode, such as a shooting mode or a video mode, the front-facing camera and / or the rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.
[0136] Audio component 810 is configured to output and / or input audio signals. For example, audio component 810 includes a microphone (MIC) configured to receive external audio signals when electronic device 800 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 804 or transmitted via communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
[0137] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.
[0138] Sensor assembly 814 includes one or more sensors for providing state assessments of various aspects of electronic device 800. For example, sensor assembly 814 may detect the on / off state of electronic device 800, the relative positioning of components such as the display and keypad of electronic device 800, changes in position of electronic device 800 or a component of electronic device 800, the presence or absence of user contact with electronic device 800, orientation or acceleration / deceleration of electronic device 800, and temperature changes of electronic device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 814 may also include an optical sensor, such as a complementary metal-oxide-semiconductor (CMOS) or charge-coupled device (CCD) image sensor, for use in imaging applications. In some embodiments, sensor assembly 814 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.
[0139] Communication component 816 is configured to facilitate wired or wireless communication between electronic device 800 and other devices. Electronic device 800 can access wireless networks based on communication standards, such as Wi-Fi, 2G, 3G, 4G, LTE, 5G, or combinations thereof. In one exemplary embodiment, communication component 816 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 816 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID), Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
[0140] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.
[0141] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 804 including computer program instructions that can be executed by a processor 820 of an electronic device 800 to perform the above-described method.
[0142] Figure 9 A block diagram of an electronic device 1900 according to an embodiment of the present disclosure is shown. For example, the electronic device 1900 may be provided as a server or a terminal device. (Refer to...) Figure 9 The electronic device 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as application programs, that can be executed by the processing component 1922. The application programs stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. Furthermore, the processing component 1922 is configured to execute instructions to perform the methods described above.
[0143] Electronic device 1900 may also include a power supply component 1926 configured to perform power management of electronic device 1900, a wired or wireless network interface 1950 configured to connect electronic device 1900 to a network, and an input / output (I / O) interface 1958. Electronic device 1900 can operate on an operating system stored in memory 1932, such as a Microsoft Server operating system (Windows Server). TM Apple's graphical user interface-based operating system (Mac OSX) TM ), a multi-user, multi-process computer operating system (Unix) TM Linux is a free and open-source Unix-like operating system. TM ), an open-source Unix-like operating system (FreeBSD) TM (or similar.)
[0144] In an exemplary embodiment, a non-volatile computer-readable storage medium is also provided, such as a memory 1932 including computer program instructions that can be executed by a processing component 1922 of an electronic device 1900 to perform the above-described method.
[0145] This disclosure can be a system, method, and / or computer program product. A computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for causing a processor to implement various aspects of this disclosure.
[0146] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example, (but not limited to) electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination of the foregoing. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.
[0147] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0148] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.
[0149] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0150] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processor of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner; thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.
[0151] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.
[0152] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.
[0153] The computer program product can be implemented specifically through hardware, software, or a combination thereof. In one alternative embodiment, the computer program product is specifically embodied in a computer storage medium; in another alternative embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.
[0154] The description of the various embodiments above tends to emphasize the differences between the various embodiments. The similarities or similarities between them can be referred to, and for the sake of brevity, they will not be repeated here.
[0155] Those skilled in the art will understand that, in the above-described method of the specific implementation, the order in which each step is written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.
[0156] If the technical solution of this application involves personal information, the product using this technical solution has clearly informed the user of the personal information processing rules and obtained the user's voluntary consent before processing the personal information. If the technical solution of this application involves sensitive personal information, the product using this technical solution has obtained the user's separate consent before processing the sensitive personal information, and also meets the requirement of "express consent". For example, at personal information collection devices such as cameras, clear and prominent signs are set up to inform users that they have entered the scope of personal information collection and that personal information will be collected. If an individual voluntarily enters the collection scope, it is deemed that they have agreed to the collection of their personal information; or on the personal information processing device, with clear signs / information informing users of the personal information processing rules, authorization is obtained from the individual through pop-up information or by asking the individual to upload their personal information; wherein, the personal information processing rules may include information such as the personal information processor, the purpose of personal information processing, the processing method, and the types of personal information processed.
[0157] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or improvement of the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for processing non-stratified media, characterized in that, The method is applied to the physical design and verification of very large-scale integrated circuits. The non-layered medium is a medium other than the layered medium. The layered medium is a patterned layer of semiconductor materials or dielectrics stacked on a silicon wafer, including: A target region to be processed is obtained. The target region includes a three-dimensional simulation region containing at least one non-layered medium. The medium information of all non-layered media is stored in a global non-layered medium list. The position of each non-layered medium in the global non-layered medium list is the first number of the non-layered medium. The order of the non-layered media stored in the global non-layered medium list should satisfy the following: in the case of any two non-layered media having a spatial overlap relationship, the non-layered medium with the larger first number covers the non-layered medium with the smaller first number. The target region also includes one or at least two non-overlapping layered media, and the one or at least two non-overlapping layered media fill the entire target region. The target area is divided into uniform grids according to the preset grid cell side length, and the side length of each grid cell is a fixed value. Initialize an empty list of non-layered medium numbers for each grid cell; In the case where any non-layered medium and any grid cell have spatial overlap, the first number of the non-layered medium is inserted into the list of non-layered medium numbers of the grid cell that has spatial overlap with the non-layered medium. If any non-layered media number list includes at least two non-layered media, the non-layered media in the non-layered media number list shall be sorted in descending order of the first number; Wherein, the non-layered medium is a Manhattan-shaped non-layered medium, and the Manhattan-shaped medium represents a cuboid whose faces are parallel to the coordinate plane of the three-dimensional rectangular coordinate system; In the case where any non-layered medium spatially overlaps with any grid cell, inserting the first number of the non-layered medium into the list of non-layered medium numbers of the grid cells spatially overlapping with the non-layered medium includes: Based on the coordinate information of each vertex of the non-layered medium, the coordinate information of the target region and the side length of the grid cell, determine the grid cells that spatially overlap with each of the non-layered media; Insert the first number of the non-layered medium into the list of non-layered medium numbers of grid cells that have spatial overlap with the non-layered medium.
2. The method according to claim 1, characterized in that, The method further includes: Based on the coordinate information of the sampling point, and the uniform grid and the non-layered medium number list established according to the method of claim 1, the dielectric constant of the grid cell where the sampling point is located and the dielectric constant at the sampling point are determined, including: Based on the coordinate information of the sampling point, the grid cell in which the sampling point is located is determined; The dielectric constant at the sampling point is determined based on the list of non-layered dielectric numbers of the grid cell where the sampling point is located.
3. The method according to claim 2, characterized in that, The step of determining the dielectric constant at the sampling point based on the non-layered dielectric number list of the grid cell where the sampling point is located includes: The first number stored in the non-layered medium number list of the grid cell where the sampling point is located is retrieved in sequence. Based on the first number, the medium information of the corresponding non-layered medium is found in the global non-layered medium list. It is then determined whether the non-layered medium contains the sampling point. If the current non-layered medium contains the sampling point, then the dielectric constant of the non-layered medium is determined as the dielectric constant at the sampling point. If the current non-layered medium does not contain the sampling point, then the next first number in the non-layered medium number list is taken, and the above process is repeated.
4. The method according to claim 3, characterized in that, The method further includes: when the list of non-layered media numbers is empty, or when the sampling point is not located in any non-layered medium in the list of non-layered media numbers, determining the dielectric constant of the layered medium in the layer where the sampling point is located as the dielectric constant at the sampling point.
5. The method according to claim 2, characterized in that, The step of determining the grid cell where the sampling point is located based on the coordinate information of the sampling point includes: Based on the coordinate information of the sampling point, the coordinate information of the target area and the side length of the grid cell, the second number of the grid cell where the sampling point is located is determined. The second number is used to distinguish different grid cells, and each grid cell corresponds to a different second number. The grid cell corresponding to the second number is determined as the grid cell where the sampling point is located.
6. A non-stratified media processing apparatus, characterized in that, The device is used for the physical design and verification of very large-scale integrated circuits. The non-layered medium is a medium other than the layered medium. The layered medium is a patterned layer of semiconductor material or medium stacked on a silicon wafer, including: The acquisition module is used to acquire the target area to be processed. The target area includes a three-dimensional simulation area with at least one non-layered medium. Each non-layered medium corresponds to a different first label. The first label is generated according to a preset first label order. The first label order is used to indicate the spatial coverage relationship between non-layered media. Non-layered media with a larger dielectric constant cover non-layered media with a smaller dielectric constant. The partitioning module is used to divide the target area into uniform grids according to a preset grid cell side length, wherein the side length of each grid cell is a fixed value. The initialization module is used to initialize an empty list of non-layered medium numbers for each grid cell. An insertion module is used to insert the first number of the non-layered medium into the list of non-layered medium numbers of the grid cells that spatially overlap with the non-layered medium when any non-layered medium and any grid cell have spatial overlap. The sorting module is used to sort the non-layered media in the non-layered media number list in descending order of the first number, when any non-layered media number list includes at least two non-layered media. Wherein, the non-layered medium is a Manhattan-shaped non-layered medium, and the Manhattan-shaped medium represents a cuboid whose faces are parallel to the coordinate plane of the three-dimensional rectangular coordinate system; The insertion module is used for: Based on the coordinate information of each vertex of the non-layered medium, the coordinate information of the target region and the side length of the grid cell, determine the grid cells that spatially overlap with each of the non-layered media; Insert the first number of the non-layered medium into the list of non-layered medium numbers of grid cells that have spatial overlap with the non-layered medium.
7. An electronic device, characterized in that, include: processor; Memory used to store processor-executable instructions; The processor is configured to invoke instructions stored in the memory to execute the method according to any one of claims 1 to 5.
8. A computer-readable storage medium having computer program instructions stored thereon, characterized in that, When the computer program instructions are executed by the processor, they implement the method described in any one of claims 1 to 5.