Different design methods and Electronic Design Automation (“EDA”) tools are arranged to design Integrated circuits (“ICs”) of various levels of complexity. IC design engineers design an integrated circuit by transforming a circuit specification into geometric descriptions of physical components that in combination form basic electronic components. In general, the geometric descriptions are polygons of various dimensions, representing conductive features located in different processing layers. The geometric descriptions of physical components are generally referred to as integrated circuit layouts. After the creation of an initial integrated circuit layout, the integrated circuit layout is usually tested and optimized through a set of steps in order to verify that the integrated circuit meets the design specification with the parasitic capacitances and resistances in the IC. The integrated circuit layout can be changed through one or more design optimization cycles until the simulation results satisfy the design specification.
The parasitic capacitances and resistances can cause various detrimental effects and undesirable performance in a designed IC, such as undesired long signal delays on various interconnects. Thus, the impact of the parasitic capacitances and resistances on the performance of the designed IC must be accurately predicted so that design engineers can compensate for these detrimental effects through proper design optimization steps.
Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures. It is noted that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.
The following disclosure provides many different embodiments, or examples, for implementing different features of the provided subject matter. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. For example, the formation of a first feature over or on a second feature in the description that follows may include embodiments in which the first and second features are formed in direct contact, and may also include embodiments in which additional features may be formed between the first and second features, such that the first and second features may not be in direct contact. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
The terms used in this specification generally have their ordinary meanings in the art and in the specific context where each term is used. The use of examples in this specification, including examples of any terms discussed herein, is illustrative only, and in no way limits the scope and meaning of the disclosure or of any exemplified term. Likewise, the present disclosure is not limited to various embodiments given in this specification.
Although the terms “first,” “second,” etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the embodiments. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
Further, spatially relative terms, such as “beneath,” “below,” “lower,” “above,” “upper” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. The spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. The apparatus may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.
In this document, the term “coupled” may also be termed as “electrically coupled”, and the term “connected” may be termed as “electrically connected.” “Coupled” and “connected” may also be used to indicate that two or more elements cooperate or interact with each other.
The memory unit(s) 120 stores one or more program codes for aiding design of integrating circuits. For example, the memory unit(s) 120 can store instructions for one or more programs executable by the processing unit to perform operations. For illustration, the memory unit(s) 120 stores program codes encoded with a set of instructions for performing capacitance extraction of a layout or layout patterns of integrating circuits. In some embodiments, when the processing unit 110 executes the program codes, and the operations of capacitance extraction are able to be automatically performed. Accordingly, by the processing unit 110 and the program codes stored in the memory unit(s) 120, electronic design automation (EDA) tools can run on the design system 100 to assist IC designers in various steps in the IC design process.
In some embodiments, the memory unit(s) 120 can be a non-transitory computer readable storage medium encoded with, e.g., storing, a set of executable instructions for performing capacitance extraction. In some embodiments, the computer readable storage medium is an electronic, magnetic, optical, electromagnetic, infrared, and/or a semiconductor system (or apparatus or device). For example, the computer readable storage medium includes a semiconductor or solid-state memory, a magnetic tape, a removable computer diskette, a random-access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and/or an optical disk. In one or more embodiments using optical disks, the computer readable storage medium includes a compact disk-read only memory (CD-ROM), a compact disk-read/write (CD-R/W), a digital video disc (DVD), a flash memory, and/or other media, now known or later developed, that are capable of storing code or data. Hardware modules or apparatuses described in this disclosure include, but are not limited to, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), dedicated or shared processors, and/or other hardware modules or apparatuses now known or later developed.
The I/O interfaces 130 are configured to receive inputs or commands from various control devices which, for example, are operated by a circuit designer and/or a layout designer. Accordingly, the design system 100 can be controlled with the inputs or commands received by the I/O interfaces 130. In some embodiments, the I/O interfaces 130 can be communicatively coupled to one or more peripheral devices 142, 144, 146, which can be storage devices, servers, displays (e.g., cathode ray tube (CRT), liquid crystal display (LCD), touch screen, etc.) configured to display the status of the program code execution, or input devices (e.g., keyboard, keypad, mouse, trackball, trackpad, touch screen, cursor direction keys, or the combination thereof) for communicating information and commands to the processing unit 110. The design system 100 can also transmit data to or communicate with peripheral device(s) or other terminal devices through a network 148, such as a local network, an internet service provider, internet, or any combination thereof.
At a logic design phase 220, the RTL design is converted into a logic design resulting in a netlist of connected logic circuits. The logic design may employ typical logic components, such as AND, OR, XOR, NAND, and NOR components as well as cells exhibiting a desired functionality from one or more libraries. In some instances, one or more intellectual property (IP) cores may be utilized and embedded within the SoC. Accordingly, a netlist describing the connectivity of the various electronic components of the circuits involved in connection with the design may be generated. For example, a netlist may include a list of the electronic components in the circuit and a list of the nodes they are connected to. In some embodiments, design constraints and the RTL design are sent to a synthesizer for Logic Synthesis to generate a pre-layout gate-level netlist. Then, the pre-layout gate-level netlist can be integrated into a verification environment for system gate-level simulation. After the simulation and verification, the logic design is completed.
At a layout design phase 230, gate level netlists are converted to a physical geometric representation. For example, the layout design phase 230 may include a floor-planning, which is a process of placing various blocks, cells, and/or components, and input/output pads across an area based on the design constraints. Such resources may be arranged on one or more layers of the device. Placement blockages may be created at the floor planning stage resulting in routing blockages function as guidelines for placement of standard cells. As one example, a SoC design may be partitioned into one or more functional blocks, or partitions. Then, a Placement & Route tool (P&R) may perform the placement of physical elements within each block and integration of analog blocks or external IP cores, and run a routing to connect the elements together. Accordingly, an initial integrated circuit layout is created.
At a post-design testing and optimization phase 240, steps 242, 244, 246, and 248 are performed. Particularly, a Design-Rule Check (DRC) and Layout Versus Schematic (LVS) step 242 can be performed to check whether the created layout against design rules and verify whether the created layout is equivalent to the desired design schematic. Then, a resistance and capacitance extraction (RC extraction) step 244 can be performed in order to “extract” electrical characteristics of the layout. The common electrical characteristics that are extracted from an integrated circuit layout include capacitances and resistances in the electronic devices and the various interconnects (also generally referred to as “nets”) that electrically connect the aforementioned devices. This step can also be referred to as “parasitic extraction” because these capacitance and resistance values are generally properties of the underlying device physics of the device configurations and materials used to fabricate the IC and not put into place by the IC designer.
Then, a post-layout gate-level simulation step 246 can be performed on the designed IC to ensure the design meets the specification with the parasitic capacitances and resistances in the IC. If the parasitic capacitances and resistances cause undesirable performance (step 248—No), the integrated circuit layout can be changed through one or more design optimization cycles by repeating the logic design phase 220, the layout design phase 230, and the post-design testing and optimization phase 240 until the simulation results satisfy the design specification (step 248—Yes).
When performing RC extraction on the semiconductor layout 300, the design system 100 can run the program to recognize one or more patterns (e.g., “primitive patterns”) of one or more electrical components in the semiconductor layout 300 and extract parasitic parameters from the recognized patterns. Among these parasitic parameters, the parasitic capacitance influences time delay, power consumption, and the signal integrity. EDA tools running on the design system 100 can provide various capacitance extraction tools to forecast a power, performance, and area (PPA) estimation based on the parasitic parameters, so that foundries can improve the designs to meet the PPA targets defined by foundry and customers in advanced nodes. For example, capacitance extraction tools may include one or more capacitance extractors applying a 2-dimensional (2D) RC extraction methodology, a 2.5-dimensional (2.5-D) RC extraction methodology, a 3-dimensional (3D) RC extraction methodology, or any other proper RC extraction methodologies.
In general, the 2.5-D RC extraction methodology is more accurate than a 2-dimensional (2D) RC extraction methodology and less accurate than a 3D RC extraction methodology. On the other hand, the 2.5-D RC extraction methodology requires more extraction time compared to a 2D RC extraction methodology, and less extraction time compared to a 3D RC extraction methodology due to the complexity of the estimation and calculation.
In some embodiments of the present disclosure, EDA tools may apply different accuracies for capacitance extractions in different regions in the semiconductor layout 300. Reference is made to
In some embodiments, the user specifies the X and the Y boundaries in the semiconductor layout 300. The user may also specify the Z boundary by identifying the number of layers that are to be included in the region 410. In some embodiments, the Z boundary includes all layers of the semiconductor layout 300, while in some other embodiments, the Z boundary includes some but not all of the layers of the semiconductor layout 300.
A more accurate RC extraction result can reduce the gap between simulation and silicon measurements and assist IC designers in optimizing the semiconductor layout, but it costs more computational resources and is also time consuming. Under practical time and/or computational resource restraints, it would be difficult for the design system 100 to achieve both the high accuracy and the high efficiency for all components during the RC extraction. The user or the design system 100 has to choose to prioritize one over the other based on several factors, such as the complexity of the circuit, to optimize the overall RC extraction accuracy and efficiency. In some embodiments, the design system 100 can execute the program to automatically recognize the region 410 as a region where RC extraction accuracy is preferred over efficiency, and automatically identify the boundaries of the region 410. For example, an LVS extraction tool can be used to recognize various circuits or electrical components, e.g., transistors, conductors, etc., in the semiconductor layout 300. In some embodiments, the design system 100 may assign a higher accuracy setting for transistors with complex 3D structure, and a lower accuracy setting for conductors. The LVS extraction tool therefore automatically identifies locations of those electrical components. Then, an RC extraction tool can automatically generate the boundaries of the region 410 from pre-defined rules based on the location information of the electrical components. In some embodiments, the types of electrical components or circuits of the semiconductor layout 300 subjected to a higher accuracy setting are preset in the RC extraction tool.
In some embodiments, the region 410 can be identified partially by user-defined settings and partially by the design system 100. For example, the user may identify the Z boundary, and the design system 100 may automatically identify the X boundary and Y boundary of the region 410. In another example, the user may specify an area (in any one or more of the X, Y and Z directions) where RC extraction accuracy is preferred over efficiency, and the design system 100 may automatically identify one or more regions 410 from the user-specified area.
As shown in
For example, in some embodiments, the design system 100 can apply different step size parameter parameters to regions 410 and 420 when applying the 3D capacitance determination process. Alternatively stated, the design system 100 can apply the 3D capacitance determination process based on a first step size parameter to generate a first netlist including one or more capacitance results associated with the region 420, while applying the 3D capacitance determination process based on a second step size parameter greater than the first step size parameter to generate a second netlist comprising one or more capacitance results associated with the one or more second regions.
In some embodiments, the first step size parameter or the second step size parameter associated with different accuracy settings can be preset and prestored in a database in the design system 100. In some embodiments, the IC designer can also manually configure the one or more step size parameters for the first capacitance extraction or the second capacitance extraction via the I/O interfaces 130 of the design system 100. In some embodiments, the design system 100 can also run the program to determine one or more step size parameters for the first capacitance extraction or the second capacitance extraction by an artificial intelligence (AI) or machine learning (ML) model.
3D field solvers (3DFS) are 3D RC extraction tools to perform 3D field solve simulations. The simulations use Maxwell's equations to calculate electromagnetic fields, and the electromagnetic fields to calculate the corresponding electrical parameters such as parasitic capacitance, resistance, and/or inductance. In some embodiments, random walk technologies can be applied in a 3D field solver to solve the equations in 3D and can be used to compute capacitances between any pair of interconnects in a layout with high accuracies. By applying the random walk method for extracting layout parasitic capacitances, the 3D field solvers allow users to specify accuracy bounds and calculate the results at user-specified accuracies. For example, different accuracy settings may be associate with different step size parameters (e.g., the maximum step size for the random walk).
For example, the capacitance value CA1B2 between portions A1 and B2 illustrated in
C
A1B2
=Q
A
/V
B
Q
A
=∫∫εE(rk)dSk
E(rk)=∫∫GE(rk−rk−1)V(rk)dSk
V(rk)=∫∫GV(rk+1−rk)Vk+1dSk+1,
where VB denotes the given boundary condition, QA denotes the charge to be calculated by the random walk including a succession of random steps, rk denotes the kth step size of the random walk, Sk denotes the area (e.g., a Gaussian integration surface) of the rectangle associated with the kth random step of the random walk, GE and GV denote the Green's functions, and ε denotes the dielectric parameter between portions A1 and B2.
As shown in
Reference is made to
As shown in
In some embodiments, in the area outside of the region 610, a 2.5-D capacitance determination process may be performed by a rule-based capacitance extractor to quickly and efficiently calculate the capacitance values. For example, the capacitance values CBD, CDE, CEF can be respectively calculated based on corresponding unit capacitance values and the length values of structures D, E, and F. The unit capacitance values may depend on different metal width values and space combinations and be obtained based on the predefined rules by the 2.5-D capacitance extractor. For example, the capacitance value CBD between structures B and D, as shown in
C
BD=UnitCap1×L1,
where UnitCap1 denotes a corresponding unit capacitance value obtained based on the metal width W1 of the structure D and space combination S1 between structures B and D, and L1 denotes the length of the structure D. Similarly, the capacitance values CDE and CEF respectively between the structures D and E and between structures E and F can be calculated and obtained using similar equations:
C
DE=UnitCap2×L2
C
EF=UnitCap3×L3,
where UnitCap2 denotes a corresponding unit capacitance value obtained based on the metal width W2 of the structure E and space combination S2 between structures D and E, UnitCap3 denotes a corresponding unit capacitance value obtained based on the metal width W3 of the structure F and space combination S3 between structures E and F, L2 denotes the length of the structure E, and L3 denotes the length of the structure F.
On the other hand, in the area within the region 610, a 3D capacitance determination process, as described herein, may be performed based on a selected step size parameter.
Reference is made to
In some embodiments, the design system 100 can apply a first accuracy setting (e.g., a high accuracy setting) for parasitic capacitance between portion A1 and portion B1, which are both located within the region 710, and apply a second accuracy setting (e.g., a low accuracy setting) for parasitic capacitances between portion A1 and portion B2, between portion A2 and portion B1, and between portion A2 and portion B2, of which at least one of the portions are within the region 720.
For example, if the 3D capacitance extractor is applied to both regions 710 and 720, the design system 100 may run the program to calculate, based on a first step size parameter, a first capacitance parameter CA1B1 associated with the portion A1 and the portion B1 within the region 710. In addition, the design system 100 may run the program to calculate, based on a second step size being different from the first step size, a second capacitance parameter CA2B2 associated with the portion A2 and the portion B2 within the region 720, a third capacitance parameter CA1B2 associated with the portion A1 and the portion B2, and a fourth capacitance parameter CA2B1 associated with the portion A2 and the portion B1.
Then, the 3D capacitance extractor can calculate a total capacitance value CAB associated with the structure A and the structure B based on the first capacitance parameter CA1B1, the second capacitance parameter CA2B2, the third capacitance parameter CA1B2, and the fourth capacitance parameter CA2B1 by the following equation:
C
AB
=C
A1B1
+C
A1B2
+C
A2B1
+C
A2B2
Reference is made to
By various methods described above, results of the capacitance extractions using different accuracy settings can be obtained. It is noted that, while one target region (e.g., the region 410, 610 or 710) associated with a high accuracy configuration is determined in the exemplary embodiments of
In some embodiments, when performing capacitance extractions, the design system 100 can combine different methods described above in
After the capacitance extractions, the design system 100 can construct a netlist for the semiconductor layout based on the results of the capacitance extractions (e.g., a first capacitance extraction within a target region and a second capacitance extraction outside of the target region). Particularly, in some embodiments, the design system 100 can record multiple capacitance components (e.g., capacitance values CAB, CBD, CDE, and CEF in
Based on the constructed netlist, the design system 100 can perform the post-layout gate-level simulation and check whether the design meets the desired specification with the parasitic capacitances and resistances in the IC. The processes described above can be repeated until the design specification can be satisfied.
Reference is made to
At the operation 910, the design system 100 receives a semiconductor layout (e.g., the semiconductor layout 300 in
At the operation 930, the design system 100 performs capacitance extractions based on different accuracies in different regions by one or more capacitator extractors. For example, the one or more capacitator extractors can perform a first capacitance extraction on one or more first regions and a second capacitance extraction on one or more second regions, in which a resolution of the second capacitance extraction is less than a resolution of the first capacitance extraction.
At the operation 940, the design system 100 constructs a netlist for the semiconductor layout based on results of the capacitance extractions.
At the operation 950, the design system 100 modifies the semiconductor layout based on the constructed netlist (e.g., netlist 1000 in
At the operation 960, after the design layout is finalized, an integrated circuit can be fabricated based on the modified semiconductor layout. For example, in the IC fabrication process, electron-beam (e-beam) lithography can be used for transferring an IC pattern including features of the semiconductor layout to an e-beam sensitive resist layer coated on a semiconductor substrate. In some embodiments, a tape-out of the modified IC pattern for mask making or e-beam writing can be generated. The tape-out represents an IC pattern in a format that can be used for mask making or e-beam writing. The tape-out can be formed based on the modified semiconductor layout generated at the operation 950.
In some embodiments, the IC fabrication process can proceed to an operation for the fabrication of a mask or a set of masks based on the tape-out. The mask(s) are used in a photolithography process to transfer the features to the semiconductor substrate. For example, an e-beam or a mechanism of multiple e-beams can be used to form a pattern on a mask (photomask or reticle) based on the modified semiconductor layout. The mask can be formed using various suitable technologies. For example, the mask may be a transmissive mask or a reflective mask, such as an extreme ultraviolet mask (EUV) mask, but the present disclosure is not limited thereto.
The above illustrations include exemplary operations, but the operations are not necessarily performed in the order shown. Operations may be added, replaced, changed order, and/or eliminated as appropriate, without departing from the spirit and scope of the present disclosure.
By applying different extraction accuracies in different regions in the layout to conduct capacitance extractions, the EDA tools running on the design system can achieve a desired balance between the accuracy, the processing time, and the computing resources required for capacitance extractions, which improves the capacity and performance, while the EDA tools handle complicated designs, such as IC layouts having 101-stages ring oscillator, SRAM bit cell array, etc.
In some embodiments, a method for capacitance extraction is disclosed that includes performing a first capacitance extraction on one or more first regions of a semiconductor layout; performing a second capacitance extraction on one or more second regions of the semiconductor layout, a resolution of the second capacitance extraction being less than a resolution of the first capacitance extraction; constructing a netlist for the semiconductor layout based on results of the first capacitance extraction and of the second capacitance extraction; and modifying the semiconductor layout based on the netlist, the modified semiconductor layout being used to fabricate an integrated circuit.
In some embodiments, a system is also disclosed that includes a processing unit and one or more memory units storing instructions for one or more programs executable by the processing unit to perform operations. The operations include: receiving a semiconductor layout; identifying a plurality of regions within the semiconductor layout; performing capacitance extractions based on different accuracies on the plurality of regions; constructing a netlist for the semiconductor layout based on results of the capacitance extractions; and modifying the semiconductor layout based on the netlist, the modified semiconductor layout being used to fabricate an integrated circuit.
In some embodiments, a non-transitory computer-readable storage medium is also disclosed. The non-transitory computer-readable storage medium stores a set of instructions that are executable by one or more processors of a device to cause the device to perform a method. The method includes: performing a first capacitance extraction having a first accuracy on one or more first regions of a semiconductor layout; performing a second capacitance extraction having a second accuracy being different from the first accuracy on one or more second regions outside of the one or more first regions; constructing a netlist for the semiconductor layout based on results of the first capacitance extraction and of the second capacitance extraction; and modifying the semiconductor layout based on the netlist, the modified semiconductor layout being used to fabricate an integrated circuit.
The foregoing outlines features of several embodiments so that those skilled in the art may better understand the aspects of the present disclosure. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they may make various changes, substitutions, and alterations herein without departing from the spirit and scope of the present disclosure.
This application claims the benefit of U.S. Provisional Application No. 63/111,785, filed on Nov. 10, 2020, entitled “METHOD FOR ESTIMATING CHARACTERISTICS OF A SEMICONDUCTOR DEVICE,” the entirety of which is incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
63111785 | Nov 2020 | US |