260 likes | 601 Views
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation. Seokjin Lee * , D. F. Wong + * Dept. of Electrical and Computer Engineering + Dept. of Computer Sciences The University of Texas at Austin. Outline. Overview Introduction FPGA Architecture, Routing resources
E N D
Timing-Driven Routing for FPGAs Based on Lagrangian Relaxation Seokjin Lee*, D. F. Wong+ *Dept. of Electrical and Computer Engineering +Dept. of Computer Sciences The University of Texas at Austin
Outline • Overview • Introduction • FPGA Architecture, Routing resources • FPGA routing problem • Problem Formulation • Routing graphs and Timing graphs • Algorithm Description • Lagrangian Relaxation • LR_ROUTE, NET_ROUTE • Experimental Results • Conclusion
Overview • A new timing-driven routing algorithm for FPGAs • Find a routing with minimum critical path delay for a given placed circuit. • Handling of the timing constraints in a mathematical programming framework. • Routing results are compared with those of VPR router.
FPGA Architecture • Logic modules • Implements logic functions • LUTs, flip-flops • Routing resources • Wire segments • Programmable switches • I/O modules <A typical FPGA architecture>
FPGA Routing Resources • Prefabricated wire segments • Routing constraints : Sharing of a wire segments by different nets is not possible • Limited Routability • High RC delays and large area of switches
Routing Graph Gr (Vr , Er) • Vr : I/O pins of logic modules, wire segments • Er : feasible connections between the nodes • Routing problem: Find vertex disjoint trees T={T1,…Tn}
Timing Constraints • Source-to-sink delays of nets • Delay of wire-switch chains • Calculated from architecture specific RC values based on Elmore delay model • Timing constraints • Specified by arrival times at primary inputs (outputs of storage elements) or required times at primary outputs (inputs of storage elements)
Timing Graph Gt (Vt , Et) • Constructed from input netlist • Captures timing constraints • Vt : inputs, outputs, logic module pins • Et : source-sink pairs of nets, input-output pairs of logic modules • Fictitious nodes s : connects primary inputs, t : connects primary outputs
Timing-Driven FPGA Routing • Minimization of critical path delay under timing and routing constraints • Find vertex disjoint routing trees T = {T1, …, Tn} for all the nets such that Minimize subject to
Lagrangian Relaxation • General technique for solving optimization problems with difficult constraints • Lagrangian subproblems • New objective function: adding constraints to the original objective function after multiplied by constants (Lagrangian multipliers) • Iteratively update Lagrangian multipliers and solve Lagrangian subproblems
Lagrangian Relaxation Original problem Lagrangian subproblem
LR for Our Problem Original problem Lagrangian subproblem
Optimality Conditions • Optimality conditions on • By rearranging terms,
Simplified Lagrangian Subproblem Optimality conditions on Lagrangian subproblem becomes
Updating Lagrangian Multipliers Subgradient Method : stepsize
LR_ROUTE • Initialize • Call NET_ROUTE to solve LS() • Computefor each • Update for each • Repeat Steps 2-4 until no shared resource exists.
Solving Lagrangian Subproblem • NET_ROUTE • Find routing trees T for a set of given multipliers such that Minimize subject to where
Routing Nets • For net k, • Cost for each node:
NET_ROUTE • For each net k • Rip up routing for net k • for each sink v of net k • Maze route from source to sink with cost • Update for all nodes in
Experimental Results • FPGA model used • Symmetrical-array-based FPGA • Each logic block contains four 4-input LUTs and flip-flops • Switch connections: Fs = 3, Fc = W Fs: number of connectionsper wire entering the switch box Fc : number of tracks to which each logic block pin can connect W : number of tracks in a channel
Experimental Results • Tested on large circuits from MCNC benchmark • Routing with fixed channel width • Minimum channel width obtained by running VPR in timing-driven mode • Better results for 13 circuits (out of 17) • Critical path delay improved up to 33% with comparable runtime
Experimental Results • Critical path delay and runtime comparison
Conclusion • A new timing-driven routing algorithm for FPGAs • Find a routing with minimum critical path delay for a given placed circuit. • Handling of the timing constraints by Lagrangian relaxation. • Routing results are better than those of VPR router.