Developed by: Zheng Chen,
Modified by: Liang Yin, Richard K Wallace,Y.Guo, Haibo He, Lily Li, Yinyin Liu
Last Modified 1/26/03
INTRODUCTION: This lab exercise
introduces how to verify the layout of my_inverter created in the last lab,
using Mentor IC verification toolsets. This lab will cover:
Before you go to this Lab,
please check the following environment setting in your .cshrc file:
CAL_HOME /home/mgmgr/mg07/Calibre/ss5_cal_2007.2_26.18
If the slash(/) after Calibre is missing, please insert the slash and source your .cshrc file first.
DRC with ICrules:All the other IC verification toolsets are integrated within ICStation environment. ICrules is used for design rules checking (DRC).
1) Generate Design viewpoint: in the Console window, type the following command to generate design viewpoint:
adk_dve /home/<your user name here>/mgc/class/my_inverter
This will generate the design viewpoint. The design viewpoint are used by different applications, for example, LVS view point. Although the different application's object is the same one created from Design Architect, their requested information is different between each other. It can be explained that these applications deal with the design object with different viewpoint. Just like a person, who is a teacher to his students, a father for to his daughter and a son to his parents. We need to create different viewpoints for different applications. After back annotation, the design object will include the information from different viewpoints.
2) start the IC Station by input :
adk_ic
3) Open the my_inverter cell that you created in lab2 from /home/<your user name here>/mgc/class/physical_lib directory.
4) Set your working directory by using the pull down menu, MGC>Location Map>Set Working Directory and enter:
/home/<your user name here>/mgc/class/physical_lib
5) Click on the ICrules item on the IC palette. You may have a look at which design rules will be checked, by selecting List>Checks. All the rules displayed in the dialog box are defined in the design rules file $ADK/technology/ic/ami05.rules.
6) Select the pull-down menu MGC>Setup>Session... to set sessions shown as left right tiling.
7) Open the transcript window by selecting MGC>Transcript>Show Transcript.
8) Activate the layout window by clicking on the layout screen and click on
the Check item on the IC Rules palette and press [OK] in
the Check DRC box. You will see all the checking results shown in the
transcript window.

9) If you got design rules violations, scan these violations by selecting [Set Scan to] First and Next, and so on, which is located on the palette window. At the bottom of the transcript a line such as (DRC compleated, Total Rule Checks:82; Total Results: 0: Total Original Geometries: 37 ... etc). The number beside Total Results signifies design Errors.
There maybe one error in this lab regarding VDD and GND connection. To solve this, you need to fully cover the VDD and GND with a Meral1 layer. Refer to Lab 2 for how to put this layer.
Other common errors come from the space limitation violation - please follow the design rules in the text book for reference.
A) To edit your cell select the pull down menu File>Cell>Reserve.
B) Correct the violations using layout editing techniques learned in Lab 2 and by following the design rules in the book (Digital Integrated Circuits by Jan M. Rabaey, page 97).
C) DRC again until no violation is found.
D) Save your cell. File>Cell>Save Cell.
LVS using ICtrace (M): There exist two types of layout versus schematic (LVS) verifications, Direct and Mask. LVS compares the schematic connections you created in Design Architect to the net connections made in the IC Station.
Direct mode compares
the electrical connectivity at the current heiarchy and stores the connectivity
information directly within the cell. This mode allows for top down design
where subcomponents may not be implemented yet. Direct mode views subcomponents
from a "Black Box" perspective.
Mask mode compares
electrical connectivity of the entire ICgraph hierarchical layout with the
connectivity of the source circuit. Mask mode is the most complete
connectivity checking but on large designs it requires excessive time to
extract at every heirarchy.
1) If the active palette is still the ICrules palette, select Back to go back to IC palette. Then select ICtrace (M) item.
2) Select Logic>Open: from the ICtrace (M) palette and navigate to your /home/<your user name here>/mgc/class/my_inverter/lvs directory. This will open the schematic design viewpoint you created in Design Architect, lab 1. You can manually compare connections between the schematic and the layout, by selecting nets (interconnections) or instances (parts) in the schematic window.
3) Select the pull down menu File>logic>close to allow LVS to perform.
4) Click on LVS in the ICtrace (M) palette. In the dialog box, it will automatically show the Report name with lvs.rep (if it doesn't automatically show, you need to input this). Select Source name with /home/<your user name>/mgc/class/my_inverter/lvs (design viewpoint file you created).
A) Click on the Setup LVS... button.
In the Setup LVS
form change the following items and click OK
Ground Names : VSS GND Recognize Gates : Yes
B) Run LVS by pressing [OK] in the LVS (Mask) dialog box.
5) When the LVS check completes, select Report>LVS
from ICtrace (M) palette. If you see a cross symbol in the
report file(Figure 2), which means that this LVS failed. The errors are
listed below that cross symbol, you should look at them and correct your layout
.
Figure
2: Incorrect LVS

