07.04.2013 Views

Lab 3: Getting Started with DRC, LVS, PEX

Lab 3: Getting Started with DRC, LVS, PEX

Lab 3: Getting Started with DRC, LVS, PEX

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Lab</strong> 3: <strong>Getting</strong> <strong>Started</strong> <strong>with</strong> <strong>DRC</strong>, <strong>LVS</strong>,<br />

Last Modified Jan. 12, 2008<br />

<strong>PEX</strong><br />

INTRODUCTION: This lab exercise introduces how to verify the layout of<br />

my_inverter created in the last lab, using Mentor IC verification toolsets. This lab will<br />

cover:<br />

Design rules checking (<strong>DRC</strong>) <strong>with</strong> ICrules.<br />

Layout versus schematic (<strong>LVS</strong>) <strong>with</strong> ICtrace.<br />

Parasitic extraction (<strong>PEX</strong>) <strong>with</strong> ICextract.<br />

<strong>DRC</strong> <strong>with</strong> ICrules:All the other IC verification toolsets are integrated <strong>with</strong>in<br />

ICStation environment. ICrules is used for design rules checking (<strong>DRC</strong>).<br />

1) Generate Design viewpoint: in the Console window, type the following command to<br />

generate design viewpoint:<br />

adk_dve /home/vlsi/cad2008/cadxx/my_inverter/my_inverter<br />

This will generate the design viewpoint. The design viewpoint are used by different<br />

applications, for example, <strong>LVS</strong> view point. Although the different application's object is<br />

the same one created from Design Architect, their requested information is different<br />

between each other. These applications deal <strong>with</strong> the design object <strong>with</strong> different<br />

viewpoints. Just like a person, who is a teacher to his students, a father to his daughter<br />

and a son to his parents. We need to create different viewpoints for different applications.<br />

After back annotation, the design object will include the information from different<br />

viewpoints.<br />

2) start the IC Station by input :<br />

adk_ic &<br />

3) Open the MY_INV cell that you created in lab2 from<br />

/home/vlsi/cad2008/cadxx/physical_lib directory.<br />

4) Set your working directory by using the pull down menu, MGC>Location Map>Set<br />

Working Directory and enter: /home/vlsi/cad2008/cadxx/physical_lib<br />

5) Click on the ICrules item on the IC palette. You may have a look at which design<br />

rules will be checked, by selecting List>Checks. All the rules displayed in the dialog box<br />

are defined in the design rules file $ADK/technology/ic/process/ami05.rules. Select the<br />

rule you want to check and click OK. Click Cancel to close the window.


6) Select the pull-down menu MGC>Setup... to set sessions shown as left right tiling.<br />

Click OK.<br />

7) Open the transcript window by selecting MGC>Transcript>Show Transcript.<br />

8) Activate the layout window by clicking on the layout screen and click on the [Check]<br />

item on the IC Rules palette and press OK in the Check <strong>DRC</strong> box that pops up in the<br />

lower left corner of the layout window. You will see all the checking results shown in the<br />

transcript window.<br />

Figure 1: Design Rules Check Window<br />

9) If you got design rules violations, scan these violations by selecting Set Scan to<br />

[First], which is located on the palette window (which is only shown when the layout<br />

window is active) to see the first error, which is higlighted in the layout. It can be<br />

convenient to zoom in on the error to be able to correct it. Press [Next] until all errors are<br />

corrected.


At the bottom of the transcript a line such as (<strong>DRC</strong> compleated, Total Rule Checks:79;<br />

Total Results: 0: Total Original Geometries: 41 ... etc). The number beside Total Results<br />

signifies design Errors.<br />

There may be errors in this lab regarding VDD and GND connection. To solve this, you<br />

need to fully cover the VDD and GND <strong>with</strong> a Metal1 layer. Refer to <strong>Lab</strong> 2 for details on<br />

how to define this layer.<br />

Other common errors come from the space limitation violation.<br />

A) To edit your cell select the pull down menu File>Cell>Reserve.<br />

