Simultaneous placement with clustering and duplication

Clustering, duplication, and placement are critical steps in a cluster-based FPGA design flow. Clustering has a great impact on the wirelength, timing, and routability of a circuit. Logic duplication is an effective method for improving performance while maintaining the logic equivalence of a circuit. Based on several novel algorithmic contributions, we present an efficient and effective algorithm named SPCD (simultaneous placement with clustering and duplication) which performs clustering and duplication during placement for wirelength and timing minimization. First, we incorporate a path counting-based net weighting scheme for more effective timing optimization. Secondly, we introduce a novel method of moving a fragment of a cluster (called a fragment level move) during placement to optimize the clustering structure. To reduce the critical path detour during legalization from a more global perspective, we also introduce the notions of a monotone region and a global monotone region in which improvement to the local/global path detour is guaranteed. Furthermore, we introduce a notion of a constrained gain graph to embed all complex FPGA clustering constraints, and implement an optimal incremental legalization algorithm under such constraints. Finally, in order to reduce the circuit area, we formulate a timing-constrained global redundancy removal problem and propose a heuristic solution. Our SPCD algorithm outperforms a widely used academic FPGA placement flow, T-VPack + VPR, with an average reduction of 31% in the longest path estimate delay and 18% in the routed delay. We also apply our SPCD algorithm to Altera's Stratix architecture in a commercial FPGA implementation flow (Quartus II 4.0). The routed result achieved by our SPCD algorithm outperforms VPR by 20% and outperforms Quartus II 4.0 by 4%.

[1]  Robert K. Brayton,et al.  SIS : A System for Sequential Circuit Synthesis Electronics Research Laboratory Memorandum , 1992 .

[2]  P. R. Stephan,et al.  SIS : A System for Sequential Circuit Synthesis , 1992 .

[3]  Jason Cong,et al.  FlowMap: an optimal technology mapping algorithm for delay optimization in lookup-table based FPGA designs , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[4]  Chung-Kuan Cheng,et al.  Algorithms for optimal introduction of redundant logic for timing and area optimization , 1996, 1996 IEEE International Symposium on Circuits and Systems. Circuits and Systems Connecting the World. ISCAS 96.

[5]  Vaughn Betz,et al.  VPR: A new packing, placement and routing tool for FPGA research , 1997, FPL.

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

[7]  Jason Cong,et al.  Simultaneous circuit partitioning/clustering with retiming for performance optimization , 1999, DAC '99.

[8]  Dominik Stoffel,et al.  Cell replication and redundancy elimination during placement for cycle time optimization , 1999, 1999 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (Cat. No.99CH37051).

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

[10]  Sung-Woo Hur,et al.  Mongrel: hybrid techniques for standard cell placement , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[11]  Ankur Srivastava,et al.  Timing driven gate duplication: complexity issues and algorithms , 2000, IEEE/ACM International Conference on Computer Aided Design. ICCAD - 2000. IEEE/ACM Digest of Technical Papers (Cat. No.00CH37140).

[12]  Tim (Tianming) Kong A novel net weighting algorithm for timing-driven placement , 2002, ICCAD 2002.

[13]  John Lillis,et al.  Timing optimization of FPGA placements by logic replication , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[14]  Jason Cong,et al.  Simultaneous Timing Driven Clustering and Placement for FPGAs , 2004, FPL.

[15]  Jason Cong,et al.  Simultaneous timing-driven placement and duplication , 2005, FPGA '05.

[16]  Milos Hrkic,et al.  An Approach to Placement-Coupled Logic Replication , 2006, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.