2. Input to Routing Phase
• Netlist
• Timing budget for nets, typically for critical nets.
• Placement information including
location of blocks
locations of pins on the block boundary as well as
on top
• RC delay per unit length on each metal layer
• RC delay for each via
3. Objective
• Objective of routing depends upon nature of the chip.
General purpose chips
it is sufficient to minimize the total wire length
For high performance chips
it is important to route each net such that it meets
its timing budget.
Usually routing involves special treatment of typical Nets
clock nets, power and ground nets
These nets are routed separately by special routers
7. Classification of Global Routing
Algorithms
1.Sequential Approach
Two-terminal algorithms:
• i. Maze routing algorithms
• ii. Line-probe algorithms
• iii. Shortest path based algorithms
Multi-terminal algorithms:
• i. Steiner tree based algorithms
2.Concurrent Approach
8. THE LEE ALGORITHM
FOR MAZE ROUTING
• The Lee algorithm is a classical routing
technique.
• Lee introduced an algorithm for routing a two
terminal net on a grid in 1961.
• Maze routing algorithms are used to find a
path between a pair of points, called the
source(s) and the target(t)
9. Maze Routing - The Lee Algorithm
• Treat routing surface as a grid
• Algorithm Operation
– Wave propagation - starting with “source” terminal, label neighboring nodes
with shortest path back to source; stop when target reached
– Backtrace - follow shortest path from target back to source
– Cleanup - remove labels
S
T
N
N
10. Continued
Main points:
• the routing area is a grid of squares
• the goal is to connect all nets.
• a two-point connection is realized by
propagating a wave front from the source
terminal outwards until the target terminal is
reached.
11. Continued
• the shortest-connection is found by
backtracking from the target to the source.
• in the case of multi-terminal nets: first two
terminals are connected, this connection is
the target for the wave propagation from the
third terminal, etc.
• a routed net is an obstacle for the next nets
12.
13.
14.
15.
16.
17. Reducing Memory Requirement
• ˙ Akers's Observations (1967)
– Adjacent labels for k are either k-1 or k+1.
– Want a labeling scheme such that each label has its
preceding label different from its succeeding label.
• ˙Way 1: coding sequence 1, 2, 3, 1, 2, 3, …;
states: 1, 2, 3, empty, blocked
• ˙Way 2: coding sequence 1, 1, 2, 2, 1, 1, 2, 2, …;
states: 1, 2, empty, blocked
18.
19.
20.
21. Evaluation
• the algorithm always finds a connection if a
connection exists.
• for two-terminal nets, this connection is the
shortest possible; for multi-terminal nets the
connection need not be the shortest possible
• it can be generalized for multiple layers: wave
front expansion in three dimensions
• the quality of its result strongly depends on
the ordering of the nets.
22. • ˙Strengths
– Guarantee to find connection between 2
terminals if it exists.
– Guarantee minimum path.
• ˙Weaknesses
– Requires large memory for dense layout.
– Slow.
• ˙Applications:
– global routing, detailed routing.