Designing for the CMOS Gate Array


Introduction to the CMOS Gate Array

  • Gate Arrays

    The design of an integrated circuit is an expensive and time consuming task, requiring a high degree of skill from the designer. As a result, full custom IC design tends to be limited to high volume production chips.

    Various strategies are used in order to reduce the cost of designing ICs, particularly the design turnaround time and the level of skill and experience required of the designer. The gate array is one approach to the problem. Gate arrays provide a relatively cheap means of designing integrated circuits, particularly when only small numbers of chips are required.

    In its simplest form the gate array consists of a regular array of uncommitted logic gates which can be connected together to form more complex digital systems. This is the process of customization. In many cases the customization of the gate array can be accomplished using a single metallization mask which connects together the gates as required.

    Design costs are reduced because only one or two masks need to be generated for each new design, consequently the design is relatively simple and considerably less time consuming. Fabrication costs are reduced because most of the masks are common to many designs, allowing mass production of uncustomized chips.

  • The CMOS Process

    The CMOS Gate Array has been designed for the department's own 4um single layer metal CMOS process. The masks which must be generated for this process are:

    
    Mask 1 		NW  		 N Well 		 Pre-defined
    Mask 2 		AA  		 Active Area 		 Pre-defined
    Mask 3 		FI  		 Field Implant 		 Pre-defined
    Mask 4 		NA  		 N-Channel Area 	 Pre-defined
    Mask 5 		PA  		 P-Channel Area 	 Pre-defined
    Mask 7 		P1  		 PolySilicon 		 Pre-defined
    Mask 8 		CW  		 Contact Windows 	 Customized
    Mask 9 		M1  		 Metal 			 Customized
    

    The M1 metal mask is customized to produce the tracks for intra-gate and inter-gate connections. The CW contact window mask defines where the M1 mask connects to the circuit elements defined on the uncustomized chip. Note that Mask 6 (BA) is not used in this process.

  • Layout of the uncustomized Gate Array

    The uncustomized CMOS Gate Array has:

    The layout of these items is shown below:

  • Customization of the gate sites

    Each gate site contains 12 transistors ( 6 N-type and 6 P-type ). These transistors can be connected together in a number of different ways to produce different gates.

    To aid in the customization 13 gate overlays have been provided. Not surprisingly, when correctly placed over a gate site a gate overlay will create a gate.

    Some gate overlays are full size overlays and occupy a whole gate site, these are:

    
    		NAND4 		4 input NAND gate
    		XOR2 		2 input XOR gate
    		XNOR2 		2 input XNOR gate
    

    The remaining overlays are half size overlays, these are:

    
    		NAND2 		 2 input NAND gate
    		NAND3 		 3 input NAND gate
    		NOR2 		 2 input NOR gate
    		NOR3 		 3 input NOR gate
    		AND2 		 2 input AND gate
    		OR2 		 2 input OR gate
    		INV 		 Inverter
    		GND 		 For connection to Logic 0
    		VDD 		 For connection to Logic 1
    		X_X 		 For feedthrough connections
    

    It is possible to place two half size gate overlays over a single gate site provided that the lower of the two is placed upside down (i.e. reflected in the x-axis).

    N.B. You are strongly advised not to attempt to design your own gate overlays as this would make my job much harder!

  • Macro Cells

    As well as the standard gate overlays, you are provided with an overlay for an edge triggered D-Type flip-flop.

    The D-Type design is shown below as a schematic with four 3-input NAND gates and two 2-input NAND gates.

    The corresponding DFF overlay contains four NAND3 overlays and two NAND2 overlays together with a number of tracks and contact windows to perform the necessary interconnections.

    The DFF overlay is described as a macro because it is not a single flat cell since it contains references to other cells.

    With careful thought it is possible to design your own macros for sub-circuits within your design.

  • Routing

    Any area not occupied by anything else is taken up by routing channels. There are five vertical routing channels and two horizontal routing channels.

    Pads and gates are joined by tracks drawn in metal (M1). Where a track needs to cross another track or power rail, there are polysilicon underpasses (well over a thousand of them) pre-defined on the Gate Array. Connections are made to the polysilicon underpasses by etching contact windows in the oxide layer which would otherwise insulate the polysilicon from the metal. These are defined as rectangles on the CW mask layer.

  • Feed Through Routing

    Although it appears that horizontal routing is restricted to the two horizontal channels at the top and bottom of the cell, this is not the case. An examination of the gate overlays shows that many gates have two extra terminals (marked X). These terminals make use of a polysilicon underpass built into the gate site in order to pass a signal under the power rails running through the site. Thus we have a feed through connection allowing horizontal routing through the gate.

    Note that the routing problems are significantly reduced by the duplication of most gate terminals at the left and right of each overlay.


    Circuit Design and Simulation

  • Design Constraints

    The first stage of the design is the schematic diagram of the circuit. The elements of the circuit diagram should be symbols from the set below:

    Each symbol corresponds to one of the gate overlays.

  • Schematic Capture

    The following is a schematic diagram for a simple sequencer circuit as you might draw it on paper. In addition to the symbols shown above it has INPAD and OUTPAD symbols at its inputs and outputs. These symbols will map to the input pads and output pads of the Gate Array.

    The first stage of the CAD design cycle is to capture the schematic such that it can be checked and simulated. It is anticipated that you will go through several iterations of the schematic capture process before you are satisfied with your design. Since schematic capture is very much faster than layout for the Gate Array, extra time spent here in order to ensure a correct and efficient design will save you considerably more time in later stages.

  • Notes on the creation of Icebox Schematics

  • Finished Schematic

    The following shows a complete schematic for the simple sequencer drawn using icebox.

  • Netlist Extraction

    Netlist extraction converts your schematic into a netlist text file which can be understood by the simulator. It also helps to identify any errors in the construction of the schematic.

    A remote netlisting utility is available for those using Icebox on the department's Windows 2000 machines in Zepler.

  • Simulation

    If your netlist is error free, you will also be provided with a .v file which is a Verilog netlist in a form suitable for simulation with Modelsim either using a Verilog test bench or a more familiar VHDL test bench.


    Schematic Annotation

    Each symbol in the schematic diagram should be uniquely labelled for ease of identification. These identifiers should be added as text items on the text layer; TXT.

    The following figure illustrates this process for our simple sequencer:

    Points to note: