SlideShare a Scribd company logo
January 25, 2019
Disclaimer: This course was prepared, in its entirety, by Adam Teman. Many materials were copied from sources freely available on the internet. When possible, these sources have been cited;
however, some references may have been cited incorrectly or overlooked. If you feel that a picture, graph, or code example has been copied from you and either needs to be cited or removed,
please feel free to email adam.teman@biu.ac.il and I will address this as soon as possible.
Digital VLSI Design
Lecture 9:
Routing
Semester A, 2018-19
Lecturer: Dr. Adam Teman
© Adam Teman, 2018
Routing: The Problem
• Scale
• Millions of wires
• MUST connect them all
• Geometric Complexity
• Basic starting point – grid representation.
• But at nanoscale – Geometry rules are complex!
• Also, many routing layers with different “costs”.
• Electrical Complexity
• It’s not enough to just connect all the wires.
• You also have to:
• Ensure that the delays through the wires are small.
• Ensure that wire-to-wire interactions (crosstalk)
doesn’t mess up behavior.
2
© Adam Teman, 2018
Problem Definition
• Problem:
• Given a placement, and a fixed number of metal layers, find a valid pattern
of horizontal and vertical wires that connect the terminals of the nets.
• Input:
• Cell locations, netlist
• Output:
• Geometric layout of each net
connecting various standard cells
• Two-step process
• Global routing
• Detailed routing
3
• Objective
• 100% connectivity of a system
• Minimum area, wirelength
• Constraints
• Number of routing layers
• Design rules
• Timing (delay)
• Crosstalk
• Process variations
© Adam Teman, 2018
Lecture Contents
Routing Algorithms
5
1
Intro
2
Routing
Algorithms
This section is heavily based on Rob Rutenbar’s “From Logic to Layout”,
Lecture 11 from 2013. For a better ☺ and more detailed explanation, do
yourself a favor and go see the original!
2
Routing in
Practice
© Adam Teman, 2018
Grid Assumption
• Despite the complexity of nanoscaled routing, we will use a grid assumption
and add the complexity in later.
• Layout is a grid of regular squares
• A legal wire is a set of connected grid
cells through unobstructed cells.
• Obstacles (or blockages) are marked
in the grid.
• Wires are strictly horizontal and vertical
(Manhattan Routing)
• Paths go
• North/South
• East/West.
Obstacle
S
T
Source
Target
© Adam Teman, 2018
Maze Routers
• Also known as “Lee Routers”
• C. Y. Lee, “An algorithm for path connections and its applications” 1961
• Strategy:
• Route one net at a time.
• Find the best wiring path for the current net.
• Problems:
• Early wired nets may block path of later nets.
• Optimal choice for one net may block others.
• Basic Idea:
• Expand → Backtrace → Cleanup
7
© Adam Teman, 2018
Maze Routing: Expansion
• Start at the source.
• Find all paths 1 cell away.
• Continue until reaching the target.
• We approach the target with a
“wavefront”
• We found that the shortest path to
the target is 6 unit steps.
8
S
T
1 2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
5 6
6
6
6
6
6
© Adam Teman, 2018
Maze Routing: Backtrace & Cleanup
• Backtrace:
• Follow the path lengths backwards in
descending order.
• This will mark a shortest-path to the target.
• However, there may be many shortest
paths, so optimization can be used to
select the best one.
• Cleanup
• We have now routed the first net.
• To ensure that future nets do not try to use
the same resources, mark the net path
from S to T as an obstacle.
9
1 2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
5 6
6
6
6
6
6
S
T
© Adam Teman, 2018
Maze Routing: Blockages
• How do we deal with blockages?
• Easy. Just “go around” them!
To summarize:
• Expand:
• Breadth-first-search (BFS) to find all
paths from S to T in path-length order.
• Backtrace:
• Walk shortest path back to source.
• Cleanup:
• Mark net as obstacle
and erase distance markers.
10
S
T
1
2
2
2
3
3 3
3
4
4 4
4
5
5 5
6
6
© Adam Teman, 2018
Multi-Point Nets
• How do we go about routing a net with
multiple targets?
• Actually, pretty straightforward.
• Start with our regular maze routing
algorithm to find the path to the nearest
target.
• Then re-label all cells on found path as
sources, and re-run maze router using all
sources simultaneously.
11
T
S
T
1 2
2
2
2
3
3
3
3
3
3
3
S
4
4
4
4
4
4
4
4
S S
S
© Adam Teman, 2018
Multi-Point Nets
• How do we go about routing a net with
multiple targets?
• Actually, pretty straightforward.
• Start with our regular maze routing
algorithm to find the path to the nearest
target.
• Then re-label all cells on found path as
sources, and re-run maze router using all
sources simultaneously.
• Repeat until reaching all target points.
Note that this does not guarantee the
shortest path (=“Steiner Tree”)
12
S
T
5
5
5 4
4
4
4
4
4
4
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
S S
S
1 1
1
1
© Adam Teman, 2018
Multi-Layer Routing
• Okay, so what about dealing with several routing layers?
• Same basic idea of grid – one grid for each layer.
• Each grid box can contain one via.
• New expansion direction – up/down.
13
© Adam Teman, 2018
Multi-Layer Routing
14
T
8
8
8
8
8
8
8
8
7
7
7 7
7
7 7
6
6
6
6
7
7
7
6
6 6
6
6
5
5
5
5
5
5
2
2
2
2
3
3
3
3
3
3
S
1
Metal 1 Metal 2
V V
V
V
4
4
4
4 4
8
8
5
© Adam Teman, 2018
Non-Uniform Grid Costs
• But we know that vias have (relatively) high resistance.
• Shouldn’t we prefer to stay on the same metal layer?
• We also prefer Manhattan Routing
• Each layer is only routed in one direction.
• A “turn” requires going through a via or a “jog” should be penalized.
• Is there a way to prefer routing in a certain layer/direction?
• Yes.
• Let’s introduce non-uniform grid costs.
15
© Adam Teman, 2018
Multi-Layer Routing
16
T
27 27
17
26
16
16
15
15
6
13
4
S
11
2
Metal 1 Metal 2
V
V
V
V 5
14
25
25
1
Horizontal
Vertical
Cost of Via = 10
12
3 13
16
25
14
23
24
15
35
26
35
26 26
Cost of wrong
way route = 10
Cost of wrong
way route = 10
© Adam Teman, 2018
How do we implement this?
• Grids are huge.
• Assume 1cm X 1cm chip.
• Assume 100 nm track
• Assume 10 routing layers
• That is 1010 (100 billion) grid cells!
• We need a low cost representation
• Only store the wavefront.
• Remember which cells have been
reached, at what cost, and from
which direction.
• Use Dijkstra’s algorithm to find the
cheapest cell first.
• Store data in a heap.
17
All of this is hard!
Use many different heuristics:
• Which net to route first
• Bias towards the right direction
• How to go about fixing problems
• etc., etc., etc.
© Adam Teman, 2018
Divide and Conquer: Global Routing
• To deal with a big chip, we make our problem smaller
• Divide the chip into big, course regions
• e.g., 200 X 200 tracks each.
• These are called GBOXes.
• Now Maze Route through the GBOXes
18
© Adam Teman, 2018
Divide and Conquer: Global Routing
• Global routing takes care of basic congestion.
• Balances supply vs. demand of routing resources.
• Generates regions of confinement for the wires.
• Detailed routing decides on the exact path.
19
GBOXes have a
dynamic cost
according to how
congested they are!
Routing in practice
20
1
Intro
2
Routing
Algorithms
2
Routing in
Practice
© Adam Teman, 2018
Layer Stacks
• Metal stacks are changing
(and growing)
130 nm 90 nm 65 nm 45 nm 32 nm
M1
M2
M3
M4
M5
B1
B2
M1
M2
M3
M4
B1
B2
B3
E1
E2
M1
M2
M3
M4
B1
B2
C1
C2
B3
E1
U1
U2
M1
M2
M3
M4
B1
B2
B3
E1
E2
M5
W1
W2
M1
M2
M4
M5
M6
M3
Representative layer stacks for
130 nm - 32 nm technology
nodes
Intel 45nm 8 metal stack
UMC 6 metal stack
© Adam Teman, 2018
Global Route
• Divide floorplan into GCells
• Approximately 10 tracks
per layer each.
• Perform fast grid routing:
• Minimize wire-length
• Balance Congestion
• Timing-driven
• Noise/SI-driven
• Keep buses together
• Also used for trial route
• During earlier stages of the flow
22
Horizontal routing
capacity = 9
tracks
Vertical routing
capacity = 9
tracks
X
X
Y
Y
© Adam Teman, 2018
Congestion Map
• Use congestion map and report to
examine design routability
23
Congestion map
Congestion Report
# Routing #Avail #Track #Total %Gcell
# Layer Direction Track Blocked Gcell Blocked
# --------------------------------------------------------------
# Metal 1 H 7607 9692 1336335 62.57%
# Metal 2 H 7507 9792 1336335 55.84%
# Metal 3 V 7636 9663 1336335 59.51%
# Metal 4 H 8609 8691 1336335 52.02%
# Metal 5 V 5747 11551 1336335 56.39%
# Metal 6 H 5400 11899 1336335 55.09%
# Metal 7 V 1831 2486 1336335 55.30%
# Metal 8 H 2415 1903 1336335 43.85%
# --------------------------------------------------------------
# Total 46753 56.99% 10690680 55.07%
#
# 589 nets (0.47%) with 1 preferred extra spacing.
© Adam Teman, 2018
Detailed Route
• Using global route plan,
within each global route cell
• Assign nets to tracks
• Lay down wires
• Connect pins to nets
• Solve DRC violations
• Reduce cross couple cap
• Apply special routing rules
• Flow:
• Track Assignment (TA)
• DRC fixing inside a Global Routing Cell (GRC)
• Iterate to achieve a solution (default ~20 iterations)
24
Detailed Route Boxes Solve
shorts
Notch
Spacing
Notch
Spacing
Thin&Fat
Spacing
Min
Spacing
© Adam Teman, 2018
Timing-Driven Routing
• Optimize critical paths
• Route some nets first
• Most routing freedom at start
• Use shortest paths possible
• Net weights
• Order of routing (priorities: e.g., Default : Clocks 50, others 2)
• Wire widening
• Reduce resistance
• If you have a congested design you may need to set the timing
driven effort to “low”
• Beware when changing default options
© Adam Teman, 2018
Signal Integrity (SI)
• Signal Integrity during routing is synonymous with Crosstalk.
• A switching signal may affect a neighboring net.
• The switching net is called the Aggressor.
• The affected net is called the Victim.
• Two major effects:
• Signal slow down
• When the aggressor and victim
switch in opposite directions.
• Signal speed up
• When the aggressor and victim
switch in the same direction.
26
Aggressor
Victim
Delay
net 1
net 2
Speed Up
© Adam Teman, 2018
• Infinite Window Analysis
• An infinite noise window
applies the maximum delay
due to crosstalk during timing analysis.
• This model was sufficient for older (pre-90nm)
technologies, but became too severe with the
growing sidewall capacitances at scaled nodes.
• Propagated Noise Analysis
• Min/Max vectors are propagated through the design to
create a transition window for all aggressors in relation
to a certain victim.
• Noise is only applied at the overlap of the two
windows to determine the worst case noise bump.
SI Multi-Aggressor Timing Analysis
27
Net X
aggressor
Net Y
aggressor
Crosstalk
noise from
X
Crosstalk
noise from Y
Propagated
noise from B
Worst-case
combination of noise
bumps on net C
Noise bumps on net C
© Adam Teman, 2018
Signal Integrity - Solutions
• Crosstalk Prevention
• Limit length of parallel nets
• Wire spreading
• Shield special nets
• Upsize driver or buffer
28
Extra space
Spacing
Shielding
Same layer (H)
Adjacent layers (V)
Grounded shields
Net Ordering
Critical Nets
Wire Spreading
Adding shielding
Inserting buffer
Upsizing
victim
driver
Increasing
wire
spacing
© Adam Teman, 2018
Design For Manufacturing
• During route, apply additional
design for manufacturing (DFM)
and/or design for yield (DFY) rules:
• Via reduction
• Redundant via insertion
• Wire straightening
• Wire spreading
29
Wire straightening (reduce jogs)
Avoid
asymmetrical
contacts
© Adam Teman, 2018
DFM: Via Optimization
• Post-Route Via Optimization, includes:
• Incremental routing for the minimization of vias.
• Replacement of single vias with multi-cut vias.
• These operations are required for:
• Reliability:
• The ability to create reliable vias decreases with each process
node. If a single via fails, it creates an open and the circuit is
useless.
• Electromigration:
• Electromigration hazards are even more significant in vias,
which are essentially long, narrow conductors.
30
extra vias
added
© Adam Teman, 2018
DFM: Wire Spreading
• Wire spreading achieves:
• Lower capacitance and better signal integrity.
• Lower susceptibility to shorts or opens due to
random particle defects.
31
Center of conductive defects within
critical area – causing shorts
Center of non-conductive defects within
critical area – causing opens
Center of conductive defects
outside critical area – no shorts
Center of non-conductive defects
outside critical area – no opens
Critical Areas
Metal 3
+
+
+
+
+ +
+ +
• High-density
critical area
• High probability of
yield-killing defect
• Density reduced,
yield risk reduced
• No timing impact!
© Adam Teman, 2018
Routing in Innovus/Encounter
• The detailed routing engine used by Innovus/Encounter is called “NanoRoute”
• NanoRoute provides concurrent timing-driven and SI-driven routing.
• In addition, it can perform multi-cut via insertion, wire widening and spacing.
• The commands for running a route with NanoRoute are:
• Following detailed route wire optimization and timing optimization:
32
set_db route_design_with_timing_driven true
set_db route_design_with_si_driven true
route_design
set_db route_design_with_timing_driven false
set_db route_design_detail_post_route_spread_wire true
set_db route_design_detail_use_multi_cut_via_effort high
route_design –wire_opt
set_db route_design_with_timing_driven true
opt_design –post_route –setup -hold
© Adam Teman, 2018
Routing in Innovus/Encounter
• To achieve a high percentage of multi-cut vias:
• To check your design after routing:
• To perform incremental routing (ECO routing):
set_db route_design_concurrent_minimize_via_count_effort high
set_db route_design_detail_use_multi_cut_via_effort high
report_route; # provide routing statistics
report_wires; # provides wire statistics including wirelength
time_design –post_route; # check timing after routing
check_drc; # Run a DRC check – in new techs: “verify_drc”
check_connectivity; # Run an LVS check
set_db route_design_with_eco true
route_global_detail
The Chip Hall of Fame
• With RISC processors a central part of our computing lives
today, we should really thank the revolution of the
• Scalable Processor Architecture
• Release date: 1987 SPARC v7 32-bit Architecture
• The first major commercial RISC processor taking
Patterson’s ideas at Berkeley into a product.
• “SPARC will take Sun from a $500M/year company to a
$1B/year company”.
• The first SPARC powered the Sun-4 workstations,
which made Sun a $1B/year company.
• Terminated in 2017 by Oracle, but now part of Fujitsu.
2017 Inductee to the IEEE Chip Hall of Fame
Photo: Mark Richards
Photo: Wikipedia
SPARCstation 1+ “pizzabox”
© Adam Teman, 2018
Main References
• Rob Rutenbar “From Logic to Layout” 2013
• Synopsys University Courseware
• IDESA
• Kahng, et al. “VLSI Physical Design: From Graph Partitioning to Timing
Closure” – Chapter 6
35

