0% found this document useful (0 votes)
77 views98 pages

Chaitanya Cadence Tutorial

This document provides an overview of the Cadence design flow from schematic to layout. It describes how to set up the Cadence environment, create a new schematic, generate the layout from the schematic, perform floorplanning with partitioning, placement and routing. Key steps include generating the layout from the schematic, defining component types, placing pins and partitions, running the placer and router, and cleaning up the routing. The goal is to demonstrate the end-to-end digital design flow from initial schematic to final routed layout using Cadence tools.

Uploaded by

Saravanan Ns
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views98 pages

Chaitanya Cadence Tutorial

This document provides an overview of the Cadence design flow from schematic to layout. It describes how to set up the Cadence environment, create a new schematic, generate the layout from the schematic, perform floorplanning with partitioning, placement and routing. Key steps include generating the layout from the schematic, defining component types, placing pins and partitions, running the placer and router, and cleaning up the routing. The goal is to demonstrate the end-to-end digital design flow from initial schematic to final routed layout using Cadence tools.

Uploaded by

Saravanan Ns
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 98

Cadence Tutorial

-- Presented by
Chaitanya Emmela
cxe1177@cacs
VLSI Research Group
CACS
Contents
 Setting up the Cadence
 Usage
 Schematic  Layout
 Layout  Extracted View
 Extracted View  Simulation
 Conclusion
 Future Work
 Acknowledgements
 Questions
Setting up the Cadence

 Create a working Directory, where all your projects


will be stored.
 Copy all the files, including the dot files from the
“imp_files” directory.
 Create alias, say stmhsll for stmhsll.cshrc in the
.cshrc file.
 Source the .cshrc file. The stmhsll (stmllull) file sets
environment and path for the Cadence STM for high
speed and low leakage (low leakage and ultra low
leakage) designs.
Usage

 Type in the command: cd working_dir (Figure


1).
 Type in the command: stmhsll (alias set up
for stmhsll.cshrc, in the .cshrc file).
 Type in the command to start cadence tool:
icfb& (Figure 1).
Usage

Figure 1: Terminal Window


Usage

Figure 2: ICFB
Usage

Figure 3: Library Manager


Usage

 Go to “Tools  Library Manager”, which


starts the Library Manager (Figure 3).
 This window should show CORE9GPHS,
CORE9GPLL, CORX9GPHS,
CORX9GPLL, DK_process_013u,
IOLIB_65_3V3_m6_LL_65A,
IOLIB_65_M6_LL, PR9M6, REG9GPHS,
REG9GPLL, STlib, analogLib,
device_symbols and device_symbols_a.
Usage

Figure 4: New Library


Usage

Figure 5: Attaching Tech File to New Lib


Usage

 To create a new library “File  New 


Library”, this pops a new window as shown
in the Figure 4.
 Attach to existing Tech Library to the New
Library created as shown in the Figure 5
(DK_process013u). Click Ok.
Usage

Figure 6: Create New Cell View


Usage

 Create a New cell view; “File  New  Cell


View”, this will open a window which is
shown in Figure 6. Clicking Ok opens up a
schematic editor (for drawing the Schematic
of the circuit being designed as shown in the
Figure 7).
Schematic  Layout

Figure 7: Schematic
Schematic  Layout

 During the Schematic remember to define the


Vdd and Gnd as Bidirectional pins. Once you
are done with the Schematic do check and
save.
Schematic  Layout

Figure 8: Layout XL
Schematic  Layout

 Then use the Layout XL for the layout from


“Tools  Design Synthesis  Layout XL”.
Create New or open existing one (Figure 8).
Click Ok and it opens up a new Window,
“Layout XL”.
Schematic  Layout

Figure 9: Generate from Source


Schematic  Layout

 Click “Design  Generate from Source”, to get a


window (Figure 9) to generate the pmos, nmos and
the pins in the schematic to Layout.
 Choose “Metal1” as the Layer and click on Apply.
 Generally, the width of Gnd and Vdd used is 0.78.
Do not forget to click on Update or the changes will
not be applied.
 The Boundary height is fixed at 6.5 and the design
can stretch horizontally.
 Click Ok. The output of the Gen. from Source is
given in Figure 10.
Schematic  Layout

Figure 10: Output of Gen. from Source


Schematic  Layout

