ICbackend ch8
ICbackend ch8
Verification--Calibre
4-1
CIC
Verification--Calibre
Concept
Design Rule check
Layout vs. Schematic
Parasitic Extraction using XCalibre
4-2
CIC
Verification--Calibre
Concept
Design Rule check
Layout vs. Schematic
Parasitic Extraction using XCalibre
4-3
CIC
Design Flows
Netlist
Simulation
Completed Layout
Layout Verification
4-4
CIC
The Need of Layout Verification
Functional Design verification is only for designer
Physical design must meet process rules for manufacture
reliability
Even commercial placement & route tool can introduce
error
Converting layout database to foundry acceptable format
may introduce error
The performance of design after layout need to be verified
4-5
CIC
4-6
CIC
4-7
CIC
Layout Verification
DRC(Design Rule Check):
z checks physical layout data against fabrication-specific rules
ERC(Electrical Rule Check):
z checks for electrical violations
LVS(Layout Versus Schematic):
z checks the connectivity of a physical layout design to its related schematic
LPE(Layout Parasitic Extraction):
z extracts the parasitic effect resulted from the interconnection of layout design
4-8
CIC
Verification--Calibre
Concept
Design Rule check
Layout vs. Schematic
Parasitic Extraction using XCalibre
4-9
CIC
4 - 10
CIC
What is a SVRF ?
Stand Verification Rule Format (SVRF)
file – rule file (or called command file)
z Used by calibre
z A language standard that controls tool functionality
The rule file has two main elements.
zOperations
zSpecification statements
4 - 11
CIC Examples of SVRF Rule File
Statements
Layer Statements
layer PWELL 1
layer OXIDE 2
layer RES 3
layer POLY 4
Derived Layers
gate = poly and oxide
sd = oxide not poly
Connect Statements
connect metal1 poly nsd psd by contact
connect metal2 metal1 by via
RuleChecks
min_poly_width {internal poly < 1.25}
min_metal1_space {external metal1 < 2.0}
Device Statements
device mn ngate poly nsd nsd pwell [0]
4 - 12
CIC
4 - 13
CIC
4 - 14
CIC
Arguments:
writedatabase: Translates GDSII layout database to binary polygon format.
mergedatabase: Directs GDSII reader to merge geometries on a per-cell,
per-layer basis as the stream is read into memory.
rule_file_name: The pathname to the rule file.
4 - 15
CIC
Running Calibre DRC(1)
virtuoso link
virtuoso Calibre
4 - 16
CIC
Using Calibre DRC (2)
Calibre DRC rule file
check layout
(check area)
4 - 17
CIC
DRC Report
layout_cell_name.drc.summary
run DRC
report
4 - 18
CIC
Using Calibre -- DRC (4)
setup -> select checks
rule
4 - 19
CIC
Using Calibre -- DRC (5)
Run Calibre DRC option
64bit server 行
不
行 RVE
4 - 20
CIC
Calibre RVE
Click 立 Layout Tool (
Virtuoso Layout Editor) show error
edge
4 - 21
CIC
4 - 23
CIC
Extension too
small
4 - 24
CIC
Enclosure
Violation
4 - 25
CIC
4 - 26
CIC
4 - 27
CIC
4 - 28
CIC
4 - 29
CIC
Introduction to Antenna
Problems
Antenna checks limit damage to gate oxide during mask fabrication due to
excessive charge collected on polysilicon and/or metal interconnect.
A simple antenna check would read like this: “The ratio of the polysilicon
area+metal1 on same net to the total area of the gates formed by the
polysilicon polygons on the net must be less than 50.”
Poly
Metal
4 - 30
CIC
ANT.me6_ca {@ Poly+ME1+ME2+ME3+ME4+ME5+ME6 area / gate area >= 400 unless connected to diode
x = NET AREA RATIO me6_gate_ca DIODE ==0
y = NET AREA RATIO PO1 x >0
z = NET AREA RATIO ME1 y >0
u = NET AREA RATIO ME2 z >0
l = NET AREA RATIO ME3 u >0
m = NET AREA RATIO ME4 l >0
n = NET AREA RATIO ME5 m >0
o = NET AREA RATIO ME6 n >0
ornet (ornet (ornet (ornet (ornet (ornet y z) u) l ) m) n) o
}
4 - 31
CIC
4 - 32
CIC
RuleCheck Selection
By default, Calibre DRC selects and executes all RuleChecks.
Control which rules Calibre DRC executes with:
DRC Select Check rule_name
Calibre DRC uses only the rules you name with this statement, otherwise all
rules are run.
Use DRC Select Check when you want to run only one or a few of the rules.
4 - 34
CIC
4 - 35
CIC
4 - 36
CIC
兩
DRC
4 - 37
CIC
Cell Exclusion
Calibre normally checks every cell.
To exclude alignmentmarkers, trademarks, and so on, use:
Exclude Cell cell_name
Calibre will process no objects from any placement of the
excluded cell, including all hierarchical instances.
Cell names can include wildcard characters: Not supported for
binary and ASCII input database formats.
4 - 38
CIC
4 - 39
CIC
4 - 40
CIC
Top-Cell
4 - 41
CIC
4 - 42
CIC
4 - 43
CIC
4 - 44
CIC
4 - 45
CIC
Verification--Calibre
Concept
Design Rule check
Layout Versus Schematic
Parasitic Extraction using XCalibre
4 - 46
CIC
Layout Versus Schematic
Design View
z Composer
Layout View
zVirtuoso
zLaker
Schematic HDL
Compilation Compilation
Connectivity Device
Extraction Extraction Comparison
Source Netlist
Phase
Layout Netlist
Verification
Results
4 - 47
CIC
4 - 48
CIC
Process Flow for Calibre LVS
Completed Completed
Rule File
Source Layout
Netlist
CALIBRE LVS extraction
Extracted
Report File LVS Results
Netlist
Data Base
4 - 49
CIC
4 - 50
CIC
4 - 51
CIC
4 - 52
CIC
4 - 53
CIC
4 - 54
CIC
Using Calibre LVS in a Flat
Configuration
Flattens the layout database; operates on resulting
flattened structure (same as Calibre DRC)
Is most useful for layout with little repetition of
structure or with few levels of cell hierarchy
Creates same type of Standard Verification Database
as Calibre LVS-H
MASK SVDB DIRECTORY filename QUERY
z generates files for query server (RVE)
MASK SVDB DIRECTORY filename NOFLAT
z supresses SVDB generation for a flat run
4 - 55
CIC
Invoking Calibre LVS in a Flat
Configuration
Example: calibre -lvs rule_file
RULE FILE
LAYOUT SYSTEM GDSII
LAYOUT PATH “/user/training/mydesign.gds”
LAYOUT PRIMARY lab5
4 - 56
CIC
4 - 57
CIC
4 - 58
CIC
Invoking Calibre LVS-H in a
Comparison Configuration
Both layout and source are SPICE
Example: calibre -lvs -hier -auto rule_file
RULE FILE
LAYOUT SYSTEM SPICE
LAYOUT PATH “/user/training/layout.spi”
LAYOUT PRIMARY lab5
SOURCE SYSTEM SPICE
SOURCE PATH “/user/training/circuit.spi”
SOURCE PRIMARY lab5
MASK SVDB DIRECTORY svdb QUERY
LVS REPORT “lvs.rpt”
4 - 59
CIC
4 - 60
CIC
4 - 61
CIC
4 - 62
CIC
Creating the Hcell Correspondence
File
Create the file with an ASCII editor
Insert one cell per line in the form:
layout_name source_name
Including the top-level cell is not necessary
Specifying 1-to-n or n-to-1 correspondence is permissible
Enter comments by starting a line with “//”
Do not use trailing comments
LVS-H treats cell names as case insensitive
LVS-H issues a warning for cell names not found
4 - 63
CIC
Example Hcell Correspondence
File RULE FILE
// HCELL FILE
// PROJECT NAME: mydesign
// LAYOUT CELL SOURCE CELL
a1220 NAND2_1
a1230 MUX2
a1240 NOR2_1
a1310 A1310
a1620 A1620
a1720 A1720
a2311 A2311
lab5 top_cell
4 - 64
CIC
4 - 65
CIC
Using Calibre -- LVS (1)
4 - 66
CIC
Using Calibre -- LVS (2)
Calibre LVS rule file view
rule file
4 - 67
CIC
Using Calibre -- LVS (3)
Run Cell
(Automatch) Hcell Table兩
不
4 - 68
CIC
Using Calibre -- LVS (4)
LVS report
layout_cell_name.lvs.report
run LVS report
4 - 69
CIC
Using Calibre -- LVS (5)
Run Calibre LVS option
64bit server 行
不
行 RVE
4 - 70
CIC
report
LVS check REV
Design Match
4 - 71
CIC
Open Circuits
An open circuit occurs when continuity is not maintained over the entire
length of a layout net
Simple example:
4 - 72
CIC
4 - 73
CIC
4 - 74
CIC
4 - 75
CIC
Short Circuits
A short circuit occurs when two nets that should beisolated
from each other are connected together
Simple example:
4 - 76
CIC
4 - 77
CIC
4 - 78
CIC
Source netlist
net 連 Cell
路
Layout netlist
4 - 79
CIC
Cell
路
4 - 80
CIC
In this example, Calibre would see the same number of nets in both the
layout and the source:
number of layout nets = number of source nets
Invoke LVS-H as before
Intended layout Actual layout
4 - 81
CIC
net 列
4 - 82
CIC
4 - 83
CIC
4 - 84
CIC
Pin Swapping
Occurs when the pin connection order of a primitive is different between
source and layout netlists
Is allowable when pins of a device or gate primitive are designated as
logically equivalent
Facilitates routing
Pin Swapping example:
A
B
C
E F
4 - 85
CIC
Avoiding False Pin Swap
Discrepancies in LVS
Use the Rule File to designate swappable pins:
Add pin names to a <pin-swap> list in a DEVICE
statement
List pins on a single layer in a DEVICE statement
Add the LVS RECOGNIZE GATES specification
Note that pins swappable by default include:
Device pins with identical names
Source and Drain pins of MOS regular transistors
Capacitor pins, unless Rule file contains the specification:
LVS ALL CAPACITOR PINS SWAPPABLE NO
Resistor pins
4 - 86
CIC
Verification--Calibre
Concept
Design Rule check
Layout vs. Schematic
Parasitic Extraction using XCalibre
4 - 87
CIC
PEX
料 路 便 行post-layout
路
LPE SPICE DSPF(Detailed Standard
Parasitic Format) RSPF(Reduced Standard Parasitic
Format)(for HPRE only)
Command file Extraction 度
4 - 88
CIC
Post-Layout Simulation(1)
• The netlist of SPICE/CDL format that includes
parasitic element can be obtained after the
Dracula LPE/PRE. It can be used for post
simulation by circuit simulator, such as
SPICE or TimeMill,PowerMill and PathMill.
• Add simulation control and input stimulus for
final simulation (Post-layout simulation)
4 - 89
CIC
Post-Layout Simulation(2)
• Post-layout simulation, 路
interconnect parasitics 度
• Signal Coupling Post-layout
simulation 來
• Power/Ground bounce 度
extracting power/ground line parasitics 來
4 - 90
CIC
CALIBRE PEX
Extracted
Report File
Netlist
4 - 91
CIC
4 - 92
CIC
Type of Parasites
Capacitance:
A change developed between conductors which opposes
changes in voltage
Resistance:
A restriction to flow of current through a conductor
Inductance :
A change developed in the magnetic field around a
conductor which opposes change in current
4 - 93
CIC
Parasitics Capacitance
metal
Intrinsic
Substrate
Coupled
metal metal
metal
4 - 94
CIC
Parasites Resistance
Conductor path (squares)
Interconnect (contact/via )
4 - 95
CIC
Model Parasites
Lumped Capacitance
C total
Distributed Resistance/Capacitance
Intrinsic or
coupled
Distributed Resistance/Coupled Capacitance
coupled
Intrinsic
4 - 96
CIC
4 - 97
CIC
4 - 98
CIC
virtuoso link
virtuoso Calibre
4 - 99
CIC
4 - 100
CIC
Run Cell
(Automatch) Hcell Table兩
不
4 - 101
CIC
4 - 102
CIC
Lumped Capacitance
立SVDB 料
( RVE讀 ) RVE
SVDB
料 錄
4 - 103
CIC
References
• H.B. Bakoglu “Circuits, Interconnections, and packaging for VLSI”
• John P. Uyemura, “Introduction to VLSI circuits and systems”
• M. Michael Vai, “VLSI design”
• Y. Taur, and T. H. Ning “Fundamentals of Modern VLSI Devices”
• R. L. Geiger, P. E. Allen, and N. R. Strader: “VLSI Design Techniques for
Analog and Digital Circuits”
• “CCL TECHNICAL JOURNAL”(42 )pp.10~24
• Foundry Design Documents
• “RF CMOS IC Design Flow” training manual of CIC, 2002
• “Using Calibre Student Workbook” training manual of Mentor, 2003
• “xCalibre/Calibre XRC training” training manual of Mentor, 2003
4 - 104