#35530 Topic: 3.3 Lab Report
EELE 5331: Digital ASIC Design
Lab Manual
Dr. Yushi Zhou
Department of Electrical Engineering
Lakehead University
Thunder Bay, Ontario, Canada
Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 MOSFET Devices and Layout Tutorial . . . . . . . . . . . . . 4
2.1 Prepare For Schematic . . . . . . . . . . . . . . . . . . 4
2.2 Perform Simulation . . . . . . . . . . . . . . . . . . . . 7
2.3 Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Layout Veri�cation . . . . . . . . . . . . . . . . . . . . 17
2.5 Report . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.6 How to understand DRC error report . . . . . . . . . . 26
3 CMOS Inverter . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1 Design speci�cations . . . . . . . . . . . . . . . . . . . 27
3.2 Lab Procedure . . . . . . . . . . . . . . . . . . . . . . 29
3.3 Report . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
1 Introduction
This lab manual is an essential components of EELE5331: Digital ASIC
Design, o�ered by Dr. Yushi Zhou. The lab works consists of schematic
entry, symbol generation, pre-layout simulation, layout, physical and logic
veri�cation, extraction and post-layout simulation for the design. All the
students are required to submit individual lab report before the deadline.
All reports must be typed and professionally prepared. The content that
needs to be included in the report are given at the end of each lab. There
are total three labs, and each part will be released before the lab starts.
• Lab 1: MOSFET devices and layout tutorial
• Lab 2: CMOS Inverter
• Lab 3: CMOS Digital Logic Circuits
It should be noted that the students are not limited to the assigned lab
time, which may not be enough to complete the lab. Students are expected
to work on the lab during their free time if that case is required. You may
use remote log-in to complete the labs.
TSMC CMOS 180 nm technology process design kit (PDK) is a 1-Poly,
6-Metal technology, with a maximum supply voltage of 1.8 V for thin oxide
devices and 3.3 V for thick oxide devices. This process is suitable for design-
ing analog, digital, RF and mixed-signal circuits and systems. In this course,
all the labs are designed based upon CMOS 180 nm process. The computer-
aided design (CAD) tools that are adopted in this course are from Cadence
Design Systems for the purpose of schematic entry, simulation, implemen-
tation and veri�cation. The Cadence custom IC design platform provides
a graphical interface for various stages in the design �ow. An overview of
the design �ow and which tools are involved in each stage is shown in Fig.1.
As you may notice that there are loops, indicating iterative procedures. For
instance, if the physical layout does not pass design rules check or LVS check,
Page 2
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
the modi�cation of the layout cannot be avoided. The worst case happens
when the post-layout simulate presents the functionality defects due to the
careless design at the �rst step. In such a case, the schematic design has to
be changed, which has signi�cant impacts on the procedure.
Figure 1: Design Flow
Page 3
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
2 MOSFET Devices and Layout Tutorial
In this section, a short tutorial of how to use Cadence to complete the layout
of a single transistor will be given. In particular, you will investigate the
physical attributes of the MOSFET, including the second order e�ects. The
I-V curve will be used to compare the results of pre-layout and post-layout.
2.1 Prepare For Schematic
To start Cadence, there are a few steps that you need to complete. Please
refer to the Log-in-steps, posted on the course website.. Once you have suc-
cessfully log-in, you will be led to the home directory as /home/user. A
good starting point will be creating a design folder, i.e. type mkdir design.
A new folder, "/design", is created. You are strongly recommended to have
a Linux/Unix reference by hand. In particular, some most often used com-
mands, e.g. cd, list, echo, etc., should be familiarized. Now type cd design.
Then type /CMC/bin/goCadence. A new window will pop-up. Scroll down
to the bottom. Choose 180 nm as shown in Fig. 2 a). icfb interface in Fig.
Figure 2: a) Start window b)icfb
Page 4
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
2 b) is the design framework (DFII) front-end for the CIC platform. From
icfb you will be able to access all the tools for schematic capture, symbol
editing, simulation, layout, DRC and LVS checking, and extraction.
Next step is to create a working library, which must be attached to the
180 nm technology so as to create the link between the design library and the
technology library. To do that, go to icfb->File->New->Library. Name
the library lab1, and under Technology File choose Attach to an existing
tech�le and press OK. In the popup window, choose cmosp18 from the
drop-down list beside Technology Library.
To create a schematic cellview, go to icfb->File>New->Cellview.
Change the Library Name to lab1, and make the Cell Name nmos. Leave
the View Name and Tool as is. An empty Virtuoso Schematic Editor Fig. 3
window will open.
Figure 3: Schematic editor
Using the knowledge that you learned from the class, characterize a
NMOS transisor. Further, you will create a similar schematic for the PMOS
transistor to obtain the same parameters. This will be done by biasing the
Page 5
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
transistor at a �xed voltage, VGS, and observing the changes in the drain
current, IDS, in response to variations in the drain voltage, VDS. This pro-
cess will be repeated for several bias points to produce a family of IDS -
VDS curves. In this lab, we will need 5 Instances: 3 DC Voltage sources,
1 Transistor (NMOS or PMOS), and 1 Ground. To add an instance to the
schematic, �nd the instance button in the toolbar on the left side of the
Virtuoso Schematic Editor (or press I). The instances in the schematic are
summarized in Table 1. Refer to Fig. 4 for how to add instances and draw
Table 1: Instances
Library Cell View Parameter
cmosp18 nfet symbol width = 1u, length = 180n
analogLib vdc symbol DC Voltage = v1
analogLib vdc symbol DC Voltage = v2
analogLib vdc symbol DC Voltage = 0
analogLib gnd symbol
wires. To change the parameters of an instance, middle-click the instance
and choose Properties(or select the instance and press Q). The values v1 and
v2 are variables, which will be used later in the simulation. In order to pro-
duce the I-V characteristics of the transistor at a �xed bias point, the drain
voltage must be varied using either Parametric Analysis or DC Analysis.
This will be explained in further detail when setting up the simulation.
In general, you would normally need to create a symbol of the circuit
being simulated. One of the example is when you are doing post-layout
simulation, symbol creation will be utilized to distinguish pre/post-layout
simulation. Since there is only one device, NMOS, in the circuit, it is not
necessary to create the symbol.
Page 6
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 4: NMOS test circuit
2.2 Perform Simulation
In this section, you will learn how to verify the designed circuit by simulation.
The Virtuoso Analog Design Environment (ADE) is the interface used for
simulation. To launch ADE, go to Tools->Analog->Environment as
shown in Fig. 5. Since your schematic has variables, you will need to add
Figure 5: ADE interface
them to ADE and assign values to them. Add the variables by going to
Variables->Copy From Cellview and then they will be listed in ADE
under Design Variables. To assign a value to a variable, double click on the
variable and input the desired value in the Value (Expr) �eld. Assign values
Page 7
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
of 1.8 and 1 to v1 and v2 respectively(v1 is VDS, and v2 is VGS).
The following part is the key con�guration for a successful simulation.
The mode library, which is basically a spice model �le, must be included
properly. The simulation will fail otherwise. in ADE window, please do:
• Setup->Simulator/Directory/Host...
� Simulator: spectre
• Setup->Model Libraries ...
� Model Library File: /CMC/kits/cmosp18.5.2/models/spectre/rf018.scs
section=tt
• Setup->Simulation Files ...
� Include Path: /CMC/kits/cmosp18.5.2/models/spectre/
Once these con�guration is done, the simulator is able to �nd the correspond-
ing spice model from the library that is provided from the foundry.
Parametric Analysis
Parametric analysis allows you to sweep one of the parameters on an instance
over a given range (or speci�c values) when performing a Transient/AC/DC/etc.
To obtain the I-V characteristics, we will use Transient analysis for a period
of 1ns (since all the sources and outputs are DC, the time is really irrelevant).
To create a transient analysis in ADE, go to Analyses->Choose. In the
new window, choose tran as Analysis and set the Stop time to 1n. To con�g-
ure the parametric analysis, in ADE go to Tools->Parametric Analysis.
In the Parametric Analysis window, go to Setup->Delete Range Speci-
�cation and choose Sweep 1. Now enter the variable name as v2 (i.e. the
voltage applied at the gate) and in the Add Speci�cation list, choose Inclu-
sion List and enter the values 0.6 0.9 1.2 1.5 1.8. These will be bias points
for the parametric sweeps. Now go to Setup->Add New Variable To
Page 8
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Bottom, set the variable name to v1 (i.e. the voltage applied at the drain),
From and To to 0 and 1.8 respectively, change Step Control to Linear Steps
and set Step Size to 0.1. Ensure that v2 comes before v1 in the Paramet-
ric Analysis setup. Enable Sweep 2 by Selecting it and disable Sweep 1 by
un-Selecting it.
Before simulating, we need to add some outputs that should be evaluated
upon completion of the simulation. Since we are interested in the drain
current, in ADE go to Outputs->To Be Plotted->Select On Schematic
and choose the drain terminal (red square at the drain of the transistor).
Also, in ADE go to Outputs->Save all. Check Select device currents all.
Now when the simulation �nishes, the waveform of the drain current over
the simulation time will be plotted. In the Parametric Analysis window, go
to Analysis->Start - Selected to begin the simulation. Now only v1 will
be swept, and v2 will hold the value speci�ed in ADE.
The waveform viewer is called WaveScan. A new WaveScan window will
pop-up showing the drain current of the NMOS transistor under the current
VDS and VGS conditions. To obtain the I-V characteristics of the NMOS
transistor, the outputs to be evaluated have to be modi�ed. Plotting the
current through the drain terminal will show IDS = f(VDS,t)|VGS=fixed, how-
ever we want a plot that is independent of time. To do this, we must take a
time-average plot. In ADE, go to Tools->Calculator to launch the Wave-
form Calculator. In the Calculator window, deselect clip graph selection,
and choose it under the tran tab. The schematic window will pop up and
click on the drain terminal of the NMOS transistor. Now go back to the
Calculator window and click on average. Go back to ADE, go to Outputs-
>Setup,and click on New Expression, then click Get Expression and
the Expression �eld will be �lled with the expression that was in the Calcu-
lator. Give a name to the expression such as I-V Characteristics of NMOS,
then click OK. Under Outputs in ADE, click on the previous output for drain
current and press the Delete button so that only the I-V Characteristics of
NMOS will be plotted. Since the simulation data already exists, you do not
Page 9
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
need to redo the simulation. Press the Plot Outputs button on the right side
of ADE. The �nal waveform is shown in Fig. 6. Note, add marker to each
of the line. Now you should get the expression for plotting I-V characteris-
tics. You can generate a family of curves showing the I-V characteristics at
di�erent bias voltages. In the Parametric Analysis window, go to Analysis-
>Start to begin the simulation. Now v1 will be swept for each value of v2
speci�ed in the Inclusion List. Fig. 6 shows the parametric con�gurations
and simulation results.
Figure 6: Parametric con�guration and simulation results
Since we have done a simulation, it is time to save the current con�gu-
rations in ADE window. Go to Session->Save State ... and in the Save
As �els, �ve a name with information that you can recall later. However,
Parametric Analysis will not be saved.
DC Analysis(preferred)
To get IDS vs. VDS curve, DC analysis is much simpler as compared with
that of Parametric Analysis. Uncheck Enable in tran, and click dc. Under
DC Analysis, select Save DC Operating Point, and under Sweep Vari-
able, choose Component Parameter. Click Select Component and choose DC
source that is connected to the drain of the MOSFET. Then in the new win-
dow select the �rst item, dc, and press OK. Under Sweep Range, set 0 to 1.8,
and Sweep Type to linear with step size, 0.1. Click Netlist and Run in ADE
Page 10
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
window. This time you can not plot the terminal currents from dc analysis
directly. To view the dc terminal currents, in ADE go to Tools->Results
Browser. In the Results Browser window, in the right hand pane double
click on dc-dc to open the results of dc analysis, then double click on M0/d
to plot the I-V characteristics. M0 corresponds to the name of the device
from the schematic, and ids corresponds to the parameter being plotted.
The Results Browser is a very powerful tool, as it allows you to view all the
device parameteres, such as capacitances, currents, transconductances, and
voltages, that are evaluated during a simulation. Note: you may not be able
to see the results for some unknown reason for the �rst time run. So, if this
happens, please try to run DC analysis a few times more. Then, the saved
data should be appeared in Results Browser. If the issue is still there, for
example, only variables are in the results window. Please try the following:
• In Results Browser window, go to File->Clear, then in the Location drop-down menu, select the path corresponding to your cellview. The
simulated data should be available now.
There are some other functions that provide your observability. For instance,
in ADE, go to Results->Print->DC Operating Points, then choose the
MOSFET in the schematic editor. A new window showing all the parameters
under the �xed voltage, v2=1V, will pop-up. To plot I-V curve, a simple
Parametric Analysis is required. Follow the same step in the proceeding
section, set Parametric Analysis to sweep v2 for 0.6 0.9 1.2 1.5 1.8 points.
Start analysis. Fig. 7 shows the Result Browser on the left and simulate
results on the right.
2.3 Layout
In this section, you will be guided to complete a NMOS and a PMOS layout.
Before you attempt the layout, ensure the schematic is error free. In addi-
tion, you are strongly recommended to open TSMC 0.18µm logic 1P6M
salicide 1.8V/3.3V design rule to a reference.
Page 11
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 7: Results browser and simulation results
CMOS transistors are generally de�ned by at least four physical masks.
They are active (also called di�usion, di�, OD or RX), n-select (also called n-
implant, or nplus), p-select (also called p-implant, or pplus), and polysilicon
(also called poly, polyg, PO, or PC). The active mask de�nes all the areas
where either n− or p− type di�usion is to be placed or where the gates of
transistors are to be placed. The overlap area of the ploy and active area
de�nes the gates of transistors. n-select surrounds active regions where n
type di�usion is required. P-select surrounds active regions where p type
di�usion is required. Further, to form PMOS, or sometimes even to form
NMOS, n-well or p-well are required, which should be larger than the active
regions. To connect the body to the corresponding voltage level, n+ or p+
region should be placed in the body.
Now, create a new cellview in your lab 1 library called NMOS and choose
Virtuoso from the tool drop-down list. Two new windows will occur, e.g
Layer Selection Window (LSW) and Layout Editor Window. LSW is where
you can select the layers to do the layout. Layout Editor is the main space
where the actual circuits are implemented. Pressing k will start drawing a
Page 12
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
ruler, which is quite useful in the layout as you need to know the precise
line width, perimeter, space, overlap, etc. of what you draw to clean DRC
errors. A good layout experience is to run DRC periodically to make it clean
at the very early stages rather than facing unresolvable issue at the end.
As TSMC is a out-of-date technology, it lacks of capability of automation,
especially, there is no available PCELL(parametrized cell) for both NMOS
and PMOS. Your �rst layout work is to draw the NMOS and PMOS. It is
therefore, two types of drawing objects, e.g. rectangles and paths, are
the most recognized option to be used in the layout. A rectangle is exactly
what it sounds like. Simply left click mouse will start to create a rectangular
shape. You can stretch the shape using s. The layer that is chosen to form
the shape is done through LSW or the layer can be changed later by editing
the object's properties. A path is a shape that is de�ned by a start and
end point, intermediate vertices and a width value. It is used primarily to
connect devices and run signals from point to point as a path has �xed width.
The following steps should be completed in turn:
• Drawing a gate to determine the length of the transistor.
• Drawing an active region to determine the width of the 1 �nger tran- sistor. You may need to draw multiple �ngers to minimize the gate
resistance and the drain capacitance. Or for matching purpose, inter-
digitized layout may need multiple �ngers.
• Applying the doping to the active region.
• Drawing contacts for the source and drain terminals.
• Drawing contacts for the substrate connection. Note: Avoid single con- tact as contact show large variation during fabrication, and it also has
large resistance, which is the detriment for the circuit's performance.
• Drawing interconnects for signal routing.
• Drawing I/O pins
Page 13
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
To draw the gate, go to LSW, and choose the polysilicon drawing layer.
Using path with 0.18 width is the easiest way to draw a gate. You can
also use a rectangle to complete this task with the aid of ruler. The height
should be larger than 1 as the width of the transistor is 1. Note the default
unit is µm.
For the source and drain, we know these two regions are heavily dopant
by either the donor atoms in p-sub or acceptor atoms in n-well. The region is
�rst de�ned by the so called active region. Go to LSW palette, and choose
active region drawing layer. Using path again with the width 1. Make sure
the active region is perpendicular to the gate polysilicon. Then, n+ region
is the next drawing layer, which must overlap the active region by 0.35 in all
directions. Select n+ fro LSW, and start from the centre of the polysilicon,
draw a path. Using ruler to mark 0.35 in all directions. Stretch out the
path. Till now, a transistor has been formed. The drawing of gate, drain
and source are shown in Fig. 8.
Figure 8: a) Poly gate, b) With active region, and c) n+
Page 14
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
The next step is to create contacts, which are used to connect poly to
metal and di�usion to metal. Go to LSW, choose contact drawing layer and
de�ne the dimensions 0.22x0.22. Note: active contact to gate spacing > 0.16;
active overlap of contact >0.10. Using ruler to mark some key points. You
may need to adjust the active region and n+ region. MOSFET is a four
terminal device. The substrate is the de�ned as the 4th terminal. If it is
a NMOS, the p-sub should be connected to the lowest potential. If it is a
PMOS, the n-well should be connected to the highest potential to avoid any
forward biasing of the junction diode. Connect substrate also prevent latch-
up from high injecting current and voltage to any node of the circuits. The
region that is used to create contact in p-sub is called p+. Find the proper
drawing layer from LSW. Create a rectangular with considering the rules
mentioned previously. Add active region. Leave a space for two contacts.
Fig. 9 shows the transistor with drain and source contacts. Fig. 10 depicts
the p-sub contacts.
Figure 9: Adding contacts
The next step is to add interconnects. In general, signal routing is in
the lower layer. The higher layers are used for power grid layout and other
passive components, e.g inductors and capacitors. For digital cell, try to
limit the layers to metal 1 and metal 2. Do not go beyond metal 3, which
Page 15
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 10: Adding p-sub contacts
will bring di�culties to the physical designer to integrate all the function
blocks in a complex system. Keep in mind, a product consists of a variety of
function blocks, i.e. not only the one that you designed but other designed
blocks will be integrated into a small area. It is crucial to limit your own
layout in a small area as much as possible.
So far, we have placed two contacts for each of terminal except for the
gate. You may question, what about the gate? There is not enough space to
place a contact to the gate. You can extend the polysilicon of the gate a little
bit more, which does not a�ect the channel length as the channel length is
de�ned by the part of the gate, overlapping the active region. Go to Create-
>contact and select m1_poly from drop-down list. A PCELL contact is
created. Put it to the extended poly. Go to LSW, choose metal 1 drawing
layer, and draw a metal 1 path(please refer page 44 of the design manual for
metal 1 rule). Usually, you should run a few times DRC to clean the DRC
violation. But for the sake of simplicity, we assume DRC is clean(only true
in this tutorial). We introduce DRC later. Fig. 11 is to show how to draw
metal 1 wire.
Once this is done. The last step is to add pin. Go to Create->Pin, and
entre G S D B as the terminal names, select Display Pin Names, and make
sure the pin type is metal 1_t. It will fails LVS otherwise. Set I/O type to
inputoutput and place the pins accordingly. Fig. 12 is the �nal layout of an
NMOS.
Page 16
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 11: Drawing interconnects
To create a PMOS, there are two ways. You can either repeat all the
steps that you have done so far or simply go to Design->Save As ... (a
easy way only for this tutorial) and make the cell name PMOS. Open PMOS
layout view. Change the n+ to p+ region by changing the property of the
di�usion. Keep the active region as we still need it to de�ne the width of the
PMOS. Similarly, for the p-sub contacts should be changed to n+ contacts.
Add a n-well around the transistor to de�ne the substrate region, as shown
in Fig. 13. It should be noticed that in practical, the width of the PMOS
is not same as the NMOS. In other words, you most likely will have to go
through the all steps for the PMOS layout.
2.4 Layout Veri�cation
Physical veri�cation is one of the key steps to ensure the design is functional
correct after layout, and meet the manufacture rules set by the foundry. In
this section, you will perform DRC, Extraction, LVS and post-layout simu-
lation.
Page 17
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 12: NMOS layout
Design Rule Checking (DRC)
The design rule veri�cation step checks that all polygons and layers from the
layout database meet all of the manufacturing process rules. A complete set
of design rules for TSMA 180 nm PDK can be found in "/CMC/kits/cmosp18/doc".
To perform a DRC check, in Layout editor window, go to Verify->DRC.
Click Set Switches button and choose do_drc and ignore_substrate/well_soft_connect
from the list and press OK. Then Run DRC. Check the results listed in the
icfb window, as shown in Fig. 14. Clean all the errors that are listed. To get
more information about the error. Go to Layout editor window. You will
see the �ashing boxes with an X through them. Got o Verify->Markers-
>Explain and click on one of the �ashing boxes to see detail about the
error. You should refer to the design manual to get help as most of time the
information is too simple to understand.
Page 18
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 13: PMOS layout
Figure 14: DRC results
Extraction
Extraction is a hand-o� step back to the circuit designer, who will simulate
the circuit based upon the extraction �le. Sometimes, there are speci�c re-
quirements from the circuit designers to the layout engineer. For example,
the circuit designer may be more interested in the parasitic capacitance due
to the wire coupling. The layout engineer should switch o� the parasitic re-
sistance before the extraction. Feedback will be given by the circuit designer
after the post-layout simulation to the layout engineer if there is a need of
modi�cation for the layout. As you can see, the extracted netlist is a good
vehicle that link the design engineer and layout engineer.
Page 19
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
To do the extraction, go to Verify->Extract, click on Set Switches,
choose parasitic_caps. The extracted netlist consists of the layout devices
that you created, as well as parasitic capacitance which are not considered
at the schematic level. This is very crucial for the designer. In particular, for
the high-speed circuit, a few fF capacitance may a�ect the data speed sig-
ni�cantly. As you may notice that there is no parasitic cap and parasitic
res option. This is due to the old version of extraction tool, e.g. Diva Ex-
traction. More advanced extraction tools such as Cadence QRC extraction
or Mentor xRC can extract parasitic inductances and mutual inductances as
well. Go to icfb to check if there is any error.
To view the extracted �le, go to File->Open and �nd the cell name that
you created, change the view name to extracted and press OK. If you see
Fig. 15, press Shift-F, which leads to the full layer views, as shown in Fig.
16, where the parasitic capacitance is shown.
Figure 15: Extraction View
Layout vs. Schematic Check (LVS)
LVS veri�cation is checking that the design is connected correctly. The
schematic is the reference circuit and the layout (extracted netlist) is checked
against it. The following are veri�ed [2]:
Page 20
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 16: Extraction View
• Electrical connectivity of all signals, including input, output, and power signals to their corresponding devices.
• Device sizes: transistor width and length, resistor sizes, capacitor sizes.
• Identi�cation of extra components and signals that have not been in- cluded in the schematic; �oating nodes would be an example of this
To pass LVS, we have to modify the schematic as we add Pins to the layout
while in the schematic, there are no pins declared. Open Schematic editor for
your won design. Delete all the voltage sources and ground instances, which
are not existing in the layout view. Press P, type G D S B for the name and
set direction to inputoutput. Place Pins in the schematic respectively, shown
in Fig. 17. Do not forget save and check any time you modify the circuits.
Next is to create a symbol from the schematic for the simulation. Go
to Design->Create Cellview->From Cellview ..., and press OK. In
the Symbol Generation Options window, under Pin Speci�cations assign the
pins as follows: Left Pins: G; Right Pins: B; Top Pins: D; Bottom Pins: S,
shown in Fig. 18. Click Load/save and in the expanded window make sure
analog is chosen then press Load. It is important that you click NO if a
message appears calling for Overwrite Base Cell CDF. This ensures that the
parameters of the base cell are not changed. In the Symbol editor, you can
Page 21
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 17: NMOS transistor with I/O
change the shape the symbol, shown in Fig. 19. Now, go back to Layout
Figure 18: Pin assignment
editor, click Verify->LVS, and �ll in the �elds same as Fig. 20. If the
schematic and extracted netlist match, a pop-up window will indicate this,
shown in Fig. 21. Otherwise, refer to the LVS output log to see where the
mismatches are and correct them.
Page 22
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 19: Symbol
Post-layout simulation
The last step is to verify the functionality and timing after the layout. As
we mentioned previously, the circuit designer will include the extracted �le
to the test bench, which is also used for schematic simulation, to compare
and check if the performance is acceptable. The common way to make sure
the testing environment is identical to the pre-post simulation is to consider
the DUT(Design Under Test) is a black box no matter which design is in.
The way to implement this is to use con�g.
First Creating a common test bench in the schematic editor, e.g. NMOS_tb.
In this tutorial, we create two test circuits. One is for schematic simulation,
and the other is for post-layout simulation. In practical, you should avoid
it. Only create one test circuit is enough. Nevertheless. we build two test
circuits as Fig. 22. Then close schematic editor and Create->Cellview,
use the same name, e.g. NMOS_tb. Change Tool to Hierarchy-Editor.
In the New Con�guration window, type schematic in the view �eld. Then
press Use Template and in the Use Template Window choose spectre from
the Name drop-down list. In Cadence hierarchy editor, got to Viw->Tree
and right click on one instance of the nmos transistor and go to Set In-
stance View->extracted. For the other one we choose schematic. The
�nal con�guration is shown in Fig. 23. Press Save button followed by the
Update button. Then press Open to open the con�g view of the test bench.
Page 23
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 20: LVS con�guration
Figure 21: LVS result
Open ADE, and load the state that you saved for the dc analysis. Open dc
analysis, change sweep variable to design variable and set the variable name
to the one connect to the drain terminal, e.g. v1. Then press OK. Perform
the same Parametric analysis to obtain the I-V curve. Do remember, to
observe the result, you have to go to Results Browser, you will see the results
as Fig. 24.
Page 24
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 22: Post-layout simulation
Figure 23: NMOS con�g view
2.5 Report
Please prepare the report according to the following descriptions:
1. Deadline: Oct. 13th, 2018.
2. File name: EELE5331_ Name.
3. A brief description of the lab and the simulations are necessary.
4. Schematic of NMOS and PMOS.
Page 25
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 24: Schematic simulation and Post-layout simulation results
5. The family of I-V curve for both NMOS and PMOS.
6. The layout and extracted views of NMOS transistor.
7. Screen shot of DRC result same as Fig. 14. Note: The time when DRC
is done must be clearly captured.
8. Screen shot of LVS result. The LVS output log �le, si.log, can be found
under Home/design folder/LVS/.
9. The family of I-V curve for extracted NMOS transistor.
10. A brief summary with respect to the results from schematic and ex-
tracted �le.
2.6 How to understand DRC error report
Most of the time, DRC error is less meaningful. To understand the DRC
report, please go to /CMC/kits/cmosp18/doc, where two documents,
CMOSP18designRulesLogic.pdf and CMOSP18designRulesMixed.pdf, have more
detail about the error information.
Page 26
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
3 CMOS Inverter
Shown in Fig. 25 is a CMOS inverter [1]. In this lab, the static and dynamic
characteristics of the CMOS inverter, the most critical device in digital ASIC
design, will be examined in detail, e.g. VTC, noise margin, delay, etc. Fur-
ther, a layout of an inverter will be created, characterized and compared with
the schematic simulation.
Figure 25: CMOS inverter: a) schematic, and b) layout
3.1 Design speci�cations
One of the design parameter for an inverter is the propagation delay, e.g.
τp, indicating how fast of the output changes with respect to the input.
It is de�ned as the di�erence between VDD/2 of the input and VDD/2 of
the output. Fig. 26 shows the current charging and discharging the load
capacitor through NMOS and PMOS, where one can determine the rising
propagation delay and falling propagation delay. Most of practical design,
the rising edge is not same as the falling edge although it is preferable. As a
result, characterize rising and falling edge separately is of great interest. It
Page 27
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
Figure 26: CMOS inverter charging and discharging: a) charging, and b)
discharging
can be noted that the delay relays on how fast charging and discharging the
load capacitor, e.g. CL. The NMOS and the PMOS both have ON resistor,
depending on the region of the CMOS transistor. In digital IC design, the
ON resistance of NMOS and PMOS are evaluated when the CMOS transistor
is in the triode region. According to the �nal voltage level, the propagation
delay may varies.
In this lab, the steady-state voltage is de�ned as 30% and 70%. From
what you learned in the electronic circuit I, the needed equations are listed
as below:
τp = 1
2 (τpdr + τpdf) (1)
where
τpdr = ln2RonpCL (2)
τpdf = ln2RonnCL (3)
Ron,n = 1
µnCox( W L )n(VDD −Vtn)
(4)
Ron,p = 1
µpCox( W L )p(VDD −|Vtp|)
(5)
Given the following parameters:
• tox=4.08 nm
• �0=8.854 × 10−12 F/m
Page 28
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
• �ox=3.9
• µn = 459 cm2/V ·s
• µp = 109 cm2/V ·s
• Vtn=0.45V
• Vtp=-0.44V
For this lab, you are required to design a CMOS inverter achieving 100
ps propagation delay with symmetrical swing while driving a load capaci-
tance of 50 fF. Please compare the schematic simulation with the
speci�cations.
3.2 Lab Procedure
Create a new library called Lab2 and attach it to the cmosp18 tech�le. Create
a schematic cellview in the lab2 library called inverter. Create a schematic
for a CMOS inverter according to Table 2. Since the calculated width
Table 2: N/PMOS
Library Cell View Parameter
cmosp18 nfet symbol width = wn, length = 180n
cmosp18 pfet symbol width = wp, length = 180n
is too small. You need to modify the width of the transistors to
adapt to the layout. Width for NMOS and PMOS should be 4
times larger than what you have calculated. Once the schematic is
created. The next step is to add pin, e.g. VDD, GND, IN and OUT, in
accordance with the input or output. An inverter symbol should be created
after this step, similar to what you have done in the �rst lab. Further, instead
of using default shape, you can always change the shape of the symbol. For
Page 29
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
instance, you can delete the green box and draw the symbol of inverter using
Line tool. The bubble at the end of the inverter can be drawn by changing
the line mode to circle mode. Do not forget check and save after the symbol
is created.
To verify the inverter, you need to create a testbench in a new cellview
called inverter_tb. Use the instances in Table 3 Verify the design in ADE
environment as you did in Lab1.
Table 3: Instances for testbench
Library Cell View Parameter
lab2 inverter symbol
analogLib vpulse symbol Voltage1=0, Voltage2=1.8, Delay Time=0, Rise Time
=Fall Time= 10p, Pulse width=2n, Period=4n
analogLib vdc symbol DC Voltage = 1.8
analogLib cap symbol DC Voltage = 50f
analogLib gnd symbol
First simulation is the static analysis. Before start a simulation, model
library path, simulator, etc. should be con�gured. The netlist checking may
fail if the simulation model is not found. After this step, a few simulations
are required. Similar to Lab1, a DC analysis is performed. Under Sweep
Variable, choose component parameter. Press select component and in
the schematic choose the instance of vpulse, then an new window will occur.
Select dc and press OK. Set Start, Stop to 0 and 1.8 with the step size of
0.1. And run simulation, plot the output. You should see a simulation result,
showing Vin vs. Vout. To �nd out VIL,OL, and VIH,OH, you need to �nd out the
slop=-1 from the result. To do that, open Waveform Calculator, chose
vt, and click wave. Then choose deriv function in Calculator. Change
the drop-down to New Subwindow and press Eval. Use this waveform to
determine VIL,OL, and VIH,OH. Mark the -1 using marker.
Page 30
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
The second simulation is dynamic analysis. Create a tran analysis. En-
suring the duration cover at least two cycles of the input signal. Open Wave-
form Calculator and �nd the delay function. Place the cursor in the blank
Signal1 �eld and choose vt under the tran tab. The schematic window will
come up, click on the IN net. Repeat this for the Signal2 �eld, and choose
the OUT net. Set Threshold Value 1 to VDD/2(you may change this value
if the threshold voltage is not VDD/2) and Edge Type 1 to Rising. Click
>>> button and on the next page, set Threshold Value 2 to VDD/2 and
Edge Type 2 to Falling. Click OK and the expression will appear in the top
�eld of the Calculator window. Add the expression to the outputs as you did
in Lab 1, and name it Output Falling Delay. The Output Rising Delay can
be obtained in the same way, but by reversing the Edge Types. Now you
have two pre-de�ned expressions to obtain the rising/falling edge delay. Run
tran simulation to verify the speci�cation. You may need to change the size
in accordance with the simulation.
Then perform the layout. Use what you have learned from Lab 1 to
complete the inverter design, including layout, DRC, LVS, extraction and
post-layout simulation. You should use con�g option that was introduced
in Lab1 to con�g the view between schematic and extracted-view such that
both pre-post layout simulation are tested using the same testbench. Note:
post-layout simulation should include static and dynamic analysis same as
pre-layout simulation.
3.3 Report
Please prepare the report according to the following descriptions:
1. Deadline: Oct. 28, 2018.
2. File name: EELE5331_ Name.
3. Show the calculation of the width for NMOS and PMOS.
Page 31
EELE5331:Digital ASIC Design yzhou30@lakeheadu.ca
4. Schematic of the CMOS inverter (after change the width to 4 times
larger).
5. Schematic of the testbench.
6. Screen shot of static and dynamic CMOS inverter simulation(after
change the width to 4 times larger).
7. The layout and extracted views of the CMOS inverter(after change the
width to 4 times larger).
8. Screen shot of DRC result same as Fig. 14. Note: The time when DRC
is done must be clearly captured.
9. Screen shot of LVS result. The LVS output log �le, si.log, can be found
under Home/design folder/LVS/.
10. Screen shot of static and dynamic CMOS inverter for post-layout sim-
ulation.
11. A brief summary with respect to the results from schematic and ex-
tracted �le. Explain any deviations from your calculation.
Page 32
Bibliography
[1] J. M. Rabaey, Am Chandrakasan, and B. Nikolic �Digital Integrated
Circuits: A Design Perspective,' Pearson, Second edition, Jan. 2003.
[2] A. Kabbani and T. Khan, �ELE754 Lab Manual," 2009
33
- Introduction
- MOSFET Devices and Layout Tutorial
- Prepare For Schematic
- Perform Simulation
- Layout
- Layout Verification
- Report
- How to understand DRC error report
- CMOS Inverter
- Design specifications
- Lab Procedure
- Report