Place and route techniques for fpga architecture advancement

Efficient placement and routing algorithms play an important role in FPGA architecture research. Together, the place-and-route algorithms are responsible for producing a physical implementation of an application circuit on the FPGA hardware. The quality of the place-and-route algorithms has a direct bearing on the usefulness of the target FPGA architecture. The benefits of including powerful new features on an FPGA might be lost due to the inability of the place-and-route algorithms to fully exploit these features. Thus, the advancement of FPGA architectures relies heavily on the development of efficient place-and-route algorithms. The subject of this dissertation is the development of place and route techniques that could play an important role in FPGA architecture advancement. The work presented in this dissertation is divided into two topics: Architecture-Adaptive FPGA Placement. The first topic deals with the development of a universal placement algorithm (Independence) that adapts to the target FPGA architecture. We have successfully demonstrated Independence's adaptability to three different architectures. Our results also show that Independence is able to adapt to a class of routing-poor FPGA architectures. Pipelined Routing. The second topic focuses on the development of a routing algorithm (PipeRoute) that can be used to route application circuits on high-speed, pipelined FPGA architectures. In our experiments, PipeRoute was able to successfully route netlists on a coarse-grained pipelined architecture. The algorithm incurred a 20% overhead when compared to a realistic lower bound. We also used PipeRoute in an exploratory flow to find an architecture that was up to 19% better than a hand-architected pipelined architecture.

[1]  Charles M. Fiduccia,et al.  A linear-time heuristic for improving network partitions , 1988, 25 years of DAC.

[2]  Scott Hauck,et al.  Totem: Custom Reconfigurable Array Generation , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[3]  Vaughn Betz,et al.  Speed and area tradeoffs in cluster-based FPGA architectures , 2000, IEEE Trans. Very Large Scale Integr. Syst..

[4]  Tony Yau-Wai Wong,et al.  NON-RECTANGULAR EMBEDDED PROGRAMMABLE LOGIC CORES , 2002 .

