Packing Techniques for Virtex-5 FPGAs

Packing is a key step in the FPGA tool flow that straddles the boundaries between synthesis, technology mapping and placement. Packing strongly influences circuit speed, density, and power, and in this article, we consider packing in the commercial FPGA context and examine the area and performance trade-offs associated with packing in a state-of-the-art FPGA---the Xilinx® VirtexTM-5 FPGA. In addition to look-up-table (LUT)-based logic blocks, modern FPGAs also contain large IP blocks. We discuss packing techniques for both types of blocks. Virtex-5 logic blocks contain dual-output 6-input LUTs. Such LUTs can implement any single logic function of up to 6 inputs, or any two logic functions requiring no more than 5 distinct inputs. The second LUT output has reduced speed, and therefore, must be used judiciously. We present techniques for dual-output LUT packing that lead to improved area-efficiency, with minimal performance degradation. We then describe packing techniques for large IP blocks, namely, block RAMs and DSPs. We pack circuits into the large blocks in a way that leverages the unique block RAM and DSP layout/architecture in Virtex-5, achieving significantly improved design performance.

[1]  Li Shang,et al.  Dynamic power consumption in Virtex™-II FPGA family , 2002, FPGA '02.

[2]  Jason Cong,et al.  Delay optimal low-power circuit clustering for FPGAs with dual supply voltages , 2004, Proceedings of the 2004 International Symposium on Low Power Electronics and Design (IEEE Cat. No.04TH8758).

[3]  Chris C. N. Chu,et al.  RQL: Global Placement via Relaxed Quadratic Spreading and Linearization , 2007, 2007 44th ACM/IEEE Design Automation Conference.

[4]  Frank M. Johannes,et al.  Generic global placement and floorplanning , 1998, Proceedings 1998 Design and Automation Conference. 35th DAC. (Cat. No.98CH36175).

[5]  Vaughn Betz,et al.  Using cluster-based logic blocks and timing-driven packing to improve FPGA speed and density , 1999, FPGA '99.

[6]  Stephen D. Brown,et al.  Using logic duplication to improve performance in FPGAs , 2003, FPGA '03.

[7]  Alan Mishchenko,et al.  WireMap: FPGA technology mapping for improved routability , 2008, FPGA '08.

[8]  Vaughn Betz,et al.  Cluster-based logic blocks for FPGAs: area-efficiency vs. input sharing and size , 1997, Proceedings of CICC 97 - Custom Integrated Circuits Conference.

[9]  Qiang Wang,et al.  CAD Techniques for Power Optimization in Virtex-5 FPGAs , 2007, 2007 IEEE Custom Integrated Circuits Conference.

[10]  Mohamed I. Elmasry,et al.  LAP: a logic activity packing methodology for leakage power-tolerant FPGAs , 2005, ISLPED '05. Proceedings of the 2005 International Symposium on Low Power Electronics and Design, 2005..

[11]  Stephen Dean Brown,et al.  The effect of cluster packing and node duplication control in delay driven clustering , 2002, 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings..

[12]  Sinan Kaptanoglu,et al.  Improving FPGA Performance and Area Using an Adaptive Logic Module , 2004, FPL.

[13]  Jason Cong,et al.  Optimal simultaneous mapping and clustering for FPGA delay optimization , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[14]  Jonathan Rose,et al.  Measuring the Gap Between FPGAs and ASICs , 2007, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  Malgorzata Marek-Sadowska,et al.  Efficient circuit clustering for area and power reduction in FPGAs , 2002, TODE.

[16]  Jason Helge Anderson,et al.  Architecture-specific packing for virtex-5 FPGAs , 2008, FPGA '08.