[print this page]

Introduction: Preparation of Standard Cell Library

The purpose of this page is to show you a sample cell library. You cell library will contain these cells and several others.

Example Digital Standard Cell Library

At this point, I have designed a small standard logic cell library. Notice that I have adopted a slightly different naming convention, where I have capitalized the cell names and added a suffix that defines the size of the cell (X1 is minimum size, X2 is double-size, etc.). You should also follow this naming convention because it makes characterization easier. Note that you can rename cells in the Library Manager. When you rename cells, Library Manager will automatically update instances.

Each cell has a schematic, symbol, layout, extracted, and analog_extracted view. Each cell has been successfully verified with DRC and LVS. The schematic and analog_extracted view of each cell has also been simulated using a test bench.

Each cell has all of its pins on a 4.5 um (offset 2.25 grid). These include input pins, output pins, and supply pins.

The cells themselves are all 40.5 um high and a multiple of 13.5 um wide. Both the height and the width are multiples of 4.5 (the global routing grid size).

Also notice that the nwell for each cell meets the sides and top edges of the Vdd rail. This is because Encounter snaps the cells together edge-to-edge. This includes the top and bottom on the cell (instead of overlapping the the rails as shown in tutorial 2).

My library is made up of the following set of cells, although your library will be more complete and include several additional cells.
Cell nameDescription
INVX1Minimal-sized inverter (width_p=6um, width_n=3um)
INVX2Double-sized inverter (width_p=12um, width_n=6um)
NAND2X1Minimal-sized 2-input nand (width_p=6um, width_n=3um)
NOR2X1Minimal-sized 2-input nor (width_p=6um, width_n=3um)
TRISTATEX1Minimal-sized tranmission gate (not a real tristate buffer) (width_p=6um, width_n=3um)
DFFX1Rising-edge triggered D-flip-flop (using design from page 22 (Fig. 1.31b) of the textbook)
BUFX1Tapered buffer cell (used for clock buffering)
FILLLayout fill cell, used for nwell continuity

The schematic and layout views of these cells are shown below.

INVX1

Schematic
Layout

INVX2

Schematic
Layout

NANDX2

Schematic
Layout

NORX2

Schematic
Layout

TRISTATEX1

Schematic
Layout

DFFX1

Schematic
Layout

BUFX1

Schematic
Layout

FILL

Layout

Important Notes

Take a close look at these cells. There are several things of which you should take note.

Really Important Note

Finally, notice that for each of these cells, every input and output pin except for vdd! and gnd! is capitalized. This is absolutely critical. On a previous iteration of my example design flow, I neglected to capitalize the CLK pin on the DFF. This caused the place-and-route tool to refuse to route the clock inputs on all the DFFs.