Two-stage physical synthesis for FPGAs

This paper presents an overview of an industrial physical synthesis CAD flow for FPGAs. The flow provides a performance speedup of 10%-15% for most circuits, and a significant number of circuits show a speedup of 20%-180%. We describe the algorithms used to achieve this result including: incremental retiming, BDD-based resynthesis, local rewiring, and logic replication. The effectiveness of these operations depends on the ability to accurately determine which portions of logic are timing critical at a stage of the CAD flow where there is still freedom to perform logic restructuring. We show how this problem can be effectively solved by inserting prediction and restructuring operations at multiple points of the FPGA CAD flow.

[1]  Vaughn Betz,et al.  The Stratix II logic and routing architecture , 2005, FPGA '05.

[2]  Charles E. Leiserson,et al.  Optimizing synchronous systems , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[3]  Massoud Pedram,et al.  OBDD-based function decomposition: algorithms and implementation , 1996, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Jonathan Rose,et al.  Mixing buffers and pass transistors in FPGA routing architectures , 2001, FPGA '01.

[5]  Richard Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, ICCAD.

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

[7]  Valavan Manohararajah,et al.  Timing Driven Functional Decomposition for FPGAs , 2005 .

[8]  Peter Suaris,et al.  A Methodology and Algorithms for Post-Placement Delay Optimization , 1994, 31st Design Automation Conference.

[9]  Stephen D. Brown,et al.  Incremental placement for layout-driven optimizations on FPGAs , 2002, IEEE/ACM International Conference on Computer Aided Design, 2002. ICCAD 2002..

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

[11]  Frank M. Johannes,et al.  Timing driven placement in interaction with netlist transformations , 1997, ISPD '97.

[12]  Youn-Long Lin,et al.  Layout-based logic decomposition for timing optimization , 1999, Proceedings of the ASP-DAC '99 Asia and South Pacific Design Automation Conference 1999 (Cat. No.99EX198).

[13]  Klaus Eckl,et al.  A practical approach to multiple-class retiming , 1999, DAC '99.

[14]  Jason Cong,et al.  Placement-driven technology mapping for LUT-based FPGAs , 2003, FPGA '03.

[15]  Youn-Long Lin,et al.  Integrating logic retiming and register placement , 1998, ICCAD '98.

[16]  Stephen Dean Brown,et al.  Incremental retiming for FPGA physical synthesis , 2005, Proceedings. 42nd Design Automation Conference, 2005..

[17]  Robert B. Hitchcock,et al.  Timing Analysis of Computer Hardware , 1982, IBM J. Res. Dev..

[18]  Massoud Pedram,et al.  Layout driven logic restructuring/decomposition , 1991, 1991 IEEE International Conference on Computer-Aided Design Digest of Technical Papers.

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

[20]  Vaughn Betz,et al.  The stratixπ routing and logic architecture , 2003, FPGA '03.

[21]  Malgorzata Marek-Sadowska,et al.  Post-layout Logic Restructuring For Performance Optimization , 1997, Proceedings of the 34th Design Automation Conference.

[22]  Zvonko G. Vranesic,et al.  Post-Placement Functional Decomposition for FPGAs , 2004 .

[23]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[24]  Stephen Dean Brown,et al.  Constrained clock shifting for field programmable gate arrays , 2002, FPGA '02.