Patent ID: 8671379

Claim:
Within a system comprising a plurality of processors and a memory, a method of determining routing information for a circuit design for implementation within an integrated circuit, the method comprising: determining that nets of the circuit design comprise overlap; unrouting the nets of the circuit design comprising overlap; determining a congestion picture comprising costs of routing resources for the programmable integrated circuit, wherein the cost of a routing resource comprises a measure of historical congestion and a measure of current congestion, and wherein unrouted nets do not contribute to the measures of current congestion in the congestion picture; concurrently routing a plurality of the unrouted nets, via the plurality of processors executing in parallel, according to the congestion picture; and storing routing information specifying routes for nets of the circuit design in the memory; wherein: the measure of current congestion is one plus a product of a share penalty and a number of contenders term; the number of contenders term is zero for a routing resource not used as part of a net from the unrouting; and cost of a routing resource comprises the measure of current congestion multiplied by the historical congestion.