In this article, we have explored the concept of detailed routing in VLSI Physical Design, an essential step in the overall design flow that ensures efficient signal connectivity while optimizing chip area and performance. We begin by discussing the various routing techniques used in modern VLSI design, along with the significance of horizontal and vertical constraints in determining routing feasibility. The video further delves into zone representation and the Horizontal & Vertical Constraint Graph, which are crucial for structuring the routing process systematically. Additionally, we cover different routing methodologies, including channel routing techniques such as the Left Edge Algorithm and Dogleg Routing, as well as switchbox routing and Over-The-Cell (OTC) routing, explaining both the algorithm and methodology behind OTC routing. Finally, we address the modern challenges faced in detailed routing, highlighting the complexities and evolving strategies required to meet the demands of advanced semiconductor technologies.
Design Flow and Detailed Routing:
In VLSI , routing is a crucial step that connects the various components on a chip. It involves determining the paths for electrical connections, which are implemented through metal layers on the chip. Routing is divided into three major stages:
(i) Global, (ii) Detailed & (iii) Specialized Routing.
The layout region is represented during global routing using a coarse grid of global routing cells (gcells) or more general routing regions (channels, switchboxes). After global routing, each net undergoes detailed routing. Objective of detailed routing: Assign route segments of signal nets to specific routing tracks, vias, and metal layers while following global routes and design rules.
Key advantage:
(a) Detailed routing of one gcell can be performed independently as long as routes remain connected across neighboring gcells.
(b) This enables an efficient divide-and-conquer strategy and supports parallel algorithms, allowing detailed routing runtime to theoretically scale linearly with layout size.
(c) Traditional detailed routing occurs within routing regions such as channels and switch boxes. Modern designs use over-the-cell (OTC) routing , allowing routing over standard cells.
Due to technology scaling, modern detailed routers must consider manufacturing rules and the impact of manufacturing faults.
Different Routing Techniques :
i. Channel Routing : Type of detailed routing where connections between terminal pins are routed within a channel with no obstacles. Pins are located on opposite sides of the channel .Conventionally, the channel is oriented horizontally, with pins on the top and bottom. In row-based layouts, routing channels typically have uniform width. In gate-array and standard-cell circuits with more than three metal layers, channel height (number of routing tracks) is also uniform.
ii .Switchbox Routing : Used when pin locations are on all four sides of a fixed-size routing region. More complex than channel routing due to additional constraints. OTC (Over-The-Cell) Routing : Utilizes additional metal tracks (e.g., Metal3, Metal4) that are not obstructed by cells. Allows routes to cross over cells and channels. Only metal layers and tracks not occupied by cells can be used. When cells use only polysilicon and Metal1, routing can be performed on Metal2, Metal3, etc., and unused Metal1 resources.
iii. Classical Channel Routing : Routing area is a rectangular grid with pin locations on top and bottom boundaries. Pins are placed on vertical grid lines or columns. Channel height depends on the number of tracks needed to route all nets. In two-layer routing, one layer is reserved for horizontal tracks while other layer is reserved for vertical tracks. Preferred routing direction is determined by floorplan and standard-cell row orientation.
Horizontal & Vertical Constraint:
1. Horizontal Constraint :
A horizontal constraint between two nets occurs when their horizontal segments overlap while being placed on the same track. In the example shown includes one horizontal and one vertical routing layer, nets B and C are horizontally constrained. If the horizontal segments of two nets do not overlap, they can be assigned to the same track without constraints for instance, nets A and B.
2. Vertical Constraint :

A vertical constraint between two nets occurs when they have pins in the same column. This means that the vertical segment extending from the top must stop within a short distance to avoid overlapping with the vertical segment coming from the bottom in the same column. If each net is assigned to a single horizontal track, the horizontal segment of a net from the top must be placed above that of a net from the bottom in the same column. In Fig. , this constraint ensures that net A’s horizontal segment is placed above net B’s. To resolve these constraints, at least three columns are needed to separate the two nets. While a vertical constraint implies a horizontal constraint, the reverse is not always true. However, both constraints must be considered when assigning segments within a channel.
Zone Representation :
In a channel, each horizontal wire segment must extend at least from the leftmost to the rightmost pin of its net. Let S(col) represent the set of nets passing through column col. This includes nets that either (1) have a pin in col or (2) connect to pins on both sides of col. Since horizontal segments cannot overlap, each net in S(col) must be assigned a separate track within that column. However, not all columns are necessary to define the entire channel. If a column i has a net set S(i) that is a subset of another column j (i.e., S(i) ⊆ S(j)), then S(i) can be ignored as it imposes fewer constraints on routing. In the above fig , every S(col) is a subset of at least one of S(c), S(f), S(g), or S(i). These columns (c,f, g, and i) form the minimal set needed, as they collectively include all nets. The relative positions of nets in a channel routing instance, defined by horizontal and vertical constraints, can be represented using horizontal and vertical constraint graphs. These graphs help to: (1) estimate the minimum number of tracks needed , (2) identify potential routing conflicts.
Horizontal & Vertical Constraint Graph:
1. Horizontal Constraint Graph :
A graphical representation can be used to depict the nets within a channel. This can be done using a Horizontal Constraint Graph (HCG), where: nodes (V) represent the nets in the netlist. Edges (E) exist between two nodes if their corresponding nets belong to the same set S(col), meaning they are horizontally constrained.
Fig. (iv) shows the HCG for the channel routing example in Fig.(iii). The minimum number of tracks required for channel routing can be determined using either the HCG or the zone representation. This minimum is given by the largest S(col) set.
2. Vertical Constraint Graph :
Another approach introduces channels between cells, but routing within them is limited to internal layers like Poly and Metal1. Higher metal layers (Metal2, Metal3) handle most routing, making traditional routing channels unnecessary. Instead, routing occurs across the entire chip rather than in defined channels or switchboxes . Watch the video lecture here:
Courtesy : Image by www.pngegg.com




