B) Correct the violations using layout editing techniques learned in <strong>Lab</strong> 2.<br />

C) <strong>DRC</strong> again (by repeating steps 8-9 above) until no violation is found,.<br />

D) Save your cell. File>Cell>Save Cell>Current Context.<br />

<strong>LVS</strong> using ICtrace (M): There exist two types of layout versus schematic<br />

(<strong>LVS</strong>) verifications, Direct and Mask. <strong>LVS</strong> compares the schematic connections you<br />

created in Design Architect to the net connections made in the IC Station.<br />

Direct mode compares the electrical connectivity at the current heiarchy and stores<br />

the connectivity information directly <strong>with</strong>in the cell. This mode allows for top down<br />

design where subcomponents may not be implemented yet. Direct mode views<br />

subcomponents from a "Black Box" perspective.<br />

Mask mode compares electrical connectivity of the entire ICgraph hierarchical<br />

layout <strong>with</strong> the connectivity of the source circuit. Mask mode is the most complete<br />

connectivity checking but on large designs it requires excessive time to extract at every<br />

heirarchy.<br />

1) If the active palette is still the ICrules palette, select Back to go back to IC<br />

Palette. Then select ICtrace (M) item.<br />

2) Select Logic>Open: from the ICtrace (M) palette and navigate to your<br />

/home/vlsi/cad2008/cadxx/my_inverter/my_inverter/lvs directory. Click OK<br />

This will open the schematic design viewpoint you created in Design Architect, lab 1.<br />

You can visually compare connections between the schematic and the layout, by selecting<br />

nets (interconnections) or instances (parts) in the schematic window. If the design does<br />

not open; choose File>logic>close and try again.<br />

3) Activate the layout window. Select the pull down menu File>logic>close to allow<br />

<strong>LVS</strong> to perform.<br />

4) Click on <strong>LVS</strong> in the ICtrace (M) palette. In the dialog box, it will automatically<br />

show the Report name as lvs.rep (if it doesn't automatically show, you need to input<br />

this). Select Source name <strong>with</strong><br />

/home/vlsi/cad2008/cadxx/my_inverter/my_inverter/lvs (design viewpoint file you<br />

created). Click OK.<br />

A) Click on the Setup <strong>LVS</strong>... button. In the Setup <strong>LVS</strong> window: change the<br />

following items Ground Names: VSS GND Recognize Gates : Yes and click OK.<br />

B) Run <strong>LVS</strong> by pressing [OK] in the <strong>LVS</strong> (Mask) dialog box.<br />

5) When the <strong>LVS</strong> check completes, select Report><strong>LVS</strong> from ICtrace (M)<br />

palette.(Activate layout window to see the ICtrace (M) palette)


If you see a cross symbol in the report file(Figure 2), which means that this <strong>LVS</strong> failed.<br />

The errors are listed below that cross symbol, you should look at them and correct your<br />

layout .<br />

Figure 2: Incorrect <strong>LVS</strong><br />

There are two errors you may have here - we use these errors to show you how to correct<br />

the <strong>LVS</strong>.


(1) In the schematic you designed in lab 1, we are using W =5 and L = 2, while in<br />

lab2 when you create the layout, we are using W=4 and L=2. Therefore, you need<br />

to change the transistor in the schematic that you created in lab 1 to W=4. To do<br />

this, after you open the schematic in Design Architecture, select the transistor, right<br />

click the mouse, select "Properties". You will see all the parameters related to the<br />

transistor. Select "Width = 5", click OK. and you will be asked to modify the<br />

property. Change the Value to 4.<br />

(2) Connect the "Bulk" terminal (the arrow terminal) of PMOS to VDD, and<br />

connect the Bulk terminal of NMOS to GND.<br />

(3) After you modifed the schematic, Check & Save and go to regenerate the<br />

design viewpoint. Type the following command in the Console.<br />

adk_dve /home/vlsi/cad2008/cadxx/my_inverter/my_inverter/my_inverter<br />

Exit and reopen IC station. Run <strong>LVS</strong> again, and check Report-><strong>LVS</strong> again, you should<br />

