Delay optimization in signal routing
First Claim
Patent Images
1. A method for optimizing implementation of a logic design in a programmable logic device comprising:
- considering a first routing of the design in the programmable logic device;
determining at least one critical path resulting from the first routing;
selecting candidate connections not on the critical path;
identifying a common buffer through which at least a portion of the candidate connections can be routed; and
re-routing at least one of the candidate connections through the common buffer in order to reduce delay on the critical path.
1 Assignment
0 Petitions
Accused Products
Abstract
A delay optimization algorithm has four major steps: (1) selecting signal connections to target for delay improvement; (2) unrouting all signals containing those candidate connections; (3) rerouting those signals, using a “load-balancing”heuristic; and (4) during rip-up and re-try routing, protecting wiring to all signal loads routed by the heuristic, including non-timing critical loads. Load balancing includes (a) applying a branching penalty on logic cell output wire segments, and (b) encouraging all non-route critical loads to route through a single buffered wire segment.
49 Citations
23 Claims
-
1. A method for optimizing implementation of a logic design in a programmable logic device comprising:
-
considering a first routing of the design in the programmable logic device;
determining at least one critical path resulting from the first routing;
selecting candidate connections not on the critical path;
identifying a common buffer through which at least a portion of the candidate connections can be routed; and
re-routing at least one of the candidate connections through the common buffer in order to reduce delay on the critical path. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for laying out a logic design of elements, signals, and timing constraints, each signal comprising at least one connection from a source to a load, onto a device having logic blocks, wire segments, and means for connecting the wire segments to form routes, that comprises the steps of:
-
routing a set of connections;
saving the routed connections;
computing slack at each connection in the design;
identifying a subset of connections that are candidates for improvement;
unrouting all signals containing a connection in the subset; and
applying a load-balancing heuristic to reroute each signal that includes a connection in the subset. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A load-balancing heuristic for routing a signal in a programmable logic device including the following steps:
-
identifying a balance node;
unrouting all loads of a signal with a slack greater than a prespecified threshold and not routed through the balance node;
applying a branching penalty on all wire segments from a source of the signal to all other loads of the signal; and
rerouting the unrouted loads. - View Dependent Claims (23)
-
Specification