Homework_2: Custom Cell Layout


Revised 8/29/05 by D. Bouldin

Follow the tutorial below and capture your own schematic, pre-layout simulation, layout and post-layout simulation results as gif files.

Our class projects will NOT be fabricated but will be prepared for the (AMI C5 process)
which has a feature size of 0.6-micron and a lambda of 0.3.

Note the latest Spice results.

MOSIS fab schedule

We are using SCMOS_SUBME (lambda=0.3 with second poly or electrode layer, "elec") rules
with the SCN3_SUBME technology layer map.







OSU-inverter (pdf)

DFFPOSX1

OSU/IIT-035 Library

OSU-06 LEF


Follow the UT tutorial to draw a schematic of an inverter using the ami06 library.

Edit "cds.lib" to point to the new library:

DEFINE OSU_AMI06 /sw/CDS/Libraries/OSU/lib/ami05/OSU_stdcells_ami05

Note: the new LEF file (that permits stacked vias) is now:

/sw/CDS/Libraries/OSU/lib/ami05/lib/osu05_stdcells.stacks.lef

Under "NCSU_Analog_Parts", use "nmos" and "pmos" (NOT nmos4 and pmos4).

For Vdd and Gnd, look under "supply nets".

Create a symbol (but skip the part modifying its shape).

When simulating with Spectre, append add_si.inp to the automatically generated file "si.inp".

Perform the layout manually, then the extraction, LVS, DRC, and repeat the Verilog-XL and Spectre simulations.

To do DRC on the inverter, just open the layout view of the inverter using virtuoso layout editor then from the menu select

"Verify --> DRC". In the DRC pop-up window next to "Rules Library", type "NCSU_TechLib_ami06" and click OK.

Inverter Results (jpg)

UT Tutorial

Utah Tutorial

Simple Rules            lambda
----------------------- ------
1. min. width of active = 10
2. min. width of poly   =  2
3. min. poly extension  =  2
4. min. wire separation =  4
5. min. width of metal  =  4
6. contacts are 4x4

Note: active surrounded by n-select --> ndiff
      active surrounded by p-select --> pdiff

Wiring can be facilitated using "Create Path". Metal paths are generally 4-lambda (1.2-micron) wide.
It may be helpful to copy an existing (read-only) standard cell into your layout temporarily
and copy vias, etc into your design. To do this, use "Create Instance" and access "OSU_AMI06 --> INVX1 --> layout"
and select "Edit --> hierarchy flatten".
Edit the generated layout until it resembles the original one and then delete the example cell.
Then perform the extraction, LVS, DRC,
and repeat the Verilog-XL and Spectre simulations.


Remove any existing pins and create new ones; otherwise, LVS may trigger a mismatch.
When you click on "create ---> pins" a box will pop-up for you to supply "pin-name".
At the bottom, select "Access direction" and disable everthing except "Left and Right"
for VDD and GND and "Top and Bottom" for inputs and outputs.

Metal-2 rules dictate the horizontal spacing of 1.6u or 8-lambda
while metal-1 rules dictate the vertical spacing of 2.0u or 10-lambda.

Using a grid permits the cell boundaries to overlap horizontally by 4.8u (16-lambda).

Note: The grid layer is "hilite d3" (LSW-->Edit-->Set Valid Layers).

Metal-1 pins must fall on the Metal-2 grid line and preferably at a grid intersection.

Metal-2 pins must fall on the Metal-1 grid line and preferably at a grid intersection.





The vertical overlap of the cell boundaries is 4.8u (vdd) or 2.4u (gnd):



Note how the individual cell grids overlap horizontally by (4-lambda) and vertically by (5-lambda):



(You may also find it helpful to view these tutorials:

Spectre Circuit Simulator User Guide (334 pages -- pdf)

SPICE Command Summary

University of Virginia Tutorial

Univ. of Utah Tutorials

VCU Mentor Tutorial



Link your results to your restricted webpage.
Update /usr/cad/public_html/651hw_status.html

dbouldin@tennessee.edu