© KLMH
What Makes a Design Difficult to Route
Charles J. Alpert, Zhuo Li, Michael D. Moffitt, Gi-Joon Nam, Jarrod A. Roy,
Gustavo Tellez
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
1
Lienig
Presented by Zhicheng Wei
© KLMH
What Makes a Design Difficult to Route
INTRODUCTION AND BACKGROUNDS
COMMON CONGESTION METRICS
GLOBAL ROUTING CONSTRAINTS
DETAILED ROUTING CONSTRAINTS
PLACEMENT TECHNIQUES
LOGIC SYNTHESIS TECHNIQUES
REPEATER INSERTION TECHNIQUES
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
2
Lienig
CONCLUSION
© KLMH
What Makes a Design Difficult to Route
INTRODUCTION
Modern technology requires complex wire spacing rules and constraints
High performance routing requires multiple wire width (even same layer)
Local problems including via spacing rules, switchbox inefficiency, intra-gcell
routing
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
3
Lienig
All of these problems make routing hard to model and lead to huge congestion
issues!
© KLMH
What Makes a Design Difficult to Route
BACKGROUNDS
Routing problems should be considered in 3D instead of 2D
Meet congestion constraints during global routing
Try to satisfy capacity in detailed routing with a given global routing solution
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
4
Lienig
Over-the-cell routing breaks traditional channel/switchbox model
© KLMH
What Makes a Design Difficult to Route
COMMON CONGESTION METRICS
Total Overflow
Average worst X%
average worst 20% routing edges below 80% is routable
Total routed wirelength (RWL)
significantly above Steiner tree may indicate routing difficulties
Number of scenic nets
wirlelength/minimum Steiner tree length
ratio > 1.3 is generally considered scenic
Number of nets over X%
nets passing through gcells whose congestion is over X%
Number of violations
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
5
Lienig
Routing runtimes
© KLMH
What Makes a Design Difficult to Route
COMMON CONGESTION METRICS
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
6
Lienig
Total Overflow
© KLMH
What Makes a Design Difficult to Route
GLOBAL ROUTING CONSTRAINTS
Choice of gcell size
gcell size too small
large global routing space and takes more time to route
gcell size too large
not able to expose congestion problems and shift burden to detail routing
Handling scenic nets
go very scenic = bad timing performance
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
7
Lienig
impose scenic constrains on the router
© KLMH
What Makes a Design Difficult to Route
DETAILED ROUTING CONSTRAINTS
Prediction failure in global routing
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
8
Lienig
hot sports predicted by global routing may not be open and shorts in detailed
routing
© KLMH
What Makes a Design Difficult to Route
DETAILED ROUTING CONSTRAINTS
Pin access problem
certain configurations make accessing pin from higher metal layer impossible
Via modeling challenge
Vias do not scale as well as device at each technology node
Vias serve as routing blockages which impact local congestion
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
9
Lienig
Via modeling becomes non-trivial, esp with different metal pitches
© KLMH
What Makes a Design Difficult to Route
PLACEMENT TECHNIQUES
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
10
Lienig
Congestion caused by time-driven placement
© KLMH
What Makes a Design Difficult to Route
PLACEMENT TECHNIQUES
Modern placement focus on minimization of HPWL
Uniform placement does not always work!
Uniform placement does not mean uniform wire spreading!
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
11
Lienig
Consider congestion-driven placement
© KLMH
What Makes a Design Difficult to Route
Congestion Reduction by Iterated Spreading Placement (CRISP)
Selectively spreading the placement in regions with high global congestion
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
12
Lienig
PLACEMENT TECHNIQUES
© KLMH
What Makes a Design Difficult to Route
LOGIC SYNTHESIS TECHNIQUES
Logic synthesis generally ignores placement information
Create structures good for timing closure but bad for routing
Logic synthesis transforms to alleviate local congestions
identify logic fan-in tree which is physically wirelength inefficient
rebuild logic tree and place new synthesized gates
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
13
Lienig
wirelength is minimized and congestion alleviated
© KLMH
What Makes a Design Difficult to Route
REPEATER INSERTION TECHNIQUES
Repeaters are inserted to meet timing constraints
Divide long wires into small segments
Layer assignment
Obtain enormous speed advantage using thick metal for most critical paths
Routing congestions caused
Corona effect (congestion around corner of blockages)
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
14
Lienig
Aggressive layer promotion (fewer resources at higher metal layer)
© KLMH
What Makes a Design Difficult to Route
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
15
Lienig
Aggressive Layer Promotion
© KLMH
What Makes a Design Difficult to Route
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
16
Lienig
Corona Effect
© KLMH
What Makes a Design Difficult to Route
CONCLUSION
Physical synthesis issues in placement, global/detail routing, logic synthesis
Advanced technologies require more complicated modeling plan
Capture more detailed routing effects in global routing stage
VLSI Physical Design: From Graph Partitioning to Timing Closure
Chapter 6: Detailed Routing
17
Lienig
Estimation techniques need to be fast to optimize routing fast