Stick Diagrams

Overview

Stick diagrams are a design technique that represent the layout for a device.  They are used as an intermediary step between schematic and layout.  They can save a lot of time in transistor placement and device minimization.  This tutorial demonstrates designing a three input nand gate layout using a stick diagram.


Function to Schematic

The first step in designing any layout is to start with a function and a schematic.  Our first function is a three input nand gate:


Out = (A B C)'


The schematic for a three input nand gate looks like this:


AbiWord Image stick_diagram01_nand3_schematic.jpg


Notice how the transistors are arranged.  The three pmos transistors are connected to power on one end and the output on the other.  The three nmos transistors are connected in series with one connected to output and one connected to ground.  The inputs, A, B and C all connect to two transistors.


Schematic to Stick Diagram

Stick diagrams represent transistors by active to poly connections and active to metal connections.  To begin, you will need to draw a couple strips of active, one for pmos transistors and one for nmos transistors. 

AbiWord Image stick_diagram02.jpg

Now draw a yellow well around the active that represents a ptype transistor and two vertical blue lines to represent vdd and gnd.


AbiWord Image stick_diagram03.jpg

Refer back to the schematic, notice that every pmos transistor is connected to vdd and the nmos transistors connect to ground.  You should choose the left blue line as vdd and the right blue line as gnd.  You might as well label them so that you keep this straight.


AbiWord Image stick_diagram04.jpg

Now create your gates by placing poly.  We will share diffusion regions so some of the drains are oriented up and some are oriented down.  The gates are labeled to match the schematic.  Notice that the gates of the n-type and p-type transistors are connected with poly.


AbiWord Image stick_diagram05.jpg

To finish the stick diagram, draw the connections between transistors, outputs, vdd and gnd.  The final stick diagram should avoid unnecessary vias.


AbiWord Image stick_diagram06.jpg

Following are some points to consider while drawing stick diagrams.


  1. Make vdd and gnd vertical and have them stretch from the top to the bottom of the cells. This allows the cells to be abutted top to bottom or side by side by overlaying the power lines. It will be helpful to make all of your cells the same width (distance between power and ground) so they will line up better when they are abutted. 
  2. Keep your inputs and outputs inside the cell, and try to keep them on metal1. Metal2 should be reserved for your select lines and clock. Ports are added using the Create-->Pin... option in the pull down menu. 
  3. Data should flow in metal1 vertically, and control should flow in metal2 horizontally. Clearly there will be times that this rule must be broken, but it will save a lot of confusion and hassle if you do all you can to follow this advice. 
  4. Try to use shared diffusions. An example: Three transistors in series do not need the metal1 and contacts between each of the gates and can all be on one piece of active as shown in the stick diagrams later in this tutorial. (Go ahead and take a peek if you are interested) 
  5. Where possible avoid crossing nets. In other words, don't take a metal1 line, change to metal2, cross metal1, change back to metal1 and so on. It is a big space waste to do this. Plan ahead and route the signals in a way where this is avoid as often as possible.


Conclusion

You now know how to create a stick diagram to help you with your layout.  A few of the assignments and the test require you to create stick diagrams from schematics.  Make sure you understand the relationship between the schematic and the stick diagram and can create one for any arbitrary function.


Just a note.  All the stick diagram images for this tutorial were made using The GIMP.  For any diagrams you have to turn in you can either create them using a graphics program or draw them, scan them in and submit them that way.