see a smiley face, which means your layout is correct now, otherwise repeat previous<br />

steps until you see the smiley.<br />

You may use cross probing and highlighting (activate the layout window choose<br />

Connectivity>Net>Highlight) to understand the relation between the layout and the<br />

schematic. When you select the net VSS in the schematic window, you may find that the<br />

polygon of P-well in the layout window is not highlighted, while the whole substrate is<br />

highlighted. This is because the p-well layer is not defined in the design rules.<br />

Figure 3: Correct Lvs


Post-layout Extraction using Calibre <strong>PEX</strong>:<br />

With the layout complete and passing <strong>LVS</strong> and <strong>DRC</strong>, it is time to extract the layout<br />

parasitic netlist. This will give you a spice netlist of your layout complete <strong>with</strong> resistance,<br />

parasitic capacitance and coupling capacitance. For the extraction process you will use<br />

Calibre Interactive - <strong>PEX</strong>.<br />

Before you run <strong>PEX</strong>, you need to generate the netlist. Got to ICTrace (M) from the IC<br />

Palettes, click on [Netlist]. In the pop-up window, input a name for the netlist :<br />

MY_INV_netlist, keep all the other setting as default and click OK This will generate<br />

netlist for your <strong>PEX</strong>.<br />

Step 1: In IC Stations menu bar, select Calibre -> Run <strong>PEX</strong>. In the pop-up window,<br />

input the Path to Calibre tree<br />

$CAL_HOME<br />

This will launch Calibre Interactive - <strong>PEX</strong>.


Step 2: If this is your first time running Calibre Interactive - <strong>PEX</strong> you will need to<br />

create a new runset so just click Cancel. If you have run Calibre before find the previous<br />

runset. This will simplify setting up Calibre.<br />

Step 3: Begin by clicking the Rules button and setting the rule file and working<br />

directory. The rule file should be of the form:<br />

$ADK/technology/ic/process/ami05.calibre.rules<br />

The Rules button should now be green.<br />

Step 4: Next click the Inputs button. The Layout tab should already be set correctly.<br />

Under the H-Cells tab, change the <strong>PEX</strong> x-cell file path to<br />

$ADK/technology/adk.hcell.<br />

Under "Netlist" tab, change the "Files" to be "MY_INV_netlist" that you generated.<br />

Step 5: Now select the Outputs button. At the top, the Extraction Type should be<br />

Transistor Level and you can choose one of the following types:<br />

RCC - Distributed RC network <strong>with</strong> coupling capacitors<br />

RC - Distributed RC network <strong>with</strong>out coupling capacitors<br />

C - Lumped net capacitance <strong>with</strong> coupling capacitors<br />

Select the first one: Distributed RC + coupling caps<br />

Step 6: In the Netlist tab you can setup the output format and file name. Choose DSPF as<br />

the Format and Use Names From: LAYOUT. You should also see there is a name for<br />

File: " MY_INV.pex.netlist ". You may change this file name to be<br />

"MY_INV.pex.netlist_DSPF" for you to remember that the output file is a DSPF<br />

format. Remember this output file name since you will need this output file for postlayout<br />

simulation.<br />

Step 7: Next choose Setup -> <strong>PEX</strong> Options from the menu bar. In the Netlist tab click<br />

the Ground node name: check box and enter GND. In the <strong>LVS</strong> Options tab set<br />

Recognize gates: to All. Also enter the following:<br />

Power nets: VDD<br />

Ground nets: GND<br />

Step 8: You should now be all set to perform the extraction so click Run <strong>PEX</strong>. If a pop<br />

up asks to overwrite the layout file click OK to ensure Calibre sees any recent changes to<br />

your layout.<br />

Step 9: When Calibre has completed the extraction a window will pop up showing the<br />

top level of the extracted netlist. Notice that there may be up to two additional netlists<br />

which will be included into the top level. The first will contain the RC networks and the<br />

second will contain the coupling capacitors.<br />

Step 10: Close IC station

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!