FPGA placement using space-filling curves: Theory meets practice

  • Authors:
  • Pritha Banerjee;Susmita Sur-Kolay;Arijit Bishnu;Sandip Das;Subhas C. Nandy;Subhasis Bhattacharjee

  • Affiliations:
  • Indian Statistical Institute, Kolkata, India;Indian Statistical Institute, Kolkata, India;Indian Statistical Institute, Kolkata, India;Indian Statistical Institute, Kolkata, India;Indian Statistical Institute, Kolkata, India;Synopsis Pvt. Ltd., India

  • Venue:
  • ACM Transactions on Embedded Computing Systems (TECS)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Research in VLSI placement, an NP-hard problem, has branched in two different directions. The first one employs iterative heuristics with many tunable parameters to produce a near-optimal solution but without theoretical guarantee on its quality. The other one considers placement as a graph-embedding problem and designs approximation algorithms with provable bounds on the quality of the solution. In this article, we aim at unifying the above two directions. First, we extend the existing approximation algorithms for graph embedding in 1D and 2D grid to those for hypergraphs, which typically model circuits to be placed on a FPGA. We prove an approximation bound of O(d &sqrt;log n log log n) for 1D, that is, linear arrangement and O(d log n log log n) for the 2D grid, where d is the maximum degree of hyperedges and n, the number of vertices in the hypergraph. Next, we propose an efficient method based on linear arrangement of the CLBs and the notion of space-filling curves for placing the configurable logic blocks (CLBs) of a netlist on island-style FPGAs with an approximation guarantee of O(4&sqrt;log n &sqrt;kd log log n), where k is the number of nets. For the set of FPGA placement benchmarks, the running time is near linear in the number of CLBs thus allowing for scalability towards large circuits. We obtained a 33× speed-up, on average, with only 1.31× degradation in the quality of the solution compared to that produced by the popular FPGA tool VPR, thereby demonstrating the suitability of this very fast method for FPGA placement, with a provable performance guarantee.