0% found this document useful (0 votes)
276 views33 pages

ASIC Verification Calibre

Calibre PEX is used to extract an SPICE netlist including parasitic resistances and capacitances from the layout. The extracted netlist is then simulated to verify the post-layout functionality and timing of the design. Key steps include using Calibre PEX to extract a SPICE netlist from the layout, designating power and ground nets, and simulating the extracted netlist using a simulator like Spectre to verify timing and functionality post-layout.

Uploaded by

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

ASIC Verification Calibre

Calibre PEX is used to extract an SPICE netlist including parasitic resistances and capacitances from the layout. The extracted netlist is then simulated to verify the post-layout functionality and timing of the design. Key steps include using Calibre PEX to extract a SPICE netlist from the layout, designating power and ground nets, and simulating the extracted netlist using a simulator like Spectre to verify timing and functionality post-layout.

Uploaded by

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

ASIC Physical Design

Post-Layout Verification
ASIC Physical Design (Standard Cell)
(can also do full custom layout)
Component-Level Netlist (Verilog)

Std. Cell
Floorplan Cadence:
Layouts
Chip/Block Encounter
Libraries (std cells)
ICblocks
Virtuoso
Process Data (chip assembly)
Place & Route
Design Rules Std. Cells

Layout vs.
Generate Design Rule Backannotate
Schematic
Mask Data Check Schematic
Check
Calibre Calibre Calibre
IC Mask Data SPICE/ADiT Simulation Model
Cadence setup
 Copy files from /class/ELEC6250/CadenceFiles
(Replace dot with a period. Example: .cdsenv)
dotcdsenv to your home directory
dotcdsinit to your project directory
cds.lib to your project directory
display.drf to your project directory
dotsimrc to your project directory
addpowerv1.txt to your project directory
 Edit your .bashrc file with the setup information from
/class/ELEC6250/CadenceFiles/dotbasrch
Import digital block into Virtuoso
 Import GDSII layout information into Virtuoso:
 Encounter saves: mydesign.gds2
 Import into a Cadence library
 File > Import > Stream
 Results in cell “layout” view
 Import circuit netlist into Virtuoso:
 Gate-level netlist saved by Encounter: mydesign.v
 Import netlist into a Cadence Library
 File > Import > Verilog
 Results in cell “schematic” and “symbol” views
 Gates replaced by transistors using “cdslib” components

(Demonstration)
Virtuoso CIW (Command Interpreter Window)

Cadence libraries and tools are accessed from the CIW

Import/Export designs
Access libraries
BICMOS8HP PDK Items
File > Import > Stream
GDSII file from Encounter
My library for this cell
Name of top design cell
Technology library

Replace Verilog [ ]
with < >

Click Translate
Importing the Verilog netlist
 Verilog netlists saved by Synopsys Design Compiler and
Cadence Encounter do not contain ports or definitions of
power and ground connections.
 Manually add power/ground connections by executing the
following perl script from a linux command line.
perl addpowerv1.txt design.v design_vg.v
where:
addpowerv1.txt is provided with the setup files
design.v is the netlist generated by Encounter
design_vg.v is the netlist with VDD/GND added
Generated Verilog netlist
module modulo6 (VDD, VSS,
CLEARbar,
L_Cbar,
CLK, Power/ground added
I,
Q);
inout VDD, VSS;
input CLEARbar;
input L_Cbar;
input CLK;
input [2:0] I;
output [2:0] Q;
File > Import > Verilog

My library for this cell


Reference tech library*
Verilog file(s)

* Contains tech file for


“311” bicmos8hp

Creates schematic
and symbol views

Replace Verilog [ ]
with < >
Library Manager

Views
created by
import
New library
New cell

Double-click on view to open it in the appropriate tool.


Layout view of “modulo6”
Calibre LVS/DRC/PEX
Schematic view of “modulo6”
Symbol view of “modulo6”
Verify correctness of layout
 Open layout in Virtuoso
 Verify with Calibre or Assura tools
1. LVS (layout vs. schematic)
 Extract netlist from layout
 Compare extracted netlist to imported netlist
2. DRC (design rule check)
 Checks all layout levels
 Errors should be fixed as appropriate
3. PEX (parameter extraction)
 Extract netlist from layout, including R/C parameters
 Simulate netlist to verify functionality and timing
Calibre Layout-vs-Schematic (LVS) Check

Layout Schematic
Layout vs schematic check
(Calibre Interactive LVS)
 Compares extracted transistor-level netlist vs. netlist generated
from Verilog gate-level netlist
 From Layout GXL menu: Calibre > Run LVS
(Demonstrate )

Mentor Graphics LVS


 Rules: $ADK/technology/ic/process/tsmc035.calibre.rules
 Inputs/Layout: will be generated by Calibre
 Inputs/Netlist: count4.src.net (created in DA-IC)
Top-level cell: count4 (schematic name)
 Inputs/H-cells (hierarchical cells): $ADK/technology/adk.hcell
 Extracted file: count4.lay.net
Load rules file
tsmc035
Calibre inputs
Layout to be extracted
by Calibre (GDSII format)

Layout top cell name

Extracted layout netlist

Source netlist created in DA-IC

Schematic name

Hierarchical cells file:


$ADK/technology/adk.hcell
Calibre RVE to probe LVS results
Post-layout functional/timing verification
(Calibre PEX)
 Purpose: timing analysis & functional verification of the final
design
 analyze netlist extracted from layout
 parasitic wire capacitance
 parasitic wire to wire capacitance
 net and via resistance
 perform netlist & parameter extraction with Calibre PEX
 simulate in ADiT, Eldo, Spectre, PSPICE, HSPICE, etc.
Wire delay estimation
Tr

The distributed RC-line


R1 R2 RN-1 RN

C1 C2 CN-1 CN
Vin

2.5

x= L/10
2
Diffused signal x = L/4
propagation
voltage (V)

1.5

x = L/2
1

Delay ~ L2 x= L
0.5

0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
time (nsec)
Parameter extraction with Calibre PEX
 Extract SPICE netlist, including parasitic RC
 Transistor-level, gate-level, or hierarchical extraction
 With the layout cell open:
 In the menu bar: Calibre>Run PEX
 Input options: similar to Calibre LVS
 Extraction options (Outputs tab):
 choose “Transistor level”
 choose one of:
 C: lumped C + coupling cap’s
 RC: distributed RC
 RCC: distributed RC + coupling cap’s
 Click “Run PEX”
 Output files: modulo5.sp - main SPICE model (transistors)
modulo5.sp.pex - extracted R/C (lumped)
modulo5.sp.MODULO5.pxi - extracted C (coupling)
Extracted file – top level

Include extracted R/C

N transistor
source drain bulk gate
Extracted file – extracted R/C

Lumped capacitance

Resistance
Calibre PEX inputs

Specify rules file:


$ADK/technology/ic/process/tsmc035.calibre.rules
Calibre PEX inputs
Name of layout file (count4.gds)
Specify rule file: GDSII file format
Check to generate new layout file
Name of top cell (count4)

Source(SPICE) netlist created in DA-IC

Top-level cell name in SPICE netlist

Hierarchical cells file:


$ADK/technology/adk.hcell
Calibre PEX netlist output

Lumped
capacitance

Use net names


from LAYOUT
Designate GND and VDD nets

You might also like