PV - Upload
PV - Upload
Physical
Design
Training
Overview
Physical Design Flow
2
3
Physical Verification
AGENDA
LVS
DRC
NAC – Antenna Check
Density
Verification Checks
Q/A
4
What is LVS?
5
Short
6
Open
7
8
DRC
9
DR violations
• Min Area
0.5
• Poly neck
Within specific range of A and B values
B
A
10
NAC – Antenna Check
11
NAC?
12
NAC basics
13
Process Charging
During silicon manufacturing, back-end process charging
induced high voltage and cause gate oxide breakdown.
Resulting:
Immediate failure - blows up transistors
Gradual failure - Transistor degradation over time
Source of process charging can be result from plasma etch,
ILD deposition, implant or other generation of static charge
Plasma is hot , +ve charged gas. As it etches the via-cut, it
deposits a positive charge
The Larger the area & periphery of the metal connected to
the gate, larger Q becomes. => antenna effect or Node Area
Checking (NAC)
14
Damascene Process Flow
Si
1. Start after 2. ILD 3. ILD Trench 4. Metal 5. Metal
(W) contact deposition pattern deposition CMP
16
layer by layer – example 1
A B
17
layer by layer – example 2
C B
In this example
M1 segment A could cause a violation
The sum of the areas of C and B could cause a violation –
both are connected to gate during manufacturing
18
Where does the charge go ?
19
layer by layer example 3
D B
E A
In this example
Metal 1 segment A and metal 2 segment B can cause NAC violations
Metal 3 segment C cannot cause an (unprotected) violation as it is
connected to diffusion (must meet 10000 rule)
Metal 1 segment E and metal2 segment D can never cause violations
because they don’t connect to the gate at the time they are manufactured
20
adding a (gnac) diode
Unlimited protection
Adds capacitance to net and leakage
gnac – gated nac
21
Fixing NAC violations
22
example of jumping
23
Adding a diode
24
layer by layer example 4
B
C A
TAP GNAC
25
NAC rules
26
NAC rules
Met2
Victime gate
Met1
Layer A area
Layer B area
27
NAC rules
Met3
Layer A area
Layer B area
28
NAC rules
Met1
Layer A area
Layer B area This will NOT fix the violation !!
29
NAC rules
VSS ESD
ESD
ESD
Gnac device
30
Density
Density
Metal Density
Base Density
Via density
31
Density rules
Density rules
In order to be correctly generated, ALL layers in the chip must have their density within a specified
range. This check is performed within a specified window size.
Example:
Min Met2 density is 20% in windows of 105u x 105u
< 20% !
> 70% !
32
MFILL
Metal fill is process requirement required on layers
Each track of layers must be filled with a spacing rule in the
same layer.
33
METAL & VIA DUMMIFICATION
34
What is Fill and why do we need it?
There are three types of Fill we use Base, Via, Metal
1) Basefill concerns all “base” layers typically including poly/gcn/tcn/n-well/n-diff/p-diff/etc. These layers are usually contained within our
standard cells.
2) Viafill concerns all via layers.
3) Metalfill concerns all metal layers, excluding base metals.
== Purple cells
Functional Std
Cells
Basefill Concept
1. Basefill flow adds in physcial only cells of various types and widths.
2. There should be no white-space after basefill is complete.
== Purple cells
Functional Std
Cells
== Blue cells
Physical only
Std cells
1) Default dummy basefill was used just to connect the nwells so that we could close on LVS quickly. Once we are cmp clean, we remove
dummy basefill and replace it with real basefill
2) Real basefill is performed outside of ICC using an ICV runset. This runset will intelligently choose between a variety of basefill cells
depending on desired density, drc, debug (DFD), and manufacturing (DFM) considerations.
2. Bonus arrays (*bar*) Provide base layer arrary of dummy transistors, which are used a reconfigurable arrays during
metal-only steppings to execute functional ECOs without touching the base layers.
3. Decaps (*vdc*) Provides added capacitance on the powergrid to filter out high-freq noise. This is supposed to reduce
dynamic power, but is mainly used to meet via0 density requirements.
4. Bonus Array Decaps (*bdc*) Same as Bonus Arrays, but adds in decap opportunistically if no m1 signal routes are
present.
5. Spacers (*spc*) Empty spacers that contain poly and n-well for continuity.
6. Bonudary Edge halo cells (various like *hlv*) Various types of halo cells (project specific) that are placed around the
boundaries of different hierarchical blocks to prevent DRC issues when stitching blocks into their parent hierarchy. These
are usually put into the design early during the floorplanning stage.
7. EBB Edge Spacers (*hlv*) Halo cells around vertical edges of EBBs to maintain poly continuity.
8. Dummy Decap (*ddc*) Like vdc decap cells, but has 16 permutations of cell types based on 4 sizes of p-transistors and 4
sizes of n-transistors. Preferred where no m1 is present and more than 6 free slots. Main purpose is to balance density,
decap functioning is just and adding benefit. Basefill flow will intelligently and opportunistically insert ddc cells wherever
possible to increase diffusion density.
a) Note that in some area, around a big EBBs, we may actually have a max diffusion density problem, in which case we
want to avoid these types of cells to forcably reduce the diffusion density.
9. Dummy Diffusion (*ddf*) Like spacer cells, but contains n and p diffusion. Also has 4 sizes for p, 4 sizes for n to hit
specific den requirements, basefill flow uses one of 16 different combinations intelligently.
10. Fiducial (*fid*) Has specific diffusion pattern that is visually recognizable on the silicon for debug purposes and die
alignment to the machines. Requirement for these cells to be placed every so often, local density targets for these must be
hit.
11. DropInCell DIC comes in as EBB, used by fab for planarization of the die.
12. Antenna nac diode (*gnc*) Used to provide a path to ground for antenna viols. See antenna training ppt for much more
detailed description on this.
Via/Metalfill Concept
1. Partitions contain preferred direction routing tracks
a) E.g. m1/3/5/7 are vertical layers & m2/4/6/8 are horizontal layers
2. Logical nets are routed in various metal layers almost always in predefined min-
widths.
a) Non-default routing (NDR) is generally used for clock/spine/power nets.
Extra width reduces resistance on these high current nets.
3. Why Fill?
1. Layer specific density requirements may not be met by logical signal
routes in each check box
a) Densities are checked within shifting boxes.
2. Layer specific max-spacing DRCs may not be met by signal routes.
3. Use fill to hit density targets and DRC requirements
M3 fill example
M3 Signal
Route
Viol max-
M3 FILL
spacing Route
Mfill Example Continued
Fill example
Signal
Route
FILL Route
Fill in to
fix the
forbidden
spacing
Max-spacing is fixed,
viol but still have density
problem.
Mfill Example Continued
Fill example
M3 Signal
Route
M3 FILL
Route
Our LV flows and DRC checks do not care if a fill shape is touching an active signal, all DRC cares about is that the drawn
shapes do not violate manufacturability requirements. However, active fill does effect our PV (performance verification)
static timing analysis since the fill shape physically adds real capacitance to the route it’s touching. This added cap has a
real effect on performance of the silicon, so we must model these effects upfront in our PV models.
M3 Signal
Route
M3 FILL
Route
Q/A
43
ICC Manual Editing
Overview
44
Rule of Thumb
45
the Right Mouse Button
46
Be familiar with Manual Editing Bind Keys
Hot Key Type Function (ICC
2007-03)
-----------------------------------------------------------------
--
+ Menu View->Zoom->Zoom In
- Menu View->Zoom->Zoom
Out
B remove_last_ruler_point
C Menu Edit->Copy
D Menu Edit->Delete
E Menu Verification->Next
Error
F Menu View->Zoom->Zoom
Fit All
M Menu Edit->Move/Resize
Q Menu Select->Query
Selection
R Menu View->Refresh
S Menu Edit->Stretch Wire
Creating your own bind key ifShift+C
necessary … Menu Edit->Create->Via...
Shift+L Menu Edit->Split
Ctrl+Y Wire "Menu
gui_set_hotkey -menu "Edit->Stretch -hot_key "s"Edit->Redo
Ctrl+ZShape andMenu
gui_set_hotkey -menu "Create->Net Edit->Undo
Via..." -hot_key "a"
gui_set_hotkey -tcl_cmd {gui_remove_last_ruler_point -window [gui_get_current_window -types Layout -mru]} -hot_key "b"
47
Overview Wire Editing
48
Move/Resize (m) command
MOVE RESIZE
49
“Split command
50
Stretch Wire command
Select up/down
“Jog layer”
Default is “Same”
Before
After
4. Click OK
52
Net shape and via Migrate net info
into editing form
Select start/end
drop off via if editing
Needed vias insertion
Select path
53
“Move Pin (terminal) on Edge” command
after
before