There are two errors you may have here - we use these errors to show you how to correct the LVS.
(1) In the schematic you designed in lab 1, we are using W =5 and L = 2, while in lab2 when you create the layout, we are using W=4 and L=2. Therefore, you need to change the transistor in the schematic that you created in lab 1 to W=4. To do this, after you open the schematic in Design Architecture, select the transistor, right click the mouse, select "Properties". you will see all the parameters related to the transistor. select "Width = 4", click OK. and you will be asked to modify the property. Change the Value to 5.
(2) Connect the "Bulk" terminal (the arrow terminal) of PMOS to VDD, and connect the Bulk terminal of NMOS to GND.
(3) After you modifed the schematic, Check & Save. and go to regenerate the design viewpoint. Type the following command in the Console.
adk_dve /home/<your user name here>/mgc/class/my_inverter
After that, run LVS again, and check Report->LVS
again, you should see a smiley face, which means your layout is correct now,
otherwise repeat previous steps until you see the smiley. You may use cross
probing and highlighting to understand the relation between the layout and the
schematic. When you select the net VSS in the schematic window, you may
find that the polygon of P-well in the layout window is not highlighted, while
the whole substrate is highlighted. This is because the p-well layer is not defined
in the design rules.
Figure
3: Correct Lvs

Post-layout
Extraction using Calibre PEX:
With the layout complete and passing LVS and DRC, it is time to extract the layout parasitic netlist. This will give you a spice netlist of your layout complete with resistance, parasitic capacitance and coupling capacitance. For the extraction process you will use Calibre Interactive - PEX.
Before you run
PEX, you need to generate the netlist. Got to ICTrace (M) from the IC Palettes,
click on "Netlist". In the pop-up window, input a name for the
netlist : my_inverter_netlist, keep all the other setting as default and
click OK This will generate netlist for your PEX.
Step 1: In IC Stations menu bar, select Calibre -> Run PEX. In the pop-up window, input the Path to Calibre tree
$CAL_HOME
This will launch Calibre Interactive - PEX.
Step 2: If this is your first time running Calibre Interactive - PEX you will need to create a new runset so just click Cancel. If you have run Calibre before find the previous runset. This will simplify setting up Calibre.
Step 3: Begin
by clicking the Rules
button
and setting the rule file and working directory. The rule file should be of the
form:
$ADK/technology/ic/process/ami05.calibre.rules
The Rules button should now be green.
Step 4: Next
click the Inputs
button.
The Layout tab should be set
correctly. Under the H-Cells
tab,
change the PEX x-cell file
path to
$ADK/technology/adk.hcell.
Under "Netlist" tab, change the "Files" to be "my_inverter_netlist" that you generated.
Step 5: Now
select the Outputs button. At the top, the Extraction Type should be Transistor
Level and you can choose one of the following types:
RCC -
Distributed RC network with coupling capacitors
RC -
Distributed RC network without coupling capacitors
C - Lumped net capacitance with coupling capacitors
Select the first one: Distributed RC + coupling caps
Step 6: In
the Netlist tab you can setup the
output format and file name. Choose DSPF
as the Format and Use Names From: SCHEMATIC. You should also
see there is a name for File: "my_inverter.pex.netlist". You
may change this file name to be "my_inverter.pex.netlist_DSPF" for
you to remember that the output file is a DSPF format. Remember this
output file name since you will need this output file for post-layout
simulation.
Step 7: Next
choose Setup
-> PEX Options from the menu bar. In the
Netlist tab click the Ground node name: check box and enter GND. In the LVS Options tab set Recognize gates: to All. Also enter the
following:
Power nets: VDD
Ground nets: GND
Step 8: You
should now be all set to perform the extraction so click Run PEX. If a pop up asks to
overwrite the layout file click OK
to ensure
Calibre sees any recent changes to your layout.
Step 9: When
Calibre has completed the extraction a window will pop up showing the top level
of the extracted netlist. Notice that there may be up to two additional
netlists which will be included into the top level. The first will contain the
RC networks and the second will contain the coupling capacitors.
Note: You should not attempt to extract your design once it has been put into a padframe.
Post-layout Simulation with AMS
We already covered the materials for AMS simulation in the first lab. In this section, we will do the post-layout simulation using the PEX file you just generated.
Step 1: Open da_ic (remember go to p3 first if you are in SOLARIS10), and open the schematic in your lab 1 design.
Step 2: Enter simulation model by selecting Analog/Mixed Signal Configuration - refer to lab 1 for detail.
Step 3: In the menu, select Parasitics -> Add DSPF. Browse to the dspf file you just generated in the PEX step. Select the Level as "RCC"
click OK. This will bring you to the post-layout simulation considering parasitics. You will see the "..../eldonet:(DSPF + RCC)" in the top of the schematic window. This means you are doing post-layout simulation with the consideration of PEX.
Step 4: Follow the AMS simulation steps as you did in the first lab, and observe the simulation waveform.
Once your simulation is working properly, show the simulation results to TA.
Note: Finish this
exercise by closing all Mentor tools.