Figure 11: Component Types


Schematic  Layout

 Click “Design  Component Types”, this


opens a window for creating component
types (Figure 11). Use Capitals for the
Component type names.
 Type in the Component name in the “Type”
text box and click Add. For e.g. Type:
PHSMOS/NHSMOS.
 Choose the Component Class PMOS/NMOS,
as appropriate.
Schematic  Layout

Figure 12: Fold Threshold


Schematic  Layout

Figure 13: Source Terminal


Schematic  Layout

Figure 14: Drain Terminal


Schematic  Layout

Figure 15: Gate Terminal


Schematic  Layout

Figure 16: Bulk Terminal


Schematic  Layout

Figure 17: Active layer


Schematic  Layout
 In the Edit parameters section, use the following for the various
options: - Width Par Name : w, Fold Threshold : 5, Source
Terminal : S, Drain Terminal : D, Gate Terminal : G, Bulk Terminal
: should be B but leave blank as the Standard PMOS and NMOS
cell we are using has no Bulk, we have to create one, Active
layer : active drawing (Active dg). This is shown in the Figures
11, 12, 13, 14, 15, 16 and 17.
 Select “device_symbols phsmos”/”design_symbols nhsmos” from
the “Cells in selected scope” section on the left and using “>>>”
button add it to “Components in Type” section on the right.
 Click Ok after all the above options have been set.
Schematic  Layout

Figure 18: Pin Placement


Schematic  Layout

 Click “Place  Pin Placement” and it opens


up a dialog box shown in Figure 18. Do the
Following for placing the pins in the layout.
 Click on the “Link to Layout” Button which
turns into “Unlink from Layout” Button as
shown in the Figure 18.
 Click on the “Schematic View” in the “Place
pins as in” section.
Schematic  Layout

Figure 19: Output from Pin Placement


Schematic  Layout

 Select gnd! and vdd! separately from the Pin


Name section and click on the “HRail” Button
which turns into “unHRail”. Click Ok. The
output from the Pin Placement is shown in
Figure 19.
Schematic  Layout

Figure 20: PPART Partitioning


Schematic  Layout
 Click “Place  Partitioning”, which pops up a window shown in
Figure 20. This is used to create partitions.
 In the section “Choose or type a Partition name”, type the name of the
partition one would like to create for e.g. PPART/NPART and click on
“Create Partition”.
 Click on the “Link to design” which turns into “Unlink”.
 Choose “Softfence (SoftFnc dg) from the LSW window (Figure 21).
 Create a rectangle (“Create  Rectangle”) inside the Boundary area
of the Design (between Vdd and Gnd).
 Click on “Attach Shape” and click on the rectangle drawn on the layout
window.
 If the shape is attached the “Detach Shape” will be activated. (Incase
this doesn't happen just check whether the “Link to Design” button is
showing "Unlink", otherwise click on "Link to Design".)
Schematic  Layout

Figure 21 -- LSW
Schematic  Layout

Figure 22: NPART Partitioning


Schematic  Layout

 Select the MOSFETS in the Component


names and move the components by clicking
the Move button and choosing the right
Partition from the “Target Partitions” section
(PMOS in PPART and NMOS in NPART).
The NPART Partitioning is shown in Figure
22.
 After shifting all the MOSFETS to respective
partitions, Click Ok.
Schematic  Layout

Figure 23: Placement Planning


Schematic  Layout

 Click “Place  Placement Planning”, and a


window shown in Figure 23 opens up.
 Incase the Partitions are created choose the
required partition or else the default is
Boundary.
 Choose the “Components” tab and change
the Option for “Align Components” to
"Outside".
 Click on Calculate Estimates Button on the
lower left corner.
Schematic  Layout

Figure 24: Output of Placement Planning


Schematic  Layout

 This will calculate the number of NMOS and


PMOS in the design and the area in which it
will be placed inside the boundary area
(Figure 24). Click Ok.
Schematic  Layout

Figure 25: Placer


Schematic  Layout

 Click on “Place  Placer”, to open the


window shown in Figure 25.
 Select the Options (apart from the already
activated ones), “Group CMOS Pairs” and
“Optimize Placement”.
 Click on the “Set File” button (for the rules
file) and select Placer.rul from the Browse
window. Click Ok.
Schematic  Layout

