Abstract:
A highly efficient CMOS cell structure for use in a metal mask programmable gate array, such as a sea-of-gates type gate array, is disclosed herein. In a basic cell, in accordance with one embodiment of the invention, three or more sizes of N-channel transistors and three or more sizes of P-channel transistors are used. The larger size transistors are incorporated in a drive section of a cell, while the smaller size transistors are incorporated in each compute section of a cell. The particular transistors in the compute and drive sections and the arrangements of the compute and drive sections provide a highly efficient use of silicon real estate while enabling the formation of a wide variety of macrocells to be formed.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation-in-part of copending application Ser. No. 07/524,183, filed May 15, 1990, issued as U.S. Pat. No. 5,055,716, entitled &#34;Basic Cell for BiCMOS Gate array,&#34; by Abbas El Gamal, incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     This invention relates to integrated circuits and in particular to Application Specific Integrated Circuits, which include programmable gate arrays. 
     BACKGROUND OF THE INVENTION 
     Programmable gate arrays, sometimes containing over one million transistors, are frequently used to create economical Application Specific Integrated Circuits (ASIC). A programmable gate array may be metal mask programmable, electrically programmable, or laser programmable. In a mask programmable gate array, the silicon die containing the unconnected transistors is called a master slice or master image. A user who wishes to customize a master slice uses well-known software programs and predefined logic circuit configurations (macrocells) contained in a macrocell library to selectively interconnect the transistors within the gate array to provide an ASIC. 
     In one type of metal mask programmable gate array, an array of cells is formed on a chip wherein each cell is comprised of a plurality of unconnected components. In a typical arrangement, there is a variety of types of components in each cell to enable a designer of the macrocells to create various kinds of logic circuits within each cell or by using a combination of cells. Ideally, each cell should contain an optimum number and variety of components so that the designer may create a wide variety of macrocells using the shortest interconnect wire lengths, using a minimum amount of die area, and using other techniques for achieving high performance for each macrocell. 
     In a programmable gate array structure, CMOS transistors frequently comprise the components of a cell due to the low power consumption of a CMOS device, where an N-channel and a P-channel MOSFET are connected in series between a power supply terminal and ground. Because the gates of these CMOS transistors are made common, one transistor will be off while the other transistor will be on, thus avoiding a low impedance path between the power supply terminal and ground. These CMOS transistors may be used as building blocks to create a wide variety of macrocells. 
     A conventional CMOS gate array cell is shown in FIG. 1 and comprises a number of equal size N-channel transistors 2 and a number of equal size P-channel transistors 4. Such a cell is inefficient at implementing memory elements such as D-type flip flops and SRAM cells, and its output drive capability is very limited. The transistor sizes typically used in such prior art cells are unnecessarily large for driving nets with a low fanout of, for example, one or two and are insufficient for driving nets with a high fanout exceeding, for example, five. Consequences of using unnecessarily large transistor sizes for driving low fanouts are that the relatively large input capacitances for the logic macrocells result in unnecessarily high dynamic power dissipation and also unnecessarily high loading on clock nets. 
     Since the typical transistors are too small to adequately drive a fanout exceeding five, two or more macrocells must be connected in parallel, or separate buffers must be introduced in the design. These large resulting macrocells give rise to inefficient chip area utilization and an increase in interconnect length. 
     Also in the prior art, to improve the efficiency of implementing SRAM cells, CMOS gate array cells with N-channel transistors of two different sizes have been used. The smaller size N-channel transistors are typically less than one third the size of the larger size N-channel transistors. These prior art cells may also incorporate small size P-channel transistors to further improve the efficiency of implementing SRAM cells. However, in such cells, the large transistors are still unnecessarily large for driving low fanout nets and inadequate for driving high fanout nets, while the small transistors are inadequate for driving almost all nets. Generally, for these prior art devices to drive high fanout nets, two or more macrocells must be connected in parallel or separate buffers must be introduced. 
     In the prior art, since the small size transistors used in SRAMs are typically not used for implementing logic macrocells, such as D-flip flops, these logic macrocells are area inefficient. Moreover, the input capacitance for the macrocells is generally unnecessarily high. 
     SUMMARY OF THE INVENTION 
     A highly efficient CMOS cell structure for use in a metal mask programmable gate array, such as a sea-of-gates type gate array, is disclosed herein. In a basic cell, in accordance with one embodiment of the invention, three or more sizes of N-channel transistors and three or more sizes of P-channel transistors are used. The larger size transistors are incorporated in a drive section of a cell, while the smaller size transistors are incorporated in a compute section of a cell. The larger size transistors may be used for driving high fanout nets and even used to perform logic functions, while the smaller transistors may be used to implement SRAM cells and logic functions and for driving low fanout nets. 
     The particular transistors in the compute and drive sections, and the arrangements of the transistors in the compute and drive sections, provide a highly efficient use of silicon real estate while enabling the formation of a wide variety of macrocells to be formed. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a basic prior art cell; 
     FIG. 2 shows a basic cell schematic for a preferred embodiment in a mask programmable sea-of-gates structure; 
     FIGS. 3a and 3b illustrate an SRAM built using a single compute section of the cell of FIG. 2; 
     FIGS. 4-7 show various logic circuits or macrocells which may be implemented with the cell structure and array layout shown in FIGS. 2 and 8; 
     FIGS. 8a and 8b illustrate sample tiling of the compute and drive sections in a mask programmable sea of gates structure; 
     FIG. 9 shows a preferred layout for a single compute section in the basic cell structure of FIG. 2; 
     FIGS. 10a-10c illustrate drive sections which may be used in conjunction with the compute sections of this invention; 
     FIG. 11 illustrates a basic cell in accordance with the invention; 
     FIG. 12 illustrates an ASIC device incorporating a gate array. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The preferred embodiment of the invention is illustrated in FIG. 2, where a single mask programmable gate array cell contains one or more compute sections 6, 8, 10 and may contain a drive sections 12 or share a drive section with another cell. The mask programmable gate array cell shown in FIG. 2 comprises N-channel transistors of three different sizes and P-channel transistors of three different sizes. The largest N-channel transistors 14, 15 and the largest P-channel transistors 16, 17 are located in drive section 12 and have channel widths larger than any transistors in compute sections 6, 8, 10. The medium size P-channel transistors 18-23 and medium size N-channel transistors 24-29 are approximately half the size of the large P and N-channel transistors 14-17. The small N-channel transistors 30-35 are between approximately one-half and one-third the size of the P and N-channel medium size transistors 18-29, and the small P-channel transistors 36-41 are smaller than the small N-channel transistors 30-35. The particular channel widths and lengths (W/L) used in the preferred embodiment are illustrated in FIG. 2. Each compute section 6, 8, 10 is preferably identical. 
     The preferred embodiment of the cell shown in FIG. 2 comprises three compute sections 6, 8, 10 and one drive section 12, but any number of compute sections and drive sections may be placed adjacent to one another to form a single cell. A single compute section 6, 8, or 10 comprises two medium size N-channel transistors (e.g., 24, 25), two small N-channel transistors (e.g., 30, 31), two medium size P-channel transistors (e.g. 18, 19), and two small P-channel transistors (e.g., 36, 37). 
     The small and medium size transistors in two compute sections may be used to implement two, six-transistor SRAM cells, one of which is shown in FIG. 3a. In FIG. 3a, the small P-channel transistors 36, 37 shown in FIG. 2 are used as pull-up transistors in CMOS inverters 50 and 52, while the medium N-channel transistors 24, 25 shown in FIG. 2 are used as pull-down transistors in inverters 50 and 52. This is illustrated in FIG. 3b, which shows CMOS inverter 50 or 52. Small N-channel transistors 30, 31 are used as pass transistors in the SRAM of FIG. 3a. 
     The D-flip flop of FIG. 4 may be constructed using the complete cell of FIG. 2, having three compute sections. Each of the inverters is formed using a medium P-channel transistor (or a medium in parallel with a small P-channel transistor) and a medium N-channel transistor. Other transistors used in FIG. 4 are shown with their relative sizes. 
     Macrocells for driving low fanout nets (e.g., one to two) may be implemented using only medium and small size transistors, such as the NAND gate of FIG. 5, using only a single compute section. In FIG. 5, serially connected N-channel transistors 60, 62 are medium size. Small and medium size P-channel transistors 64, 66 are connected in parallel for additional drive capability. 
     Macrocells for driving medium fanout nets (e.g., three to five) may additionally use the large N and P-channel transistors residing in the drive section as logic devices, such as large N and P-channel transistors 70 and 72, respectively, illustrated in the four-input AND gate of FIG. 6. 
     For driving large fanout nets (e.g., greater than five), the transistors in one or more drive sections may be paralleled as shown in FIG. 7 where transistors 74-77 are large transistors. 
     As seen, the particular devices contained in each of the compute sections of a cell make highly efficient use of silicon real estate. In addition to the significant area savings achieved using the small and medium size transistors to implement logic macrocells, the use of such transistors reduces the input capacitive loading of the macrocells as compared to a conventional gate array. This is especially beneficial for reducing dynamic power dissipation and loading on clock nets. 
     The polysilicon and diffusion connections between the devices in each compute section of a cell are chosen to ensure routability between transistors within one or more cells to form macrocells. This is important since the transistor sizes in the compute sections are significantly smaller than in a conventional gate array cell, which makes interconnections between the transistors in a cell more difficult. 
     The choice of the number of compute sections for a cell to the number of drive sections for the cell should be selected to optimize the density of useable gates (i.e., the number of gates per unit area). A low ratio of compute-to-drive sections has the advantage of high drive, but wastes area when implementing large macrocells such as D-flip flops and macrocells with low drive requirements such as SRAM cells. On the other hand, a high ratio of compute-to-drive sections, although more efficient for implementing low drive macrocells and D-flip flops, will result in inefficient implementation of small macrocells (e.g., those having two input gates) and high drive macrocells. The optimal ratio of compute sections-to-drive sections for a cell depends on the statistics of macrocell usage in the target designs and on the method of logic mapping. 
     Using an experimental approach, I have determined that a ratio of three compute sections for each drive section, as shown in FIG. 2, appears to achieve the best area utilization. The optimal ratio would, however, change if the macrocell usage statistics of the target designs change. In fact, it may be beneficial to use more than one ratio in the same master image. This is illustrated in FIGS. 8a and 8b, where FIG. 8a shows a uniform master image with three compute sections (e.g., 80, 81, 82) being associated with one drive section (e.g., 83), and FIG. 8b shows a non-uniform master image with either four compute sections (e.g., 84-87) or two compute sections (e.g., 88, 89) associated with a single drive section (e.g., 90 or 91, respectively). 
     A preferred layout for each of the compute sections shown in FIG. 2 is shown in FIG. 9. In FIG. 9, the transistors are labelled to coincide with the transistors in compute section 6 in FIG. 2. As seen from FIG. 9, a single polysilicon gate i is used for controlling transistors 18, 36, and 24 and a single polysilicon gate 102 is used for controlling transistors 19, 37, and 25. Separate gates 104 and 106 control N-channel transistors 30 and 31 so that these transistors may be operated independently, such as the pass transistors 30 and 31 used in the SRAM of FIG. 3. The N and P type source/drain diffusions for the various transistors are shown as the shaded areas in FIG. 9. As seen, the center diffusion for the medium and small P-channel transistors are made common by diffused P-type connector portion 110. 
     The structure of FIG. 9 may be formed using well known and conventional techniques. 
     By replacing the large P-channel transistors in drive section 12 of FIG. 2 with an NPN bipolar transistor, a BiNMOS-type driver may be added to the output of macrocells which results in significant performance improvement. 
     Other drive sections such as one containing two NPN bipolar devices for implementing a full BiCMOS buffer, or a drive section containing one NPN and one PNP bipolar transistor for implementing a complementary BiCMOS buffer, may be used with the disclosed compute sections. FIGS. 10a-10c illustrate three examples of drive sections which may be utilized in the cell of this invention. 
     A basic cell described in this specification is shown in FIG. 11 essentially comprising one or more compute sections containing small and medium size transistors and one or more drive sections containing large size MOSFET(s) and/or bipolar transistors. If the driver portion of the cell of FIG. 11 were eliminated and the transistors in the compute section(s) made larger to drive larger loads, the resulting cell would still be very advantageous. 
     FIG. 12 shows an ASIC 120 which contains array 124 comprised of cells, such as the cell of FIGS. 2, 8, and 11, which may or may not be metallized. In this ASIC, the area of the chip outside of array 124 may contain other circuitry connected to interact with array 124. ASIC 120 may also contain a plurality of arrays 124. 
     The main differences between the compute section described in this specification and the compute section primarily described in my application Ser. No. 07/524,183, issued as U.S. Pat. No. 5,055,716, are: 1) the addition of a small size P-chnnel transistor in each compute section; 2) not requiring that the medium P-channel transistors have less current handling capability than the small N-channel transistor; 3) a reduction in the size of each compute section; and 4) the details of the polysilicon and diffusion preconnections. 
     While particular embodiments of the present invention have been shown and described, it will be obvious to those skilled in the art that changes and modifications may be made without departing from this invention in its broader aspects and, therefore, the appended claims are to encompass within their scope also changes and modifications as forward in the true spirit and scope of this invention.