| 5416722 | System and method for compacting integrated circuit layouts | Edwards | 716/2 | |
| 5452227 | Method and apparatus for converting a programmable logic device designed into a selectable target gate array design | Kelsey et al. | 716/3 | |
| 5459673 | Method and apparatus for optimizing electronic circuits | Carmeau et al. | 716/6 | |
| 5526278 | Method and apparatus for converting field-programmable gate array implementations into mask-programmable logic cell implementations | Powell | 716/16 | |
| 5543736 | Gate array architecture and layout for deep space applications | Gardner et al. | 326/101 | |
| 5553274 | Vertex minimization in a smart optical proximity correction system | Liebmann | 716/21 | |
| 5563801 | Process independent design for gate array devices | Lee et al. | 716/16 | |
| 5610831 | Semiconductor element layout method employing process migration | Matsumoto | 716/19 | |
| 5666288 | Method and apparatus for designing an integrated circuit | Jones et al. | 716/17 | |
| 5754826 | CAD and simulation system for targeting IC designs to multiple fabrication processes | Gamal et al. | 703/14 | |
| 5815405 | Method and apparatus for converting a programmable logic device representation of a circuit into a second representation of the circuit | Baxter | 716/3 | |
| 5867395 | Gate netlist to register transfer level conversion tool | Watkins et al. | 716/18 | |
| 5898194 | Integrated circuit cell architecture and routing scheme | Gheewala | 257/206 | |
| 5936868 | Method for converting an integrated circuit design for an upgraded process | Hall | 716/4 | |
| 6189131 | Method of selecting and synthesizing metal interconnect wires in integrated circuits | Graef et al. | 716/8 | |
| 6189132 | Design rule correction system and method | Heng et al. | 716/11 |
Integrated circuit design, and, more particularly, a simplified method of designing integrated circuits based on sub-components of cells and facilitating the transformation of the design between different foundries.
Modern electronic circuits and systems are build on the foundation of discrete semiconductor devices and integrated circuits. An integrated circuit consists of both active and passive elements formed on a silicon substrate. Metal layers are proved to interconnect the electrically isolated active and passive elements, defining particular logic and circuit functions.
A Metal Oxide Semiconductor (“MOS”) integrated circuit is one of the most popular type of integrated circuits in digital applications, where only an on-off transistor response is required. A particularly useful unit cell for the integrated circuit is a Complementary MOS (“CMOS”), which uses both n-channel and p-channel MOS field effect transistors (“FET”) on adjacent regions of the chip. CMOS is one of the most widely used unit cells for various integrated circuits. One of the advantages of using CMOS is that the standard dc power dissipation can be reduced to very small levels.
A gate array is an array of basic transistor cells, such as CMOS transistors, aligned regularly on a semiconductor substrate to form a generic layer. A first metal layer is added over the generic layer to provide interconnections between particular transistors to define particular logic gates. Two or more metal layers connect the logic gates to provide the circuit functions required by a customer. The metal layers are separated by insulating layers. The metal layers above the generic layer, are referred to as “personalization” layers.
Computer aided design (“CAD”) systems are widely used in designing integrated circuits (“IC”), such as gate arrays, standard-cell based designs and other types of ICs. With the CAD system, a designer can access a library of pre-designed logical functional blocks, (referred to as “cells”) of particular logic functions, such as NAND, NOR or AND logic circuits, to more rapidly develop a high level design. The cells may be laid out and connected by metal personalization layers to create an IC accomplishing the desired functions. Each cell of the cell library is usually treated as a discrete block and the minimum unit of IC design.
The IC fabrication process at a given foundry may differ from that at other foundries. For example, a more advanced fabrication facility may fabricate an IC with interconnections having narrower line widths and smaller spaces between adjacent layers than a less advanced facility. Transistors fabricated with smaller geometries generally have faster switching speeds and lower power than transistors having wider line widths. Depending on the foundry's fabrication technologies and techniques, and the materials used, different physical geometric configuration constraints apply. These constraints are commonly referred to as “geometric design rules” or more simply, “design rules.” Design rules include dimensional specifications for the layout of a design such as minimum spacing between transistors, minimum separation between conductors to prevent shorting, minimum metal width, contact size and spacing between the contacts and minimum transistor length and width. For the IC to be fabricated at a different foundry with different design rules, the IC must be redesigned. Since this transformation into different design rules is a non-uniform transformation, it is a time consuming process increasing fabrication costs. For example, to transform an IC design based on cells to a different foundry with different design rules, each of the cells in the cell library, which typically includes several hundred cells, needs to be individually redesigned in accordance with the new design rules. Despite this cost, redesign of the IC is often necessary since fabrication at multiple foundries may be required to meet demand. Use of multiple foundries also reduces the risk of a supply shortage due to manufacturing problems at a particular foundry. A foundry may close necessitating the transfer of production to another foundry, as well.
Attempts have been made to facilitate IC design transformation between foundries. For example, U.S. Pat. No. 5,754,826 describes a method for transforming a rudimentary or generic circuit into two or more equivalent circuits for fabrication at different foundries in accordance with the design rules of those foundries. According to the '826 patent, an IC is designed from a generic cell library. To customize an IC design to a specific foundry, a software program converts the plurality of generic cells into a plurality of cells adapted for the design rules for that specific foundry. A large number of generic cells are required.
U.S. Pat. No. 5,563,801 discloses a method for compensating for the slight variations in performance of transistors fabricated in different foundries, by adjusting the gate widths of the transistors to compensate for the performance variations. This patent only addresses part of the difficulties associated with transformation of IC designs between foundries.
A cell for defining a logic function or logic circuit of an integrated circuit is a combination of several distinct functional and geometrical sub-components, many of which are applicable to many or all cells. In accordance with the present invention, the sub-components are separately designed in accordance with a set of design rules and stored in a library in the memory of a computer, for use in designing an IC through a CAD system. The sub-components are referred to as “primitive cells”. A designer may use these primitive cells to design most of the logic functions, such as the INV, NOR, NAND logic circuits used in the design of an IC. An IC may now be viewed as a combination of a relatively small number of primitive cells, as compared to the several hundred cells in a cell library, facilitating the design of the IC and the transformation of the IC design for fabrication at another foundry in accordance with a different set of design rules.
To transform the IC design in accordance with the present invention, a corresponding library of primitive cells is designed in accordance with the design rules of the other foundry and the original primitive cells are replaced by the corresponding set of primitive cells in the IC design. Preferably, the outer length and width of each corresponding primitive cell are the same, even if the internal configuration of the corresponding primitive cells (i.e., size and number of contacts within the cells) differ. To maintain the same length and width, the outer dimension of the primitive cells are designed to meet the largest dimensional requirements of the design rules of the foundries where the IC may be fabricated. In addition, corresponding primitive cells are identified by the same name in each of the primitive cell libraries. Transformation may be readily accomplished through software by referencing the primitive cells in the primitive cell library to logic circuit cells containing those primitive cells in the logic circuit cell library used in designing the IC, such that changes in the configuration of the primitive cells automatically change the configuration of the logic circuit cells in the IC. Each type of primitive cell in the IC may individually be located and replaced by a corresponding primitive cell meeting the design rules of the second foundry through the software, as well.
The methods of the invention are described with respect to a CMOS gate array, but are equally applicable to other types of ICs.
Logic circuit cells, which are typically stored in a library and retrieved to assist in designing the IC, have been treated as the minimum unit of IC design. However, a cell is a combination of several distinct functional and geometrical sub-components, many of which are applicable to many or all of the cells. In accordance with the present invention, these sub-components are designed and stored in a library in the memory of a computer for use in designing an IC with a CAD system and for facilitating transformation of the IC design for fabrication at foundries with different design rules. The sub-components are referred to as “primitive cells”. The primitive cells may be used to design most of the typical logic circuit cells, such as INV, NOR, NAND logic circuits, as described further, below. The IC design can now be viewed as combinations of different primitive cells.
CMOS gate arrays can be viewed as a repeating pattern of horizontal pairs of CMOS transistors including active areas and horizontal pairs of gates. The outer end of the n-channel transistor overlaps a ground metal strip V
Instead of including portions for defining the metal strips V
To design the primitive cell
Between the cells on a gate array, it is also typically necessary to connect the gate electrodes of the isolation transistors with the power source metal strip V
In most cells, it is necessary to provide a connection between the active areas of the p-channel transistors and the power source metal. In
To design the primitive cell
Similarly, a connection between the active areas of the n-channel transistors and the ground metal V
It is also necessary to connect the drains of the n and p-channel transistors in most cells. This is typically accomplished by crossing metal strips over the space between the horizontal pair of transistors, referred to as the routing channel. In
It is also typically necessary to connect the adjacent gate electrodes of the n and p-channel transistors in each pair of working transistors. In
Personalization of a gate array also requires appropriate connection between the input and output nodes of the particular logic circuits though the upper metal layer. In
The primitive cells are stored in a primitive cell library in the memory of a computer for use during the design of an IC. The memory may be the hard-drive of a computer, a floppy disk, or a compact disk, or any other convenient memory device, for example.
The use of rectilinear primitive cells is preferred, to facilitate placement of the primitive cells on the grid of a CAD system during design of an IC, to facilitate conforming to the design rules of a particular foundry, and to reduce fracturing during manufacture of masks used to fabricate the IC. Non-orthogonal sides are preferably avoided.
IC's are typically designed by placement and connection of cells from a cell library on the grid of a CAD display, based on the logic design developed for the IC. As an example of designing an IC based on primitive cells according to the present invention, the design of the two input NAND logic circuit from the library of primitive cells described above, is described.
After deciding how many gates are required in the gate array, an appropriate primitive cell for defining the generic layer of a gate array, such as the primitive cell
Then, a particular logic circuit is selected for implementation on the gate array based on a schematic diagram of the circuit. The connections required to provide a particular logic function on the gate array are usually known to the designer. For example, based on the schematic diagram of the two input NAND logic circuit shown in
The four pairs of the transistors required to define the two input NAND logic circuit are selected by the designer on the gate array.
As a next step, isolation may be provided by connecting the gate electrodes
Then a primitive cell
Next, the appropriate gates may be connected to define the logic function. The primitive cell
Next, the primitive cell
Primitive cell
To connect the adjacent gate electrodes of each pair of working transistors, the primitive cell
To enable connection between the first metal layer (formed by primitive cells
The configuration of the two input NAND logic circuit is then stored in memory in a circuit cell library. Whenever such a circuit is needed in the IC, that cell is retrieved and positioned on the appropriate portion of the gate array. Other logic circuits may be similarly designed and stored in the circuit cell library.
The primitive cells of the primitive cell library are referenced or called by a logic circuit cell, such as the two input NAND logic circuit cell, in the circuit cell library through software. The cells in the circuit cell library arc referenced by the IC. Any change in a primitive cell in the primitive cell library which is part of a circuit cell will automatically be expressed in the design of the circuit cell in the circuit cell library. Any change in a circuit cell in the circuit cell library which is used in the IC, is similarly automatically expressed in the IC design. Layout software which provides such hierarchical relationships includes VIRTUOSO™, available from Cadence Design Systems, Inc., San Jose, Calif. Such hierarchical structure facilitates transformation, as described further, below.
The example of designing a two input NAND logic circuit with primitive cells in accordance with the present invention described above may be modified by placement of the primitive cells in a different order. A CMOS gate array designed through these primitive cells also has the appearance of the CMOS gate array of FIG.
Since each of the primitive cells are defined as minimum functional and geometrical units, the same set of the primitive cells can be used to design other circuits by providing the required functions in that the circuit.
The method of the present invention may be applied to the input/output (“I/O”) section of the IC, as well. Primitive cells can be designed for the I/O section in an analogous manner as described above.
As discussed above, it is often necessary and/or desirable to convert an IC design developed for one foundry under a first set of design rules to a design for fabrication by another foundry under a different set of design rules. In accordance with the present invention, transformation of an IC design for fabrication under a different set of design rules is facilitated through the use of primitive cells.
In the design of an IC for fabrication in a different foundry, all the functions described above must still be provided. The IC to be fabricated in the new foundry may therefore comprise logic circuits comprising primitive cells in the same manner as described above. However, because the second foundry has different design rules defining, for example, minimum spacing between transistors, minimum separation between conductors, minimum metal width, the size of contacts and the amount of metal around a contact (“metal surround”), certain dimensions of the primitive cells for an IC to be fabricated at a different foundry may differ from the primitive cells of the original IC. New sets of primitive cells are therefore developed meeting the design rules of other foundries. For example, the primitive cells for use in other foundries typically include contacts with different dimensions.
Preferably, not all the dimensions of the primitive cells are transformed. Transformation in accordance with the present invention is facilitated by maintaining the length and width of the metal portions of each particular type of primitive cell, in each set of primitive cells. For example, the respective primitive cells corresponding to primitive cells
Prior to transformation, it is therefore necessary to define a set of primitive cells conforming to the design rules of the new foundry. To maintain the dimensions of the outer boundaries of the primitive cells the same in the new set of primitive cells, the length and width of the primitive cell is chosen to accommodate the largest dimensions required by any of the foundries where the IC is or may be manufactured. For example, the IC may be designed for fabrication at a foundry which requires contact dimensions of 1.2×1.2 microns, contact spacing of 1.0 microns and a metal surround of 0.1 microns. However, it may also be desirable or necessary to fabricate the IC at a foundry requiring contact dimensions of 0.6×0.6 microns, contact spacing of 0.6 microns, and metal surround of 0.6 microns. Therefore, to satisfy the requirements of both foundries without having to change the length and width of the primitive cell
As discussed above, prior to transformation, a new primitive cell library is required conforming to at least the minimum requirements of the design rules of the new foundry. When converting a CMOS gate array design from one foundry to another foundry with a different set of design rules, the dimensions of the IC is preferably held constant. While the size of certain components of the circuit, such as the contacts and the gate length, may change, the distance between the centerlines of the gates is maintained. Since the distance between the centerlines of adjacent gates and the size of the IC is not changed, the metal interconnection between drains of the n and p-channel transistors layer need not be changed. As discussed above, the length and width of corresponding primitive cells preferably stays the same.
The primitive cell designed under the new set of design rules may have differences in other characteristics besides those required by the new set of design rates. For example, because the contacts
In designing the primitive cell
Since the overall dimensions of the IC in this example are not changed, it is not necessary to transform the primitive cell
The second set of primitive cells are stored in a second library in memory, as well. Corresponding primitive cells in the first and second primitive cell libraries are preferably identified by the same number or name.
After the set of primitive cells for the second foundry are designed, a first IC design may be readily transformed to an IC design for fabrication by the second foundry.
As discussed above, during the design of each logic circuit, the configuration of the primitive cells are referenced by the logic circuit design stored in the cell library through software, such that a change in the configuration of a primitive cell automatically changes the configuration of the logic circuit cells incorporating that primitive cell. Similarly, during design of the IC, the logic circuits making up the IC are referenced to the logic circuit cells stored in the cell library through the software such that a change in a circuit cell in the circuit cell library automatically changes the corresponding logic circuit in the IC. Such a hierarchical structure enables the simple, automatic transformation of the IC design for fabrication at a foundry under a different set of design rules by simply changing the reference from the circuit cell library to a new primitive cell library corresponding to the new set of design rules. Since the length and width of the primitive cells are not changed, the primitive cells for the new foundry may replace the original primitive cells, without changing the relative positions of the primitive cells in the ID logic circuit cells and on the IC and without changing the metallization layer.
In an alternative transformation method, the primitive cells in the original IC design are replaced by primitive cells for the new foundry, by primitive cell type. The cell outline of
By the method of the present invention, complex IC designs may thereby be readily transformed between foundries by creating a small set of primitive cells for each foundry and building the IC from the primitive cells. Only about eight to twenty primitive cells may be required. In contrast, to transform an IC design on a cell by cell basis, as in the prior art, each of the several hundred cells in the cell library needs to be individually created for a new set of design rules.
The I/O section of the IC can also be transformed for fabrication under a different set of design rules, in a similar manner.
After transformation, the new IC design is simulated to verify its performance. New cell delays are calculated with HSPICE®, available for AVANT!, Sunnydale, Calif., as is known in the art.
The power dissipation of the transistors of the IC may not meet requirements after transformation. The IC may then need to be further redesigned to meet requirements, as is known in the art. Power dissipation may be adjusted as described in U.S. Patent Application entitled “Parameter Adjustment in a MOS Integrated Circuit”, U.S. Ser. No. 09/376,246, filed on Aug. 18, 1999, assigned to the assignee of the present invention and incorporated by reference, herein.
After verification of the transformed design, a new set of masks for fabricating the IC is created in a conventional manner.
Although it is not explicitly described, it is apparent that the method of the present invention could be applied equally to the transformation from the smaller design rules to the larger design rules.
The present invention is also equally applicable to standard cell design. It is also applicable to reductions in scale in both the X and Y dimensions. In standard cell design, for example, the size of the IC may not maintained along either axis. In such a case, in addition to the primitive cells redesigned for use in a different foundry discussed above, primitive cells for the metallization layers may also be redesigned for fabrication in a different foundry.
While the present invention has been described with reference to the presently preferred embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention, as defined by the claims below.