21 October 2007


Routing flow is shown in the Figure (1).

Figure (1) Routing flow [1]

Routing is the process of creating physical connections based on logical connectivity. Signal pins are connected by routing metal interconnects. Routed metal paths must meet timing, clock skew, max trans/cap requirements and also physical DRC requirements.

In grid based routing system each metal layer has its own tracks and preferred routing direction which are defined in a unified cell in the standard cell library.

There are four steps of routing operations:

1. Global routing
2. Track assignment
3. Detail routing
4. Search and repair

Global Route assigns nets to specific metal layers and global routing cells. Global route tries to avoid congested global cells while minimizing detours. Global route also avoids pre-routed P/G, placement blockages and routing blockages.

Track Assignment (TA) assigns each net to a specific track and actual metal traces are laid down by it. It tries to make long, straight traces to avoid the number of vias. DRC is not followed in TA stage. TA operates on the entire design at once.

Detail Routing tries to fix all DRC violations after track assignment using a fixed size small area known as “SBox”. Detail route traverses the whole design box by box until entire routing pass is complete.

Search and Repair fixes remaining DRC violations through multiple iterative loops using progressively larger SBox sizes.


[1] Astro User Guide, Version X-2005.09, September 2005

Related Articles


  1. I have the pleasure to include your blog as a must read on my blog. It would be great if you can reciprocate by linking back to my blog, which i think will mutually help us in reaching a wider audience with our information.

    Thanks for your understanding.

  2. ya... sure...... i will do that...

  3. hi i havent understood, Global track and detail assignment, could u please explain it more clearer

  4. hi there ....
    I am new to physical design layout field.
    Can someone help to undertand the layer model connectivity in 3D , i.e how vias are stacked and how layers are connected with other, so if u have some information please do share with me

  5. there is a query regarding global routing:
    Why the number of Gcell on each metal layer is same?

    1. The number of Gcells remains the same because all the layers are geometrically divided into a Grid. Each grid is further subdivided into S-box (Switch boxes) (Like a sudoku grid http://news.nd.edu/assets/80986/sudoku300.jpg)

      Global Routing is for initial routing between switch boxes. Then when it goes to detail routing -the router routes inside each of these switch boxes.

  6. please can u explain in detail what is Gcells and how the routing happens [all three types of routing i.e global routing, track assignment ,detail routing]


Your Comments... (comments are moderated)