Transcript What Makes a Design Difficult to Route
What Makes a Design Difficult to Route
Charles J. Alpert, Zhuo Li, Michael D. Moffitt, Gi-Joon Nam, Jarrod A. Roy, Gustavo Tellez Presented by Zhicheng Wei VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 1
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 CONCLUSION VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 2
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
All of these problems make routing hard to model and lead to huge congestion issues!
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 3
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 Over-the-cell routing breaks traditional channel/switchbox model VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 4
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 Routing runtimes VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 5
What Makes a Design Difficult to Route
COMMON CONGESTION METRICS Total Overflow VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 6
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 impose scenic constrains on the router VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 7
What Makes a Design Difficult to Route
DETAILED ROUTING CONSTRAINTS Prediction failure in global routing hot sports predicted by global routing may not be open and shorts in detailed routing VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 8
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 Via modeling becomes non-trivial, esp with different metal pitches VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 9
What Makes a Design Difficult to Route
PLACEMENT TECHNIQUES
Congestion caused by time-driven placement
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 10
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! Consider congestion-driven placement
VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 11
What Makes a Design Difficult to Route
PLACEMENT TECHNIQUES 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
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 wirelength is minimized and congestion alleviated VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 13
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) Aggressive layer promotion (fewer resources at higher metal layer) VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 14
What Makes a Design Difficult to Route
Aggressive Layer Promotion VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 15
What Makes a Design Difficult to Route
Corona Effect VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 16
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 Estimation techniques need to be fast to optimize routing fast VLSI Physical Design: From Graph Partitioning to Timing Closure Chapter 6: Detailed Routing 17