Circuit Partitioning for Huge Logic Emulation Systems

Given a huge system represented at gate level, we propose an algorithm mapping the design into the minimum number of FPGAs for logic emulation. We first devise a Local Ratio-cut clustering scheme to reduce the circuit complexity. Then a Set Covering partitioning approach, utilizing the paradigm of Espresso II, is proposed to replace the widely adopted recursive partitioning paradigm. Experimental results show that our approach achieves significant improvement in a much shorter run time compared to the recursive Fiduccia-Mattheyses approach on large designs. For example, on a benchmark of 160K gates and 90K nets, we reduced the number of FPGAs required by 29% and reduced the run time by 78%.

[1]  Krzysztof Kozminski,et al.  Cost Minimization of Partitions into Multiple Devices , 1993, 30th ACM/IEEE Design Automation Conference.

[2]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[3]  Jaeseok Kim,et al.  An Efficient Method of Partitioning Circuits for Multiple-FPGA Implementation. , 1993, 30th ACM/IEEE Design Automation Conference.

[4]  Andrew B. Kahng,et al.  Geometric Embeddings for Faster and Better Multi-Way Netlist Partitioning , 1993, 30th ACM/IEEE Design Automation Conference.

[5]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[6]  Thomas Lengauer,et al.  Combinatorial algorithms for integrated circuit layout , 1990, Applicable theory in computer science.

[7]  Nan-Chi Chou The application of hierarchical trees to circuit partitioning, clock net routing, and connectivity verification problems , 1993 .

[8]  Frank Thomson Leighton,et al.  Improving the Performance of the Kernighan-Lin and Simulated Annealing Graph Bisection Algorithms , 1989, 26th ACM/IEEE Design Automation Conference.

[9]  Chung-Kuan Cheng,et al.  Ratio cut partitioning for hierarchical designs , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Martine D. F. Schlag,et al.  Spectral K-way ratio-cut partitioning and clustering , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[11]  David S. Johnson,et al.  Approximation algorithms for combinatorial problems , 1973, STOC.

[12]  Chung-Kuan Cheng,et al.  An improved two-way partitioning algorithm with stable performance [VLSI] , 1991, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[13]  Joseph Varghese,et al.  An efficient logic emulation system , 1993, IEEE Trans. Very Large Scale Integr. Syst..

[14]  R. M. Mattheyses,et al.  A Linear-Time Heuristic for Improving Network Partitions , 1982, 19th Design Automation Conference.

[15]  Jason Cong,et al.  A Parallel Bottom-up Clustering Algorithm with Applications to Circuit Partitioning in VLSI Design , 1993, 30th ACM/IEEE Design Automation Conference.

[16]  Jason Cong,et al.  Random walks for circuit clustering , 1991, [1991] Proceedings Fourth Annual IEEE International ASIC Conference and Exhibit.

[17]  Hans Jürgen Prömel,et al.  Finding clusters in VLSI circuits , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[18]  I. Adler,et al.  On the partitioning of graphs and hypergraphs , 1987 .