More Related Content

PPT
floor planning in digital vlsi design .ppt
PPT
Lecture24 clockpower routing
PPT
VLSI routing
PPT
Routing.ppt
PDF
routing (1).pdf shjsjajajaaknsjsjskakakskaksksksk
PDF
sta slide ref.pdf
PDF
Lecture-5-STA.pdf
PDF
MODULE2-Routing ADVANVECD VLSI VTU2024.pdf
floor planning in digital vlsi design .ppt
Lecture24 clockpower routing
VLSI routing
Routing.ppt
routing (1).pdf shjsjajajaaknsjsjskakakskaksksksk
sta slide ref.pdf
Lecture-5-STA.pdf
MODULE2-Routing ADVANVECD VLSI VTU2024.pdf

Similar to Routing and placement in semicondoctor vlsi .pdf (20)

PPTX
CMOS VLSI DESIGN_Wires PPT WIRES BASIC VALUES.pptx
PPT
Network layer
PDF
EMT529-VLSI-Design-wk5.pdf
PPT
05-ethernet routing and switching slides
PDF
2019 3 testing and verification of vlsi design_sta
PPTX
Routing_process_in_VLSI_verilogmodeling.pptx
PDF
tutorial about dic_lec_05_layout2_v01.pdf
PPTX
21EC71_Module-2_Routing PPT Electronics and communication engineering module 2
PDF
Floorplan, Powerplan and Data Setup, Stages
PPTX
12-detailed-routing_techniques_for VLSI.pptx
PPTX
CMOS Layout
PDF
Floorplanning and Powerplanning - Definitions and Notes
PDF
10 static timing_analysis_1_concept_of_timing_analysis
PPTX
System on Chip
PPT
Floor planning ppt
PDF
Signal Integrity - A Crash Course [R Lott]
PDF
09 placement
PPTX
crosstalk minimisation using vlsi
PDF
Module 2 Floor Planning and Placement.pdf
PDF
Nanometer layout handbook at high speed design
CMOS VLSI DESIGN_Wires PPT WIRES BASIC VALUES.pptx
Network layer
EMT529-VLSI-Design-wk5.pdf
05-ethernet routing and switching slides
2019 3 testing and verification of vlsi design_sta
Routing_process_in_VLSI_verilogmodeling.pptx
tutorial about dic_lec_05_layout2_v01.pdf
21EC71_Module-2_Routing PPT Electronics and communication engineering module 2
Floorplan, Powerplan and Data Setup, Stages
12-detailed-routing_techniques_for VLSI.pptx
CMOS Layout
Floorplanning and Powerplanning - Definitions and Notes
10 static timing_analysis_1_concept_of_timing_analysis
System on Chip
Floor planning ppt
Signal Integrity - A Crash Course [R Lott]
09 placement
crosstalk minimisation using vlsi
Module 2 Floor Planning and Placement.pdf
Nanometer layout handbook at high speed design
Ad

