The drawings accompanying and forming part of this specification are included to depict certain aspects of the invention. A clearer conception of the invention, and of the components and operation of systems provided with the invention, will become more readily apparent by referring to the exemplary, and therefore non-limiting, embodiments illustrated in the drawings, wherein like reference numbers (if they occur in more than one view) designate the same elements. The invention may be better understood by reference to one or more of these drawings in combination with the description presented herein. It should be noted that the features illustrated in the drawings are not necessarily drawn to scale.
The present invention provides a method for automatically adjusting such layout features as cell height and device channel width, etc., in integrated circuit (IC) standard library cells, as different customers may have different requirements for cell height and/or device channel widths within a same technology node.
While the invention is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail, several specific embodiments, with the understanding that the present disclosure is to be considered as an exemplification of the principles of the invention and is not intended to limit the invention to the embodiments illustrated.
Referring to
Referring to
Referring to
Referring to
The following paragraphs are devoted to describe software scripts for implementing each individual layer's layout adjustment, which incorporates both cell height and device channel width adjustments. Nevertheless, the cell and device channel width adjustments are independent of each other. If only one adjustment is needed, then the portion of the scripts for implementing the other adjustment can be disabled without affecting the needed adjustment. The software scripts are written in a Standard Verification Rule Format (SVRF), and can be run on a commercial layout verification tool, such as Calibre from Mentor Graphics Corporation according to the embodiment of the present invention. Note that any words following a double slash sign, “//”, in the same line, are comments on that line of scripts, and hence are not executable.
Following are definitions of some of the variables used in the scripts.
The above layout areas increased amounts are uniformly set according to cell height and/transistor channel width adjustment requirement, but these amounts can be arbitrarily set to other numbers without affecting Boolean logic operating principles and often times, not even layout adjustment results.
Once the power ODs are identified, they are shifted to new locations to satisfy new cell height requirements in step 320, and scripts for this step are:
Step, 330 is to find all the PMOS transistors with channel widths that need to be changed, and scripts for step 330 are:
Step 340 is to expand the PMOS transistor OD top edge upward by a predetermined amount to achieve desired width adjustment, and a script for step 340 is simply:
Similarly, step 350 is for finding NMOS transistors with channel widths that need to be changed, and scripts for step 350 are:
Step 360 is to expand the NMOS transistor OD bottom edge downward by a predetermined amount to achieve desired width adjustment, and a script for step 360 is simply:
In step 420, the PMOS gate poly is expanded upward by a predetermined amount to maintain proper extension over the expanded PMOS OD, and a script for step 420 is:
The NMOS gate poly receives similar treatment. Step 430 is to find vertical NMOS gate poly 162 as shown in
In step 440, the NMOS gate poly is expanded downward by a predetermined amount to maintain proper extension over the expanded NMOS OD, and a script for step 440 is:
Referring to
In step 520, the power pickup COs are shifted to new locations to make contacts with the shifted ODs, and scripts for step 520 are:
Referring to
Step 620 is to adjust the M1 Vdd power bar to a predetermined new width, and a script for step 620 is:
The connecting M1 lines are expanded to touch the new Vdd power bar in step 630, and scripts for step 630 are:
Similar logic operations are also applied to M1 Vss power-bar. Step 6 is to find the Vdd power bar, and scripts for step 610 are:
Step 650 is to adjust the M1 Vss power bar to a predetermined new width, and a script for step 650 is:
The connecting M1 lines are expanded to touch the new Vss power bar in step 660, and scripts for step 660 are:
Total M1 patterns are a summation of all the power bars and connecting M1:
FINAL_NW=GROW NW TOP BY ADD_PMOS_WIDTH
FINAL_PRBNDRY=GROW PRBNDRY TOP BY ADD_PMOS_WIDTH BOTTOM BY ADD_NMOS_WIDTH
Step 920 is to shift PP for Vss power OD to the new location where the final Vss power OD is shifted to. Scripts for step 920 are:
Total PP pattern is a sum of PP for PMOS OD and PP for Vss power OD:
FINAL_PP=FINAL_NW_PP OR FINAL_PS_PP
Step 1020 is to grow the NP lower edge downward for NMOS transistor OD, and scripts for step 1020 are:
The total NP pattern is a sum of NP for Vdd power OD and NP for NMOS OD:
FINAL_NP=FINAL_NW_NP OR FINAL_PS_NP
The foregoing description and drawings merely explain and illustrate the invention. The invention is not limited thereto except insofar as the appended claims are so limited, as those skilled in the art that have the disclosure before them will be able to make modifications and variations therein without departing from the scope of the invention.
The appended claims are not to be interpreted as including means-plus-function limitations, unless such a limitation is explicitly recited in a given claim using the phrase(s) “means for” and/or “step for.” Sub-generic embodiments of the invention are delineated by the appended independent claims and their equivalents. Specific embodiments of the invention are differentiated by the appended dependent claims and their equivalents.