[5]  André DeHon,et al.  Balancing interconnect and computation in a reconfigurable computing array (or, why you don't really want 100% LUT utilization) , 1999, FPGA '99.

[6]  Scott Hauck,et al.  Multi-FPGA systems , 1996 .

[7]  Carl Ebeling,et al.  PathFinder: A Negotiation-Based Performance-Driven Router for FPGAs , 1995, Third International ACM Symposium on Field-Programmable Gate Arrays.

[9]  Rob A. Rutenbar,et al.  Performance-driven simultaneous placement and routing for FPGA's , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Dinesh Bhatia,et al.  fGREP - Fast Generic Routing Demand Estimation for Placed FPGA Circuits , 2001, FPL.

[11]  Vaughn Betz,et al.  Timing-driven placement for FPGAs , 2000, FPGA '00.

[12]  Carl Ebeling,et al.  The Triptych FPGA architecture , 1995, IEEE Trans. Very Large Scale Integr. Syst..

[13]  Stephen Dean Brown,et al.  The case for registered routing switches in field programmable gate arrays , 2001, FPGA '01.

[14]  Nozomu Togawa,et al.  Maple-opt: a performance-oriented simultaneous technology mapping, placement, and global routing algorithm for FPGAs , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[15]  John Wawrzynek,et al.  The SFRA: a corner-turn FPGA architecture , 2004, FPGA '04.

[16]  Scott Hauck,et al.  Runtime and quality tradeoffs in FPGA placement and routing , 2001, FPGA '01.

[17]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[18]  Steven J. E. Wilton,et al.  Architectures and algorithms for synthesizable embedded programmable logic cores , 2003, FPGA '03.

[19]  Carl Sechen,et al.  VLSI Placement and Global Routing Using Simulated Annealing , 1988 .

[20]  Scott Hauck,et al.  The Chimaera reconfigurable functional unit , 1997, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[21]  Carl Ebeling,et al.  Exploration of pipelined FPGA interconnect structures , 2004, FPGA '04.

[22]  D. Bhatia,et al.  On metrics for comparing routability estimation methods for FPGAs , 2002, Proceedings 2002 Design Automation Conference (IEEE Cat. No.02CH37324).

[23]  Vaughn Betz,et al.  Architecture and CAD for Deep-Submicron FPGAS , 1999, The Springer International Series in Engineering and Computer Science.

[24]  John Wawrzynek,et al.  Post-placement C-slow retiming for the xilinx virtex FPGA , 2003, FPGA '03.

[25]  Carl Ebeling,et al.  PipeRoute: a pipelining-aware router for reconfigurable architectures , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[26]  C. Sechen,et al.  New algorithms for the placement and routing of macro cells , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[27]  Jean Vuillemin,et al.  A reconfigurable arithmetic array for multimedia applications , 1999, FPGA '99.

[28]  Carl Ebeling,et al.  PipeRoute: a pipelining-aware router for FPGAs , 2003, FPGA '03.

[29]  Yao-Wen Chang,et al.  An architecture-driven metric for simultaneous placement and global routing for FPGAs , 2000, DAC.

[30]  Majid Sarrafzadeh,et al.  Congestion estimation during top-down placement , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[31]  Seth Copen Goldstein,et al.  PipeRench: A Reconfigurable Architecture and Compiler , 2000, Computer.

[32]  Akshay Sharma Development of a Place and Route Tool for the RaPiD Architecture , 2002 .

[33]  Brian Von Herzen Signal processing at 250 MHz using high-performance FPGA's , 1997, FPGA '97.

[34]  Malgorzata Marek-Sadowska,et al.  Interconnect complexity-aware FPGA placement using Rent's rule , 2001, SLIP '01.

[35]  Chih-Liang Eric Cheng RISA: accurate and efficient placement routability modeling , 1994, ICCAD.

[36]  B. Von Herzen Signal processing at 250 MHz using high-performance FPGA's , 1998, IEEE Trans. Very Large Scale Integr. Syst..

[37]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[38]  Dirk Stroobandt,et al.  Towards an Extension of Rent's Rule for Describing Local Variations in Interconnection Complexity , 1995 .

[39]  Carl Ebeling,et al.  RaPiD - Reconfigurable Pipelined Datapath , 1996, FPL.

[40]  K. Bazargan,et al.  Fast timing-driven partitioning-based placement for island style FPGAs , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[41]  Marios C. Papaefthymiou Understanding retiming through maximum average-weight cycles , 1991, SPAA '91.

[42]  Joseph L. Ganley,et al.  Performance-oriented placement and routing for field-programmable gate arrays , 1995, Proceedings of EURO-DAC. European Design Automation Conference.

[43]  Narendra V. Shenoy,et al.  Efficient Implementation Of Retiming , 1994, IEEE/ACM International Conference on Computer-Aided Design.

[44]  J. MacQueen Some methods for classification and analysis of multivariate observations , 1967 .

[45]  Carl Ebeling,et al.  Architecture design of reconfigurable pipelined datapaths , 1999, Proceedings 20th Anniversary Conference on Advanced Research in VLSI.

[46]  Vaughn Betz,et al.  A fast routability-driven router for FPGAs , 1998, FPGA '98.

[47]  Jan M. Van Campenhout,et al.  Accurate Interconnection Length Estimations for Predictions Early in the Design Cycle , 1999, VLSI Design.

[48]  Stephen Dean Brown,et al.  Integrated retiming and placement for field programmable gate arrays , 2002, FPGA '02.

[49]  Scott Hauck,et al.  Flexible Routing Architecture Generation for Domain-Specific Reconfigurable Subsystems , 2002, FPL.

[50]  Charles E. Leiserson,et al.  Retiming synchronous circuitry , 1988, Algorithmica.

[51]  Klaus Eckl,et al.  Performance-directed retiming for FPGAs using post-placement delay information , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[52]  Ping-Tsung Wang,et al.  A simultaneous placement and global routing algorithm for an FGPA with hierarchical interconnection structure , 1996, 1996 IEEE International Symposium on Circuits and Systems. Circuits and Systems Connecting the World. ISCAS 96.