Recently uploaded (20)

PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Complications of Minimal Access Surgery at WLH
PPTX
PPH.pptx obstetrics and gynecology in nursing
PPTX
master seminar digital applications in india
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Insiders guide to clinical Medicine.pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Classroom Observation Tools for Teachers
PDF
RMMM.pdf make it easy to upload and study
PPTX
Lesson notes of climatology university.
PDF
Sports Quiz easy sports quiz sports quiz
PPTX
Cell Types and Its function , kingdom of life
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Complications of Minimal Access Surgery at WLH
PPH.pptx obstetrics and gynecology in nursing
master seminar digital applications in india
Supply Chain Operations Speaking Notes -ICLT Program
FourierSeries-QuestionsWithAnswers(Part-A).pdf
VCE English Exam - Section C Student Revision Booklet
TR - Agricultural Crops Production NC III.pdf
Basic Mud Logging Guide for educational purpose
Anesthesia in Laparoscopic Surgery in India
Insiders guide to clinical Medicine.pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
2.FourierTransform-ShortQuestionswithAnswers.pdf
Classroom Observation Tools for Teachers
RMMM.pdf make it easy to upload and study
Lesson notes of climatology university.
Sports Quiz easy sports quiz sports quiz
Cell Types and Its function , kingdom of life
Ad

