Cadence Tutorial AMI16
Cadence Tutorial AMI16
Cadence Tutorial AMI16
Electrical Engineering
If this is your first time running cadence then you must copy and paste each of the
above lines starting with cp into your terminal window at this time followed by the
ENTER key.
*[Note: This does not need to be done each time you open Cdence, only the first time.]
After typing use cadence and hitting ENTER proceed by typing virtuoso. This should
open the Virtuoso Log Window (Fig.2) and the Library Manager (Fig.3).
*[Note: By typing virtuoso, after Cdence has opened you will no longer be able to access your terminal
window while cadence is open. If you wish to use the terminal while Cdence is open type virtuoso &
instead of virtuoso.]
*[Note: Your Library Manager may not contain any or many Libraries, but they can be added.]
If the Library Manager does not open, it can be opened through the Virtuoso Log
Window by clicking Tools Library Manager
To create a new Library
1. In the Library Manager, File New Library, a new window will open.
2. Here give your library folder a NAME and you may select new directory locations.
3. Click OK and you will be given the option about adding Technology Files.
4. From your choices, select Attach to an existing technology library and select the
NCSU_TechLib_ami16 library.
*[Note: This library is based on the AMI 1.6 process, created by the NCSU group, which is a BiCMOS
process giving you the NMOS, PMOS and NPN transistors as the basic devices.]
University at Buffalo
Electrical Engineering
Page 2
Layers
Since a circuit has length, width and thickness a circuit is technically 3 dimensional.
However we often only view circuits in a 2D plane (i.e. Layout). Different Layers are at
different heights from the substrate. Each layer has its own unique color/pattern so we
can keep track of wires at different heights. The thickness of each layer is uncontrollable
by the designer. It is determined by the semiconductor foundry. MOSIS provides data
sheets on the sheet resistances ( ) and other parameters for the various Foundries
that they deal with.
*[Note: MOSIS is an organization at Univ. Southern California that acts as middle man between Fab users
and various Semiconductor Foundries such as IBM, TSMC, ON Semi (used to be AMI), Peregrine, etc.].
University at Buffalo
Electrical Engineering
Page 3
When drawing, any paths that cross in a given layer will always be connected !
Sometimes you will need to re-route wires so that you avoid unwanted connections or
use layers at different levels (such as Metal-1 and Metal-2). It is alright if different layers
appear to be crossing over each other. Remember each layer represents a different
material that is at a different height. There will be oxides between layers to isolate
wires. Also each layer has many design rules that determine minimum spacings and
thicknesses that wires/regions may be from one another within the same layer.
University at Buffalo
Electrical Engineering
Page 4
Design rules and you will become accustomed to many of them through practice, so do not spend extra
time trying to memorize these rules. Realize that Design rule spacings tend to be multiples of
.]
If you pay attention to the bottom of your Layout editor you can see your cursors
position relative to a zero point. More useful are two parameters dX and dY.
When drawing, after your first click to start a rectangle these values will reset and show
your position relative to your first click. This means you dont need to use rulers to
determine the size of your rectangles.
The default grid spacing in the layout window is 1.0 , which is not convenient for
our process. To make things easier do the following (numbers are in microns).
Go to Options
Display
Set minor spacing to 0.8 (This is
for our process)
Set major spacing to 3.2
Set X Snapping Spacing 0.4
Set Y Snapping Spacing 0.4
You should perform a Design Rule Check (DRC) after each step of drawing to verify
that your layout does not violate any design rules. This helps to keep your layout error
free and makes finding your errors much easier.
*[Note: Do not get hung up with DRC skip and move on with the rest of layout tutorial if this DRC step
takes you too much time.]
Click OK
If you have errors, youll see a highlighted polygon marking the first error. Fix your
errors and run DRC until there are no more errors in your design. DRC violations
only tell you if you have made layers too small or too close together. It does not tell
you if you are wasting area by making things bigger or farther apart than necessary.
You may need to push things together until a design rule violation occurs and then
move them out the minimum amount needed to remove the violation.
University at Buffalo
Electrical Engineering
Page 5
transistor size. The region where the poly and active regions
overlap is the transistors channel. The poly separates what was one active region
into two separate active regions that will be the Source and Drain. Here the width of
the poly is the Length of the channel, while the height of the active layer is then the
Width of the channel. Remember, the current flows across the Length of a
transistor, not its Width.
4. Making an active contact
Select the cc (active contact) layer from the LSW. Create a rectangle of both a
width and height of 1.6 within the active area, see Fig.8. Contacts must always
be a size of 2
. There are design rules on how close a contact can be from the sides
of active regions. Often, especially in Analog Circuits it is smart to use many
contacts. This means you may need larger active regions, but make sure you dont
affect the width of your transistor. Contacts are part of your circuit path, thus
current flows through them. High currents can cause poor designs to short circuit.
To prevent a contact from burning out, create multiply contacts to effectively lower
University at Buffalo
Electrical Engineering
Page 6
the resistance and distribute current flowing from one layer to the next. Draw
another contact on the other side of diffusion. Here, you may use the Edit Copy
feature to duplicate your contact instead of drawing a new one.
Fig.8 Active Contacts
Select layer metal1 from the LSW and draw two 3.2 # 4.0 rectangles
to cover the contacts as Fig.9 shows. According to the design rules (for AMI16),
metal1 has to extend beyond the contact in all directions by at least 0.8 .
Fig.9 cc & metal1
University at Buffalo
Electrical Engineering
Page 7
To do this, select the nselect layer from LSW. Draw a rectangle surrounding the
active area by 1.6 on all sides as Fig.10 shows. The nselect rectangle is the thin
green line. Fig.10 is a completed NMOS.
Fig.10 nselect
Electrical Engineering
Page 8
Fig.12 pactive
Fig.15 pselect
4. Draw the P-select layer (pselect) exactly as we drew the nselect layer (Fig.15).
University at Buffalo
Electrical Engineering
Page 9
Fig.16 nwell
University at Buffalo
Electrical Engineering
Page 10
Power Rails
All circuits need a source of power. This is usually a high potential (vdd!) and a
ground connection (gnd!). Layouts usually consist of a large number of transistors
and power must be distributed throughout a chip and to the MOSFETS. This is not
always an easy task and one needs to be smart in designing and strategically placing
power lines for optimum operations. Metal1 is suggested to always be used to
supply vdd! and gnd!. Generally, Layers can run wild and get messy, so try to
keep horizontal wires in metal1 while keeping vertical wires in metal2. Try to preplan the layout of your wires when placing transistors.
Draw a Power Rail in metal1 above the PMOS
Draw a Ground Rail in metal1 below the NMOS
Make sure to connect the Power Rail and the Ground Rail to the Source contact
of the PMOS and to that of NMOS, respectively, as in Fig.18. Power rails should
usually be thick (on the order of 4 or more). Transistors may only see a little
current, but with many transistors the power rails will need to handle the sum of all
these currents.
Fig.18 Power rails
University at Buffalo
Electrical Engineering
Page 11
Electrical Engineering
Page 12
University at Buffalo
Electrical Engineering
Page 13
From the top select Launch ADE L. A window will pop up as follows:
University at Buffalo
Electrical Engineering
Page 14
University at Buffalo
Electrical Engineering
Page 15
DRC
The layout must be drawn according to strict design rules. After you have finished
your layout, Cdence can check each and every feature in your layout file against these
design rules and report any violations. This process is called Design Rule Check (DRC).
Generally once the design is finished, you perform DRC to see if there are any errors.
It is a good idea to perform DRC in each step of layout so that you can find any errors as
you make them. This prevents having a large number of errors that may become
confusing to understand at the end of your design.
Choose Verify DRC from menu in Virtuoso Layout Editor. The DRC options dialog
box will pop-up. The default options for the DRC are adequate for most situations.
DRC results and progress will be displayed in the Virtuoso Log Window. A list of your
errors, if any, will be shown in the Virtuoso Log Window with a short description.
For simulations and testing one might create several pins/labels, some of which may
need to be the same. To make things easier you may not want to run a wire to connect
certain nets. Using multiple pins/labels of the same name this will cause a DRC error.
This can be accounted for in the DRC pop-up window by selecting Join Nets With Same
Name so this error is recognized as an intentional part of the design.
Sometimes DRC errors can be hard to find, especially on large layouts. Under
Verify Markers there are a few options, two of which are Explain and Find.
Explain will provide details to what the error is and Find will move the screen over
the error for easy findings.
University at Buffalo
Electrical Engineering
Page 16
University at Buffalo
Electrical Engineering
Page 17
Same for output. Using input/output as your direction will allow you to choose the
direction when setting up your simulation. The final schematic is like Fig. 26.
Electrical Engineering
Page 18
3. Towards the top you see Library, Cell, and View. Your Library and Cell
should usually be the same for the schematic and extracted columns. Just
ensure that that the views are correct. To change any of these areas, just click
Browse and a window similar to the Library Manager will appear (this is not your
Library Manager). From here select the correct views.
4. When ready, click Run to start the comparison. You should receive a message
saying the Analysis Job Succeeded. This does not mean your LVS has matched,
but simply the comparison was successful. Often you may get a message saying
your Analysis failed. The most common reason for this is that one of the netlist
(schematic or extracted) doesnt exist yet. Next click on the Output button next
to Run. This will open a window similar to Fig.28 below:
Fig.28 LVS Results
The key is to find either The net-list match or The net-list failed to match
If everything is done correctly The net-list match is what we want. If you fail to match
netlist then check your layout and schematic for missing wires, or mismatched
labels/pins. Sometimes it is time consuming and aggravating to find your errors.
University at Buffalo
Electrical Engineering
Page 19
University at Buffalo
Electrical Engineering
Page 20