Figure 26: Output from Placer


Schematic  Layout

 Incase the Placer gives an error just close


the placer and restart it. This should work.
 After placing is done, just verify that all the
I/O pins are outside the PMOS and NMOS
region, if not then manually shift them out
(Figure 26).
Schematic  Layout

Figure 27: Export to Router


Schematic  Layout

 Click “Route  Export to Router”, which


opens a window “Export to Router” (Figure
27).
 In the “Routers” section, select "Cadence
chip assembly router", the other option will
give license error. Click Ok.
Schematic  Layout

Figure 28: Router


Schematic  Layout

 Incase this gives an error, close ICFB and


restart it, and try the “Router  Export to
Router”, this should work (just check that the
option "Cadence chip assembly router" is
selected in the “Routers” section. A new
window opens up (Figure 28).
Schematic  Layout

Figure 29: Router


Schematic  Layout

 Goto “Autoroute  Detail Router  Detail


Route”, this opens a window (Figure 29)
where one can specify the number of passes.
Click Ok. This will route the whole design.
The output is shown in Figure 30.
Schematic  Layout

Figure 30: Output from Router


Schematic  Layout

Figure 31: Clean


Schematic  Layout

 In case one doesn't like the Routing, one can


use “Autoroute  Clean”: where one can
specify the number of passes, if one wants to
(Figure 31). Click Ok. This will clean the
Routing, like try to remove higher layers of
metal, if possible, etc (Figure 32).
Schematic  Layout

Figure 32: Output from Clean


Schematic  Layout

Figure 33: Routing Done


Schematic  Layout

 When the routing seems fine save it and


exit. This will save the Routing in the
Layout Window (Figure 33).
Schematic  Layout

Figure 34: Adding PTAP and NTAP


Schematic  Layout

 Add Instance of NTAP and PTAP, “Create


 Instance” (the number depends on the
size of the design).
 For arraying a row of NTAP/PTAP, just fill in
the number in the Columns section and the
Delta X section for the space between each
NTAP/PTAP (Figure 34). Click Hide.
Schematic  Layout

Figure 35: Creating Nwell


Schematic  Layout

 Choose Nwell (Nwell dg) from the LSW


window and using “Create  Rectangle”,
Create nwell as shown in Figure 35.
Layout  Extracted View

Figure 36: Extractor


Layout  Extracted View

 Click “Verify  Extract”, to view the window


as shown in Figure 36.
 Specify the “Extracted” name, in the “View
Names” Section, if not mentioned default is
"extracted".
 Specify the Rules file as "divaDRCEXT.rul", in
the “Rules File” Section.
 Set switches as extPAR_CapSingleNode, in
the “Switch Names”, by pressing “Set
Switches” button. Click Ok.
Layout  Extracted View

Figure 37: Extracted View


Layout  Extracted View

 This gives an extracted view of the design (Figure


37).
 Incase the extracted view has some error as "pin
in layout not in extracted view", then this is
problem and one may have to do the whole
procedure again, maybe including changes in
Schematic.
 Close the Layout (without saving), as one has the
extracted view already. This will also help in
generating many extracted view using the same
layout.
Extracted View  Simulation

Figure 38: Spectre


Extracted View  Simulation

 From the “Library Manager”, open the


“Extracted View” (Usually stored above the
layout and schematic for the “cell view”).
Click “Tools  Analog Environment”,
opens up Cadence Analog Design
Environment (Figure 38).
Extracted View  Simulation

Figure 39: Simulator Directory


Extracted View  Simulation

 Click “Setup 
Simulator/Directory/Host”, to setup the
simulator directory. Choose “spectre”
option in the “Simulator” section (Figure 39).
Choose the “Project Directory” as
“./simulation” (usually default is
~/simulation, don’t forget to change this to
./simulation, this will create simulation files
local to the project). Click Ok.
Extracted View  Simulation

Figure 40: Model Libraries


Extracted View  Simulation

 Click “Setup  Model Libraries”, to setup


the Model Libraries for the Spectre
Simulation (Figure 40). Click on Browse
button to add one by one,
common_active.scs, common_go1.scs,
common_ploy.scs and mos.scs, in the same
order as given, from the Corners Directory,
(will be in the imp_dot_files directory copied
during the setup or from the original Setup
directory) all with the Section TT. Click Ok.
Extracted View  Simulation

Figure 41: Simulation Files


Extracted View  Simulation

 Click “Setup  Stimuli”, for providing


input values to the input signals. If this
doesn't work, then try “Setup 
Simulation Files” (Figure 41).
 Specify the Stimulus File (like for e.g.,
"./fa.scs"), in the Stimulus File section.
Extracted View  Simulation

 Note the format for the pulse from the following


example:

 V0 (A 0) vsource dc=1.2 type=pulse val0=0.0 val1=1.2


period=1n delay=0 rise=100p fall=100p width=500p
 V1 (B 0) vsource dc=1.2 type=pulse val0=0.0 val1=1.2
period=1n delay=3n rise=100p fall=100p width=500p
 V2 (Cin 0) vsource dc=1.2 type=pulse val0=0.0 val1=1.2
period=2n delay=0 rise=100p fall=100p width=1n
 V3 (vdd! 0) vsource dc=1.2 type=dc
Extracted View  Simulation

Figure 42: Analyses


Extracted View  Simulation

 Click on “Analyses  Choose”, a window


opens up as shown in Figure 42. Choose
the radio option "tran" for “transient
analysis”, in the “Analysis” section.
 Choose the “Stop Time” say "10n".
 Choose the Accuracy Defaults as Moderate
and just be sure that the enabled is
activated. Click Ok.
Extracted View  Simulation

Figure 43: Save Options


Extracted View  Simulation

 Choose “Outputs  Save all”, and click


on all for “select power signals for output”
and “select device currents” sections
(Figure 43).
Extracted View  Simulation

Figure 44: Netlist


Extracted View  Simulation

 Click on “Simulation  Netlist and Run”.


This will open a window. Click Ok. If this
gives any error try copying the CORNERS
Directory into Your Project Directory.
 One can see the Netlist by clicking
“Simulation  Netlist  Display”. This
will open the netlist in a new window (Figure
44).
Extracted View  Simulation

Figure 45: Waveform Window


Extracted View  Simulation

 To view the waveform, go to “Results 


Direct plot  Transient Signal”.
 Just select the signals (pins, both input and
output) from the “Extracted View” window
and press "ESC" keeping the pointer in the
“Waveform Window”. This will plot the
waveform in the waveform window (Figure
45).
Extracted View  Simulation

Figure 46: Browse Project Hierarchy


Extracted View  Simulation

 More Analysis can be done using “Tools 


Results Browser”. A window opens as
shown in the Figure 46. Click Ok. This will
open another window as shown in Figure
47. In the “Result Browser” window, click
on the “Extracted_name  psf  tran-
tran”, Figure 48.
Extracted View  Simulation

Figure 47: Result Browser


Extracted View  Simulation

Figure 48: Tran-Tran


Extracted View  Simulation

Figure 49: Calculator


Extracted View  Simulation

Figure 50: Waveform Window Function


Extracted View  Simulation

 This gives Pwr, Currents (ID, IB, etc), etc.


Double click any of these, which open up in
calculator (Figure 49) by which one can do
lot of operations on them like average,
integrate, etc. Click on the required Special
Function using the “Special Function”
button and clicking plot to plot that function
on “Waveform Window” (Figure 50).
 Click on the “Extracted_name  psf 
finalTimeOP-info” (Figure 51).
Extracted View  Simulation

Figure 51: FinalTimeOP-Info


Extracted View  Simulation

Figure 52: Saving State


Extracted View  Simulation

 This gives the values for Vds, Vth, Ids, and


many more values regarding the various
MOSFETs used. Double click any of these
to see the Value.
 Before closing the Design environment,
save the state so that it helps the next time
one has to use the tool. Click “Session 
Saving State”, which opens a dialog box
as shown in Figure 52.
Conclusion

 Schematic to Layout Automated


 Extracted View from Layout, does a better
extraction and gives all parasitic
capacitances.
 Simulation from extracted view using
Spectre.
 Detailed analysis available apart from
Waveform, like power, Ids, etc.
 Documentation completed and submitted.
Future Work

 Compaction
 PLS Extract
 Abutment
Acknowledgements

 Dr. Bayoumi
 Soumik
 ST Microelectronics
Questions ????
Thank You !!!!

You might also like