A computer-implemented method for computing a global routability estimation across a collection of local routing regions associated with a circuit layout, the method comprising performing the following operations for the collection of local routing regions in the circuit layout: selecting a first local routing region with a route overflow k in a routing direction d, the overflow being defined as the excess demand for available tracks compared to the overall capacity of the local routing region; searching for a second local routing region such that the second local routing region has an excess capacity of at least k in a routing layer whose preferred routing direction is d, and local routing regions along a route from the first routing region to the second routing region have an excess capacity of at least k in a routing layer whose preferred routing direction is d; if the second local routing region is found, decreasing the route overflow of the first local routing region by k, decreasing the excess capacity of the second local routing region by k, and decreasing the excess capacity of local routing regions along a route from the first routing region to the second routing region by k; if the second local routing region is not found, searching for a third local routing region such that, for a constant n greater than 1, the third local routing region has an excess capacity of at least n × k in a routing layer whose non-preferred routing direction is d, and local routing regions along a route from the first routing region to the third routing region have an excess capacity of at least n × k in a routing layer whose non-preferred routing direction is d; and if the third local routing region is found, decreasing the route overflow of the first local routing region by k, decreasing the excess capacity of the third local routing region by n × k, and decreasing the excess capacity of local routing regions along a route from the first routing region to the third routing region by n × k; and computing a global routability estimation based on the route overflows of the collection of local routing regions. selecting a first local routing region with a route overflow k in a routing direction d, the overflow being defined as the excess demand for available tracks compared to the overall capacity of the local routing region; searching for a second local routing region such that the second local routing region has an excess capacity of at least k in a routing layer whose preferred routing direction is d, and local routing regions along a route from the first routing region to the second routing region have an excess capacity of at least k in a routing layer whose preferred routing direction is d; if the second local routing region is found, decreasing the route overflow of the first local routing region by k, decreasing the excess capacity of the second local routing region by k, and decreasing the excess capacity of local routing regions along a route from the first routing region to the second routing region by k; if the second local routing region is not found, searching for a third local routing region such that, for a constant n greater than 1, the third local routing region has an excess capacity of at least n × k in a routing layer whose non-preferred routing direction is d, and local routing regions along a route from the first routing region to the third routing region have an excess capacity of at least n × k in a routing layer whose non-preferred routing direction is d; and if the third local routing region is found, decreasing the route overflow of the first local routing region by k, decreasing the excess capacity of the third local routing region by n × k, and decreasing the excess capacity of local routing regions along a route from the first routing region to the third routing region by n × k; and computing a global routability estimation based on the route overflows of the collection of local routing regions.