Routing and placement in semicondoctor vlsi .pdf

  • 1. January 25, 2019 Disclaimer: This course was prepared, in its entirety, by Adam Teman. Many materials were copied from sources freely available on the internet. When possible, these sources have been cited; however, some references may have been cited incorrectly or overlooked. If you feel that a picture, graph, or code example has been copied from you and either needs to be cited or removed, please feel free to email adam.teman@biu.ac.il and I will address this as soon as possible. Digital VLSI Design Lecture 9: Routing Semester A, 2018-19 Lecturer: Dr. Adam Teman
  • 2. © Adam Teman, 2018 Routing: The Problem • Scale • Millions of wires • MUST connect them all • Geometric Complexity • Basic starting point – grid representation. • But at nanoscale – Geometry rules are complex! • Also, many routing layers with different “costs”. • Electrical Complexity • It’s not enough to just connect all the wires. • You also have to: • Ensure that the delays through the wires are small. • Ensure that wire-to-wire interactions (crosstalk) doesn’t mess up behavior. 2
  • 3. © Adam Teman, 2018 Problem Definition • Problem: • Given a placement, and a fixed number of metal layers, find a valid pattern of horizontal and vertical wires that connect the terminals of the nets. • Input: • Cell locations, netlist • Output: • Geometric layout of each net connecting various standard cells • Two-step process • Global routing • Detailed routing 3 • Objective • 100% connectivity of a system • Minimum area, wirelength • Constraints • Number of routing layers • Design rules • Timing (delay) • Crosstalk • Process variations
  • 4. © Adam Teman, 2018 Lecture Contents
  • 5. Routing Algorithms 5 1 Intro 2 Routing Algorithms This section is heavily based on Rob Rutenbar’s “From Logic to Layout”, Lecture 11 from 2013. For a better ☺ and more detailed explanation, do yourself a favor and go see the original! 2 Routing in Practice
  • 6. © Adam Teman, 2018 Grid Assumption • Despite the complexity of nanoscaled routing, we will use a grid assumption and add the complexity in later. • Layout is a grid of regular squares • A legal wire is a set of connected grid cells through unobstructed cells. • Obstacles (or blockages) are marked in the grid. • Wires are strictly horizontal and vertical (Manhattan Routing) • Paths go • North/South • East/West. Obstacle S T Source Target
  • 7. © Adam Teman, 2018 Maze Routers • Also known as “Lee Routers” • C. Y. Lee, “An algorithm for path connections and its applications” 1961 • Strategy: • Route one net at a time. • Find the best wiring path for the current net. • Problems: • Early wired nets may block path of later nets. • Optimal choice for one net may block others. • Basic Idea: • Expand → Backtrace → Cleanup 7
  • 8. © Adam Teman, 2018 Maze Routing: Expansion • Start at the source. • Find all paths 1 cell away. • Continue until reaching the target. • We approach the target with a “wavefront” • We found that the shortest path to the target is 6 unit steps. 8 S T 1 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6
  • 9. © Adam Teman, 2018 Maze Routing: Backtrace & Cleanup • Backtrace: • Follow the path lengths backwards in descending order. • This will mark a shortest-path to the target. • However, there may be many shortest paths, so optimization can be used to select the best one. • Cleanup • We have now routed the first net. • To ensure that future nets do not try to use the same resources, mark the net path from S to T as an obstacle. 9 1 2 2 2 2 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6 S T
  • 10. © Adam Teman, 2018 Maze Routing: Blockages • How do we deal with blockages? • Easy. Just “go around” them! To summarize: • Expand: • Breadth-first-search (BFS) to find all paths from S to T in path-length order. • Backtrace: • Walk shortest path back to source. • Cleanup: • Mark net as obstacle and erase distance markers. 10 S T 1 2 2 2 3 3 3 3 4 4 4 4 5 5 5 6 6
  • 11. © Adam Teman, 2018 Multi-Point Nets • How do we go about routing a net with multiple targets? • Actually, pretty straightforward. • Start with our regular maze routing algorithm to find the path to the nearest target. • Then re-label all cells on found path as sources, and re-run maze router using all sources simultaneously. 11 T S T 1 2 2 2 2 3 3 3 3 3 3 3 S 4 4 4 4 4 4 4 4 S S S
  • 12. © Adam Teman, 2018 Multi-Point Nets • How do we go about routing a net with multiple targets? • Actually, pretty straightforward. • Start with our regular maze routing algorithm to find the path to the nearest target. • Then re-label all cells on found path as sources, and re-run maze router using all sources simultaneously. • Repeat until reaching all target points. Note that this does not guarantee the shortest path (=“Steiner Tree”) 12 S T 5 5 5 4 4 4 4 4 4 4 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 S S S 1 1 1 1
  • 13. © Adam Teman, 2018 Multi-Layer Routing • Okay, so what about dealing with several routing layers? • Same basic idea of grid – one grid for each layer. • Each grid box can contain one via. • New expansion direction – up/down. 13
  • 14. © Adam Teman, 2018 Multi-Layer Routing 14 T 8 8 8 8 8 8 8 8 7 7 7 7 7 7 7 6 6 6 6 7 7 7 6 6 6 6 6 5 5 5 5 5 5 2 2 2 2 3 3 3 3 3 3 S 1 Metal 1 Metal 2 V V V V 4 4 4 4 4 8 8 5
  • 15. © Adam Teman, 2018 Non-Uniform Grid Costs • But we know that vias have (relatively) high resistance. • Shouldn’t we prefer to stay on the same metal layer? • We also prefer Manhattan Routing • Each layer is only routed in one direction. • A “turn” requires going through a via or a “jog” should be penalized. • Is there a way to prefer routing in a certain layer/direction? • Yes. • Let’s introduce non-uniform grid costs. 15
  • 16. © Adam Teman, 2018 Multi-Layer Routing 16 T 27 27 17 26 16 16 15 15 6 13 4 S 11 2 Metal 1 Metal 2 V V V V 5 14 25 25 1 Horizontal Vertical Cost of Via = 10 12 3 13 16 25 14 23 24 15 35 26 35 26 26 Cost of wrong way route = 10 Cost of wrong way route = 10
  • 17. © Adam Teman, 2018 How do we implement this? • Grids are huge. • Assume 1cm X 1cm chip. • Assume 100 nm track • Assume 10 routing layers • That is 1010 (100 billion) grid cells! • We need a low cost representation • Only store the wavefront. • Remember which cells have been reached, at what cost, and from which direction. • Use Dijkstra’s algorithm to find the cheapest cell first. • Store data in a heap. 17 All of this is hard! Use many different heuristics: • Which net to route first • Bias towards the right direction • How to go about fixing problems • etc., etc., etc.
  • 18. © Adam Teman, 2018 Divide and Conquer: Global Routing • To deal with a big chip, we make our problem smaller • Divide the chip into big, course regions • e.g., 200 X 200 tracks each. • These are called GBOXes. • Now Maze Route through the GBOXes 18
  • 19. © Adam Teman, 2018 Divide and Conquer: Global Routing • Global routing takes care of basic congestion. • Balances supply vs. demand of routing resources. • Generates regions of confinement for the wires. • Detailed routing decides on the exact path. 19 GBOXes have a dynamic cost according to how congested they are!
  • 21. © Adam Teman, 2018 Layer Stacks • Metal stacks are changing (and growing) 130 nm 90 nm 65 nm 45 nm 32 nm M1 M2 M3 M4 M5 B1 B2 M1 M2 M3 M4 B1 B2 B3 E1 E2 M1 M2 M3 M4 B1 B2 C1 C2 B3 E1 U1 U2 M1 M2 M3 M4 B1 B2 B3 E1 E2 M5 W1 W2 M1 M2 M4 M5 M6 M3 Representative layer stacks for 130 nm - 32 nm technology nodes Intel 45nm 8 metal stack UMC 6 metal stack
  • 22. © Adam Teman, 2018 Global Route • Divide floorplan into GCells • Approximately 10 tracks per layer each. • Perform fast grid routing: • Minimize wire-length • Balance Congestion • Timing-driven • Noise/SI-driven • Keep buses together • Also used for trial route • During earlier stages of the flow 22 Horizontal routing capacity = 9 tracks Vertical routing capacity = 9 tracks X X Y Y
  • 23. © Adam Teman, 2018 Congestion Map • Use congestion map and report to examine design routability 23 Congestion map Congestion Report # Routing #Avail #Track #Total %Gcell # Layer Direction Track Blocked Gcell Blocked # -------------------------------------------------------------- # Metal 1 H 7607 9692 1336335 62.57% # Metal 2 H 7507 9792 1336335 55.84% # Metal 3 V 7636 9663 1336335 59.51% # Metal 4 H 8609 8691 1336335 52.02% # Metal 5 V 5747 11551 1336335 56.39% # Metal 6 H 5400 11899 1336335 55.09% # Metal 7 V 1831 2486 1336335 55.30% # Metal 8 H 2415 1903 1336335 43.85% # -------------------------------------------------------------- # Total 46753 56.99% 10690680 55.07% # # 589 nets (0.47%) with 1 preferred extra spacing.
  • 24. © Adam Teman, 2018 Detailed Route • Using global route plan, within each global route cell • Assign nets to tracks • Lay down wires • Connect pins to nets • Solve DRC violations • Reduce cross couple cap • Apply special routing rules • Flow: • Track Assignment (TA) • DRC fixing inside a Global Routing Cell (GRC) • Iterate to achieve a solution (default ~20 iterations) 24 Detailed Route Boxes Solve shorts Notch Spacing Notch Spacing Thin&Fat Spacing Min Spacing
  • 25. © Adam Teman, 2018 Timing-Driven Routing • Optimize critical paths • Route some nets first • Most routing freedom at start • Use shortest paths possible • Net weights • Order of routing (priorities: e.g., Default : Clocks 50, others 2) • Wire widening • Reduce resistance • If you have a congested design you may need to set the timing driven effort to “low” • Beware when changing default options
  • 26. © Adam Teman, 2018 Signal Integrity (SI) • Signal Integrity during routing is synonymous with Crosstalk. • A switching signal may affect a neighboring net. • The switching net is called the Aggressor. • The affected net is called the Victim. • Two major effects: • Signal slow down • When the aggressor and victim switch in opposite directions. • Signal speed up • When the aggressor and victim switch in the same direction. 26 Aggressor Victim Delay net 1 net 2 Speed Up
  • 27. © Adam Teman, 2018 • Infinite Window Analysis • An infinite noise window applies the maximum delay due to crosstalk during timing analysis. • This model was sufficient for older (pre-90nm) technologies, but became too severe with the growing sidewall capacitances at scaled nodes. • Propagated Noise Analysis • Min/Max vectors are propagated through the design to create a transition window for all aggressors in relation to a certain victim. • Noise is only applied at the overlap of the two windows to determine the worst case noise bump. SI Multi-Aggressor Timing Analysis 27 Net X aggressor Net Y aggressor Crosstalk noise from X Crosstalk noise from Y Propagated noise from B Worst-case combination of noise bumps on net C Noise bumps on net C
  • 28. © Adam Teman, 2018 Signal Integrity - Solutions • Crosstalk Prevention • Limit length of parallel nets • Wire spreading • Shield special nets • Upsize driver or buffer 28 Extra space Spacing Shielding Same layer (H) Adjacent layers (V) Grounded shields Net Ordering Critical Nets Wire Spreading Adding shielding Inserting buffer Upsizing victim driver Increasing wire spacing
  • 29. © Adam Teman, 2018 Design For Manufacturing • During route, apply additional design for manufacturing (DFM) and/or design for yield (DFY) rules: • Via reduction • Redundant via insertion • Wire straightening • Wire spreading 29 Wire straightening (reduce jogs) Avoid asymmetrical contacts
  • 30. © Adam Teman, 2018 DFM: Via Optimization • Post-Route Via Optimization, includes: • Incremental routing for the minimization of vias. • Replacement of single vias with multi-cut vias. • These operations are required for: • Reliability: • The ability to create reliable vias decreases with each process node. If a single via fails, it creates an open and the circuit is useless. • Electromigration: • Electromigration hazards are even more significant in vias, which are essentially long, narrow conductors. 30 extra vias added
  • 31. © Adam Teman, 2018 DFM: Wire Spreading • Wire spreading achieves: • Lower capacitance and better signal integrity. • Lower susceptibility to shorts or opens due to random particle defects. 31 Center of conductive defects within critical area – causing shorts Center of non-conductive defects within critical area – causing opens Center of conductive defects outside critical area – no shorts Center of non-conductive defects outside critical area – no opens Critical Areas Metal 3 + + + + + + + + • High-density critical area • High probability of yield-killing defect • Density reduced, yield risk reduced • No timing impact!
  • 32. © Adam Teman, 2018 Routing in Innovus/Encounter • The detailed routing engine used by Innovus/Encounter is called “NanoRoute” • NanoRoute provides concurrent timing-driven and SI-driven routing. • In addition, it can perform multi-cut via insertion, wire widening and spacing. • The commands for running a route with NanoRoute are: • Following detailed route wire optimization and timing optimization: 32 set_db route_design_with_timing_driven true set_db route_design_with_si_driven true route_design set_db route_design_with_timing_driven false set_db route_design_detail_post_route_spread_wire true set_db route_design_detail_use_multi_cut_via_effort high route_design –wire_opt set_db route_design_with_timing_driven true opt_design –post_route –setup -hold
  • 33. © Adam Teman, 2018 Routing in Innovus/Encounter • To achieve a high percentage of multi-cut vias: • To check your design after routing: • To perform incremental routing (ECO routing): set_db route_design_concurrent_minimize_via_count_effort high set_db route_design_detail_use_multi_cut_via_effort high report_route; # provide routing statistics report_wires; # provides wire statistics including wirelength time_design –post_route; # check timing after routing check_drc; # Run a DRC check – in new techs: “verify_drc” check_connectivity; # Run an LVS check set_db route_design_with_eco true route_global_detail
  • 34. The Chip Hall of Fame • With RISC processors a central part of our computing lives today, we should really thank the revolution of the • Scalable Processor Architecture • Release date: 1987 SPARC v7 32-bit Architecture • The first major commercial RISC processor taking Patterson’s ideas at Berkeley into a product. • “SPARC will take Sun from a $500M/year company to a $1B/year company”. • The first SPARC powered the Sun-4 workstations, which made Sun a $1B/year company. • Terminated in 2017 by Oracle, but now part of Fujitsu. 2017 Inductee to the IEEE Chip Hall of Fame Photo: Mark Richards Photo: Wikipedia SPARCstation 1+ “pizzabox”
  • 35. © Adam Teman, 2018 Main References • Rob Rutenbar “From Logic to Layout” 2013 • Synopsys University Courseware • IDESA • Kahng, et al. “VLSI Physical Design: From Graph Partitioning to Timing Closure” – Chapter 6 35