This application claims priority under 35 U.S.C. § 119 from Korean Patent Application No. 10-2022-0043612 filed on Apr. 7, 2022 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety.
The present disclosure relates to a cell library, a computing system for designing an integrated circuit by considering a local layout effect, and a method for designing the integrated circuit. An integrated circuit may be designed on the basis of (i.e., based on) standard cells. Specifically, a layout of the integrated circuit may be generated by placing the standard cells that define the integrated circuit and routing the placed standard cells.
As a semiconductor process is miniaturized, standard cells including patterns formed in a plurality of layers may not only include patterns of reduced size, but also the size of standard cells may be reduced. Accordingly, the standard cells included in the integrated circuit may be greatly affected by a peripheral structure (i.e., layout) thereof, and the influence of such peripheral layout may be referred to as a local layout effect (LLE) or a layout-dependent effect (LDE).
Aspects of the present disclosure provide a cell library that stores an amount of change in delay of a standard cell according to an amount of change in threshold voltage of a transistor of the standard cell, and an amount of change in delay of the standard cell according to an amount of change in mobility of the transistor of the standard cell.
Aspects of the present disclosure also provide a computing system for designing an integrated circuit that is capable of analyzing the timing of the integrated circuit regardless of the type of local layout effect.
Aspects of the present disclosure also provide a method for designing an integrated circuit that is capable of analyzing the timing of the integrated circuit regardless of the type of local layout effect.
According to some embodiments of the present disclosure, a cell library is stored in a computer-readable storage medium, wherein the cell library is configured to store: first delay information of a standard cell according to a threshold voltage of a transistor included in the standard cell; and second delay information of the standard cell according to mobility of the transistor included in the standard cell.
According to some embodiments of the present disclosure, a computing system includes a memory configured to store a program that designs an integrated circuit including a standard cell that includes a transistor; and a processor. The processor is configured to execute the program to: receive input data of the standard cell; measure an amount of change in first delay of the standard cell according to an amount of change in threshold voltage of the transistor; measure an amount of change in second delay of the standard cell according to the amount of change in mobility of the transistor; and store the amount of change in the first delay and the amount of change in the second delay, in a cell library.
According to some embodiments of the present disclosure, a computing system includes a memory configured to store a program for designing an integrated circuit; and a processor configured to execute the program to: place and route a plurality of standard cells that define the integrated circuit to generate layout data of the integrated circuit; and calculate delay of the integrated circuit, using an amount of change in delay of each of the plurality of standard cells according to an amount of change in threshold voltage of transistors included in each of the plurality of standard cells, and an amount of change in delay of each of the plurality of standard cells according to an amount of change in mobility of the transistors included in each of the plurality of standard cells.
According to some embodiments of the present disclosure, a method for designing an integrated circuit includes receiving input data of a standard cell including a transistor; adding a threshold voltage of the transistor and a mobility of the transistor to the input data as variables; changing the variables and measuring, using the changed variables, a first amount of change in delay of the standard cell according to an amount of change in threshold voltage of the transistor, and a second amount of change in delay of the standard cell according to an amount of change in mobility of the transistor; and storing the first and second amounts of change in the delay, in a cell library.
However, aspects of the present disclosure are not restricted to the those set forth above. The above and other aspects of the present disclosure will become more apparent to one of ordinary skill in the art to which the present disclosure pertains by referencing the detailed description of the present disclosure given below.
The above and other aspects and features of the present disclosure will become more apparent by describing in detail example embodiments thereof referring to the attached drawings, in which:
Referring to
The processor 110 may be configured to execute a command that performs at least one of various behaviors/operations for designing the integrated circuit. The processor 110 may include, for example, a core capable of executing arbitrary commands such as a micro-processor, an application processor (AP), a digital signal processor (DSP), and a graphics processing unit (GPU).
The processor 110 may communicate with the memory 130, the I/O device 150, and the storage device 170 through the bus 190. The processor 110 may drive a Placement & Routing (P&R) module 210, a simulation module 220, and a Static Timing Analysis (STA) module 230 loaded into the memory 130 to design the integrated circuit. The P&R module 210, the simulation module 220, and the STA module 230 may be a program or software module including a plurality of commands executed by the processor 110, and may be stored in a non-transitory computer-readable storage medium.
The memory 130 may store the P&R module 210, the simulation module 220, and the STA module 230. The P&R module 210, the simulation module 220, and the STA module 230 may be loaded from, for example, the storage device 170. The memory 130 may be a volatile memory such as SRAM or DRAM, or may be a non-volatile memory such as PRAM, MRAM ReRAM, and FRAM NOR flash memory.
The P&R module 210, the simulation module 220, and the STA module 230 will be described in detail using
The I/O device 150 may control user input and output from the user interface devices. For example, the I/O device 150 includes an input device such as a keyboard, a mouse, and/or a touch pad, and may receive input data that defines the integrated circuit. For example, the I/O device 150 includes an output device such as a display and/or a speaker, and may display a placement result, a routing result, a timing analysis result, and/or the like.
The storage device 170 may store various data related to the P&R module 210, the simulation module 220, and the STA module 230. The storage device 170 may store the cell library. The storage device 170 may include, for example, a memory card (MMC, eMMC, SD, MicroSD, etc.), a solid state drive (SSD), a hard disk drive (HDD), and/or the like.
Referring to
The storage device 170 may include a cell library 270. The cell library 270 may store delay information 271 of each standard cell in a specific environment (e.g., with respect to the specific environment of each standard cell), delay information 272 according to (e.g., based on) a threshold voltage of each standard cell, delay information 273 according to (e.g., based on) the mobility of each standard cell, and a cell library database 274, which is information about the standard cells used to generate the layout of the integrated circuit. For convenience of description, the delay information 272 may be referred to herein as “first” delay information and the delay information 273 may be referred to herein as “second” delay information. Moreover, the storage device 170 is an example of a non-transitory computer-readable storage medium.
Referring to
The standard cells that define the integrated circuit may be placed and routed according to the netlist D10 to generate layout data D20 of the integrated circuit (S20). The placer 211 of the P&R module 210 may access the cell library database 274 to place standard cells according to the netlist D10. The router 212 of the P&R module 210 may perform routing on the standard cells placed by the placer 211 to generate the layout data D20. The router 212 may store the layout data D20 in the cell library 270. The layout data D20 may be, for example, data of a Graphic Design System (GDS) II type.
A Local Layout Effect (LLE) parameter D30 may be extracted from the layout data D20 (S30). The P&R module 210 may extract the LLE parameter D30 from each standard cell included in the layout data D20. The P&R module 210 may extract the LLE parameter D30 for each transistor included in each standard cell. At this time, the P&R module 210 may extract the LLE parameter D30 for each transistor placed at a boundary of each standard cell. The P&R module 210 may receive the netlist D10 to output the layout data D20 and the LLE parameter D30. The P&R module 210 may store the LLE parameter D30 in the cell library 270.
The LLE parameter D30 may be a parameter that causes the local layout effect generated from the layouts placed around the standard cell. The LLE parameter D30 may include, for example, presence or absence of an active pattern placed around the standard cell, a shape of the active pattern, a size of the active pattern, a distance to the active pattern, and/or the like. The LLE parameter D30 may include, for example, a distance from the standard cell to the active pattern of a tapered shape, a width of the nanosheet of the active pattern adjacent to the standard cell, and/or the like.
Timing analysis of the integrated circuit may be performed (S40). The STA module 230 may calculate the delay of the standard cell included in the integrated circuit. The STA module 230 may generate a timing report D50 that includes a delay of the standard cell. The STA module 230 may receive the layout data D20, the LLE parameter D30, the LLE model D40, and the delay information 271, 272 and 273 stored in the cell library 270 to output the timing report D50. The STA module 230 may further determine whether the delay of the calculated standard cell satisfies a set (e.g., predetermined) condition to generate the timing report D50.
The integrated circuit may include the plurality of standard cells. The STA module 230 may calculate the delay of each standard cell included in the integrated circuit to generate the timing report D50 including the same. The STA module 230 may calculate the delay of the integrated circuit on the basis of the delay of each standard cell and generate the timing report D50 further including the same. The STA module 230 may further determine whether the delay of the integrated circuit satisfies the set condition to generate the timing report D50. This will be described in detail using
A method for designing an integrated circuit according to some embodiments may further include a step of performing Engineering Change Orders (ECOs) according to the timing analysis performed in step S40. Alternatively, the method for designing the integrated circuit according to some embodiments may perform the placement and routing behaviors/operations of the standard cells of step S20 again according to the timing analysis performed in step S40. For example, clock tree synthesis or optimization included in placement and routing behaviors/operations of the standard cells may be performed. As still another example, the metal routing included in the placement and routing behaviors of the standard cells may be modified.
Referring to
The STA module 230 may receive the LLE model D40 through, for example, the I/O device 150 of
The LLE calculator 231 of the STA module 230 may input the LLE parameter D30 to the LLE model D40 to calculate the amount of change in threshold voltage of the standard cell and the amount of change in mobility of the standard cell (S42). The amount of change in threshold voltage of the standard cell may include the amount of change in threshold voltage of each transistor placed at the boundary of the standard cell. The amount of change in mobility of the standard cell may include the amount of change in mobility of each transistor placed at the boundary of the standard cell.
The timing analyzer 232 of the STA module 230 may calculate the delay of the standard cell (S43). The timing analyzer 232 may calculate the delay of the standard cell, by utilizing the delay information 271 in the specific environment of the standard cell, the delay information 272 according to the threshold voltage of the standard cell and the delay information 273 according to the mobility of the standard cell, which are stored in the cell library 270, and the amount of change in threshold voltage of the standard cell and the amount of change in mobility of the standard cell calculated in step S42. The delay information 272 according to the threshold voltage of the standard cell stored in the cell library 270 may include the amount of change in the delay of the standard cell according to the amount of change in threshold voltage of each transistor placed at the boundary of the standard cell. The delay information 273 according to the mobility of the standard cell stored in the cell library 270 may include the amount of change in the delay of the standard cell according to the amount of change in mobility of each transistor placed at the boundary of the standard cell.
The timing analyzer 232 may calculate the delay of the standard cell using Formula 1 for the standard cell. Formula 1 represents the delay of one standard cell. In Formula 1, n means the number of transistors placed at the boundary of the standard cell.
The timing analyzer 232 may calculate the delay of the standard cell by adding delay (Delay orig) of the standard cell in a specific environment, a product of an amount of change
in the delay of the standard cell according to the amount of change in threshold voltage of each transistor (tr_i) placed at the boundary of the standard cell and an amount of change (ΔVth, tr_i) in the threshold voltage of each transistor (tr_i) placed at the boundary of the standard cell, and a product of an amount of change
in the delay of the standard cell according to the amount of change in mobility of each transistor (tr_i) placed at the boundary of the standard cell and an amount of change (Δμ0, tr_i) in the mobility of each transistor (tr_i) placed at the boundary of the standard cell.
The timing analyzer 232 may receive the delay (Delay orig) 271 of the standard cell in the specific environment, the amount of change
272 in the delay of the standard cell according to the amount of change in threshold voltage of each transistor placed at the boundary of the standard cell, and the amount of change
273 in the delay of the standard cell according to the amount of change in mobility of each transistor placed at the boundary of the standard cell from the cell library 270, and may receive the amount of change (ΔVth, tr_i) in the threshold voltage of each transistor placed at the boundary of the standard cell, and the amount of change (Δβ0, tr_i) in the mobility of each transistor placed at the boundary of the standard cell from the LLE calculator 231. The LLE calculator 231 may input the LLE parameter to the LLE model to calculate the amount of change (ΔVth, tr_i) in the threshold voltage of each transistor placed at the boundary of the standard cell, and the amount of change (Δμ0, tr_i) in the mobility of each transistor placed at the boundary of the standard cell.
The integrated circuit may include a plurality of standard cells. The STA module 230 may perform steps S41 to S43 for each standard cell. Specifically, the P&R module 210 may extract the LLE parameter D30 from each transistor placed at the boundary of each standard cell, and the LLE calculator 231 may calculate the amount of change in threshold voltage and the amount of change in mobility of each transistor placed at the boundary of each standard cell by the use of the LLE model D40. The timing analyzer 232 may calculate the delay of each standard cell, by the use of the delay information 271 in the specific environment of each standard cell, the delay information 272 according to the threshold voltage of each standard cell and the delay information 273 according to the mobility of each standard cell stored in the cell library 270, and the amount of change in threshold voltage of each standard cell and the amount of change in mobility of each standard cell calculated by the LLE calculator 231. The delay information 272 according to the threshold voltage of each standard cell stored in the cell library 270 may include the amount of change in the delay (e.g., a first delay) of each standard cell according to the amount of change in threshold voltage of each transistor placed at the boundary of each standard cell. The delay information 273 according to the mobility of each standard cell stored in the cell library 270 may include the amount of change in the delay (e.g., a second delay) of each standard cell according to the amount of change in mobility of each transistor placed at the boundary of each standard cell.
Referring to
The simulation module 220 may add the threshold voltage of each transistor and the mobility of each transistor to the input data D11 as variables (S120). At this time, the simulation module 220 may perform step S120 on each transistor placed at the boundary of the standard cell.
The simulation module 220 may measure the amount of change in the delay of the standard cell according to the amount of change in the threshold voltage of each transistor, and the amount of change in the delay of the standard cell according to the amount of change in mobility of each transistor (S130). At this time, the simulation module 220 may perform step S130 on each transistor placed at the boundary of the standard cell.
The simulation module 220 may store the amount of change in the delay of the standard cell according to the amount of change in threshold voltage of each transistor, and the amount of change in the delay of the standard cell according to the amount of change in the mobility of each transistor, in the cell library 270 (S140). The amount of change in the delay of the standard cell according to the amount of change in the threshold voltage of each transistor may be stored as the delay information 272 according to the threshold voltage of the standard cell of the cell library 270. The amount of change in the delay of the standard cell according to the amount of change in the mobility of each transistor may be stored as the delay information 273 according to the mobility of the standard cell of the cell library 270.
The method for designing the integrated circuit according to some embodiments may characterize (e.g., define) the local layout effect of the standard cell by the threshold voltage of the transistor and the mobility of the transistor. That is, regardless (e.g., independent) of the type of local layout effect, the local layout effect of the standard cell may be characterized by the threshold voltage of the transistor and the mobility of the transistor. Therefore, it is not necessary to devise a method for analyzing the timing of standard cell according to the type of local layout effect. Moreover, it is not necessary to perform the characterization behavior/operation for each type of local layout effect.
Referring to
Referring to
For example, the variable 10 may be added to the input data D11, using Layout Versus Schematic (LVS).
Referring to
Referring to
Referring to
Referring to
Referring to
Subsequently, the amount of change in the delay of the standard cell according to the amount of change in threshold voltage and the amount of change in the delay of the standard cell according to the amount of change in the mobility may be repeatedly measured on the second to fourth transistors tr2, tr3, and tr4. Referring to
The cell library 270 may store the amount of change in the delay of the standard cell when the amount of change (22) in the threshold voltage of the third transistor tr3 is 50 mV, the amount of change in the delay of the standard cell when the amount of change (32) in the mobility of the second transistor tr2 is −0.1, the amount of change in the delay of the standard cell when the amount of change (22) in the threshold voltage of the fourth transistor tr4 is 50 mV, and the amount of change in the delay of the standard cell when the amount of change (32) in the mobility of the fourth transistor tr4 is −0.1.
Referring to
Behaviors/operations S110 to S140 of
Referring to
Referring to
The power analysis module 240 may calculate the power of the standard cell included in the integrated circuit. The power analysis module 240 may generate a power report D70 including the power of the standard cell. The power analysis module 240 may receive the amount of change in the threshold voltage of the standard cell and the amount of change in the mobility of the standard cell calculated by inputting the LLE parameter D30 to the LLE model D40 from the LLE calculator 231, and the power information 281, 282 and 283 stored in the cell library 270, and output the power report D70. The power analysis module 240 may further determine whether the calculated power of the standard cell satisfies a set condition to generate the power report D70.
The integrated circuit may include the plurality of standard cells. The power analysis module 240 may calculate the power of each standard cell included in the integrated circuit to generate the power report D70 including the same. The power analysis module 240 may calculate the power of the integrated circuit on the basis of the power of each standard cell, and may generate the power report D70 further including the same. The power analysis module 240 may further determine whether the power of the integrated circuit satisfies the set condition to generate the power report D70.
The method for designing the integrated circuit according to some embodiments may further include a step of performing ECOs according to the power report D70. Alternatively, the method for designing the integrated circuit according to some embodiments may perform the placement and routing behaviors of the standard cell of step S20 according to the power report D70 again. For example, clock tree synthesis or optimization included in the placement and routing behaviors of the standard cells may be performed. As another example, the metal routing included in the placement and routing behaviors of the standard cells may be modified.
The power analysis module 240 may calculate the power of the standard cell. The power analysis module 240 may calculate the power of the standard cell by the use of power information 281 in a specific environment of the standard cell, power information 282 according to the threshold voltage of the standard cell, and power information 283 according to the mobility of the standard cell, which are stored in the cell library 270, and the amount of change in threshold voltage of the standard cell and the amount of change in mobility of the standard cell calculated by inputting the LLE parameter D30 to the LLE model D40. The power information 282 according to the threshold voltage of the standard cell stored in the cell library 270 may include the amount of change in the power of the standard cell according to the amount of change in threshold voltage of each transistor placed at the boundary of the standard cell. The power information 283 according to the mobility of the standard cell stored in the cell library 270 may include the amount of change in the power of the standard cell according to the amount of change in mobility of each transistor placed at the boundary of the standard cell.
The power analysis module 240 may calculate the power of the standard cell using Formula 2 for the standard cell. Formula 2 represents the power of one standard cell. In Formula 2, n means the number of transistors placed at the boundary of the standard cell.
The power analysis module 240 may calculate the power of the standard cell, by adding power (Power orig) of a standard cell in a specific environment, a product of an amount of change
in power of the standard cell according to an amount of change in threshold voltage of each transistor (tr_i) placed at the boundary of the standard cell and an amount of change (ΔVth, tr_i) in threshold voltage of each transistor (tr_i) placed at the boundary of the standard cell, and a product of an amount of change
in power of the standard cell according to the amount of change in mobility of each transistor (tr_i) placed at the boundary of the standard cell and an amount of change (Δμ0, tr_i) in mobility of each transistor (tr_i) placed at the boundary of the standard cell.
The power analysis module 240 may receive the power (Power orig) 281 of the standard cell in a specific environment, the amount of change
282 (e.g., a first amount of change) in power of the standard cell according to the amount of change in threshold voltage of each transistor placed at the boundary of the standard cell, and the amount of change
283 (e.g., a second amount of change) in power of the standard cell according to the amount of change in mobility of each transistor placed at the boundary of the standard cell from the cell library 270, and may receive the amount of change (ΔVth, tr_i) in threshold voltage of each transistor placed at the boundary of the standard cell, and the amount of change (Δμ0, tr_i) in mobility of each transistor placed at the boundary of the standard cell from the LLE calculator 231. The LLE calculator 231 may input the LLE parameter D30 to the LLE model D40, and calculate the amount of change (ΔVth, tr_i) in threshold voltage of each transistor placed at the boundary of the standard cell, and the amount of change (Δμ0, tr_i) in mobility of each transistor placed at the boundary of the standard cell.
The integrated circuit may include the plurality of standard cells. The power analysis module 240 may calculate the power on each standard cell. Specifically, the P&R module 210 may extract the LLE parameter D30 from each transistor placed at the boundary of each standard cell, and the LLE calculator 231 may calculate the amount of change in threshold voltage and the amount of change in mobility of each transistor placed at the boundary of each standard cell, using the LLE model D40. The power analyzer 232 may calculate power of each standard cell by the use of power information 281 in a specific environment of each standard cell, power information 282 according to the threshold voltage of each standard cell, and power information 283 according to mobility of each standard cell, which are stored in the cell library 270, and the amount of change in threshold voltage of each standard cell and the amount of change in mobility of each standard cell calculated by the LLE calculator 231. The power information 282 according to the threshold voltage of each standard cell stored in the cell library 270 may include the amount of change in power of each standard cell according to the amount of change in threshold voltage of each transistor placed at the boundary of each standard cell. The power information 283 according to the mobility of each standard cell stored in the cell library 270 may include the amount of change in power of each standard cell according to the amount of change in mobility of each transistor placed at the boundary of each standard cell.
Referring to
The simulation module 220 may add the threshold voltage of each transistor and the mobility of each transistor to the input data D11 as variables (S220). At this time, the simulation module 220 may perform step S220 on each transistor placed at the boundary of the standard cell.
The simulation module 220 may measure the amount of change (282) in power of the standard cell according to the amount of change in threshold voltage of each transistor and the amount of change (283) in power of the standard cell according to the amount of change in mobility of each transistor (S230). At this time, the simulation module 220 may perform step S230 on each transistor placed at the boundary of the standard cell.
The simulation module 220 may store the amount of change (282) in power of the standard cell according to the amount of change in threshold voltage of each transistor, and the amount of change (283) in power of the standard cell according to the amount of change in mobility of each transistor in the cell library 270 (S240).
The method for designing the integrated circuit according to some embodiments may characterize the power of the standard cell by the threshold voltage of the transistor and the mobility of the transistor.
Referring to
A semiconductor device on which an integrated circuit is mounted using the mask may be fabricated (S60). Specifically, by performing various semiconductor processes on a semiconductor substrate such as a wafer using a plurality of masks, a semiconductor device in which an integrated circuit is mounted may be formed. For example, a process using the mask may mean a patterning process through a lithography process. A desired pattern may be formed on the semiconductor substrate or the material layer through such a patterning process. On the other hand, the semiconductor process may include a vapor deposition process, an etching process, an ion process, a cleaning process, and/or the like. Further, the semiconductor process may include a packaging process of mounting the semiconductor element on the printed circuit board (PCB) and sealing it with a sealing material, and/or may include a test process of testing the semiconductor element or the package.
In some embodiments, a computer program product comprising a non-transitory computer readable storage medium (e.g., the storage device 170 (
In concluding the detailed description, those skilled in the art will appreciate that many variations and modifications may be made to the example embodiments without departing from the scope of the invention. Therefore, the disclosed example embodiments of the disclosure are used in a generic and descriptive sense only and not for purposes of limitation.
Number | Date | Country | Kind |
---|---|---|---|
1020220043612 | Apr 2022 | KR | national |