Timing Driven Functional Decomposition for FPGAs

This work explores the effect of adding a timing driven functional decomposition step to the traditional field programmable gate array (FPGA) CAD flow. Once placement has completed, alternative decompositions of the logic on the critical path are examined for potential delay improvements. The placed circuit is then modified to use the best decompositions found. Any placement illegalities introduced by the new decompositions are resolved by an incremental placement step. Experiments conducted on Altera’s Stratix and Stratix II device families indicate that this functional decomposition technique can provide average performance improvements of 6.1% and 5.6% on a large set of industrial designs, respectively.

[1]  H. Allen Curtis A Generalized Tree Circuit , 1961, JACM.

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

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

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

[5]  Maciej J. Ciesielski,et al.  BDS: a BDD-based logic optimization system , 2000, DAC.

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

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

[8]  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).

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

[10]  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..

[11]  Russell Tessier,et al.  BDD-based logic synthesis for LUT-based FPGAs , 2002, TODE.

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

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

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

[15]  Sze-Tsen Hu ON THE DECOMPOSITION OF SWITCHING FUNCTIONS , 1961 .

[16]  Klaus Eckl,et al.  A Boolean approach to performance-directed technology mapping for LUT-based FPGA designs , 1996, DAC '96.

[17]  Hiroshi Sawada,et al.  Logic Synthesis for Look-Up Table Based FPGAs Using Functional Decomposition and Boolean Resubstitution (Special Issue on Synthesis and Verification of Hardware Design) , 1997 .

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

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

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

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